Jump to content
  • 0

Problema


Users

Question

1: Trebuie sa'ti seteze si un pVar, banuiesc eu :)

Deci...

Cauta enum-ul si adauga pBotezat undeva acolo

Pawno Code: [select]

enum pInfo

{ .

.

.

.

pBotezat,

.

.

.

}

Dupa care adaugi urmatorul lucru in OnPlayerRegister si OnPlayerSave:

Pawno Code: [select]

format(var, 32, "Botezat=%d\n",PlayerInfo[playerid][pBotezat]);fwrite(hFile, var);

In OnPlayerLogin:

Pawno Code: [select]

if( strcmp( key , "Botezat" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pBotezat] = strvalEx( val ); }

Bun, acum sa trecem la comanda.

Pawno Code: [select]

if(strcmp(cmd, "/boteaza", true) == 0)

{

    if(IsPlayerConnected(playerid))

    {

    if(PlayerInfo[playerid][pLeader] != 20)

    {

SendClientMessage(playerid, COLOR_GREY, "Nu esti un preot !");

return 1;

    }

tmp = strtok(cmdtext, idx);

if(!strlen(tmp))

{

SendClientMessage(playerid, COLOR_WHITE, "Format corect: /boteaza [playerid] [pret]");

return 1;

}

new pretbotez;

giveplayerid = ReturnUser(tmp);

tmp = strtok(cmdtext, idx);

if(!strlen(tmp))

{

SendClientMessage(playerid, COLOR_WHITE, "Format corect: /boteaza [playerid] [pret]");

return 1;

}

pretbotez = strvalEx(tmp);

if(pretbotez < 1000 || pretbotez > 10000) { SendClientMessage(playerid, COLOR_GREY, "Pretul nu poate fi mai putin de $1000 sau mai mult de $10.000 !"); return 1; }

if(PlayerInfo[giveplayerid][pBotezat] == 1) { SendClientMessage(playerid, COLOR_GREY, "Acest om este deja boteazat!"); return 1; }

if(IsPlayerConnected(giveplayerid))

{

    if(giveplayerid != INVALID_PLAYER_ID)

    {

        if(ProxDetectorS(8.0, playerid, giveplayerid))

{

    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Nu te poti boteaza pe tine insuti!"); return 1; }

    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));

GetPlayerName(playerid, sendername, sizeof(sendername));

    format(string, sizeof(string), "* L-ai botezat pe %s pentru suma de $%d.", giveplayer, pretbotez);

SendClientMessage(playerid, COLOR_LIGHTBLUE, string);

format(string, sizeof(string), "* Ai fost botezat de catre preotul %s pentru suma de $%d.", sendername, pretbotez);

SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);

PlayerInfo[pBotezat] = 1;

}

else

{

    SendClientMessage(playerid, COLOR_GREY, "  Acest player nu este aproape de tine !");

}

}

}

else

{

    SendClientMessage(playerid, COLOR_GREY, " Acest player nu este conectat !");

}

}

return 1;

}

Cam atat cu prima intrebare.

A doua....in head-ul scriptului adauga asta:

Pawno Code: [select]

new FactSkins20[6][1] = { // Skinurile factiunii de preoti

{1},{141},{118},{83},{73},{68}

};

Comanda ar fi urmatoarea:

Pawno Code: [select]

if(strcmp(cmd, "/haine", true) == 0)

{

    if(IsPlayerConnected(playerid))

    {

        if(PlayerInfo[playerid][pMember] >= 1 || )

        {

            if(IsAtClothShop(playerid))

{

    if(PlayerInfo[playerid][pMember] == 1) { ChosenSkin[playerid] = 280; SetPlayerSkin(playerid, 280); }

else if(PlayerInfo[playerid][pMember] == 2) { ChosenSkin[playerid] = 286; SetPlayerSkin(playerid, 286); }

else if(PlayerInfo[playerid][pMember] == 3) { ChosenSkin[playerid] = 287; SetPlayerSkin(playerid, 287); }

else if(PlayerInfo[playerid][pMember] == 4) { ChosenSkin[playerid] = 70; SetPlayerSkin(playerid, 70); }

else if(PlayerInfo[playerid][pMember] == 5) { ChosenSkin[playerid] = 117; SetPlayerSkin(playerid, 117); }

else if(PlayerInfo[playerid][pMember] == 6) { ChosenSkin[playerid] = 111; SetPlayerSkin(playerid, 111); }

else if(PlayerInfo[playerid][pMember] == 8) { ChosenSkin[playerid] = 249; SetPlayerSkin(playerid, 249); }

else if(PlayerInfo[playerid][pMember] == 9) { ChosenSkin[playerid] = 148; SetPlayerSkin(playerid, 148); }

else if(PlayerInfo[playerid][pMember] == 10) { ChosenSkin[playerid] = 255; SetPlayerSkin(playerid, 255); }

else if(PlayerInfo[playerid][pMember] == 11) { ChosenSkin[playerid] = 59; SetPlayerSkin(playerid, 59); }

else if(PlayerInfo[playerid][pMember] == 12) { ChosenSkin[playerid] = 240; SetPlayerSkin(playerid, 240); }

else if(PlayerInfo[playerid][pMember] == 14) { ChosenSkin[playerid] = 117; SetPlayerSkin(playerid, 117); }

  else if(PlayerInfo[playerid][pMember] == 15) { ChosenSkin[playerid] = 107; SetPlayerSkin(playerid, 107); }

else if(PlayerInfo[playerid][pMember] == 16) { ChosenSkin[playerid] = 48; SetPlayerSkin(playerid, 48); }

                    else if(PlayerInfo[playerid][pMember] == 17) { ChosenSkin[playerid] = 110; SetPlayerSkin(playerid, 110); }

                    else if(PlayerInfo[playerid][pMember] == 18) { ChosenSkin[playerid] = 102; SetPlayerSkin(playerid, 102); }

                    else if(PlayerInfo[playerid][pMember] == 19) { ChosenSkin[playerid] = 206; SetPlayerSkin(playerid, 206); }

                    else if(PlayerInfo[playerid][pMember] == 20) { ChosenSkin[playerid] = 68; SetPlayerSkin(playerid, 68); }

else { return 1; }

GetPlayerPos(playerid, ChangePos[playerid][0],ChangePos[playerid][1],ChangePos[playerid][2]);

ChangePos2[playerid][0] = GetPlayerInterior(playerid);

ChangePos2[playerid][1] = 1;

    SetPlayerInterior(playerid,0);

//new rand = random(sizeof(gInviteSpawns));

/*

SetPlayerInterior(playerid, 18);

            SetPlayerPos(playerid, 181.7410,-87.4888,1002.0234);

                SetPlayerFacingAngle(playerid, 128.0);

                SetPlayerCameraPos(playerid, 178.2804,-89.5319,1003.0234);

                SetPlayerCameraLookAt(playerid, 181.7410,-87.4888,1002.0234);

                */

//SetPlayerPos(playerid, gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]); // Warp the player

//SetPlayerFacingAngle(playerid, gInviteSpawns[rand][3]);

//SetPlayerCameraPos(playerid,gInviteSpawns[rand][0] + 3, gInviteSpawns[rand][1], gInviteSpawns[rand][2]);

//SetPlayerCameraLookAt(playerid,gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]);

TogglePlayerControllable(playerid, 0);

SelectChar[playerid] = 255;

SelectCharID[playerid] = PlayerInfo[playerid][pMember];

SelectCharPlace[playerid] = 1;

PlayerInfo[playerid][pModel] = ChosenSkin[playerid];

    PlayerInfo[playerid][pChar] = ChosenSkin[playerid];

    SendClientMessage(playerid, COLOR_LIGHTRED, "* Scrie 'next' pentru a cauta haine.");

    SendClientMessage(playerid, COLOR_LIGHTRED, "* Cand ai gasit haina potrivita scrie 'done'.");

SetPlayerFacingAngle(playerid,270);

SetPlayerPos(playerid,258.1813,-41.5929,1002.0234);

SetPlayerInterior(playerid,14);

SetPlayerCameraPos(playerid,255.7253,-39.9420,1002.0234);

SetPlayerCameraLookAt(playerid,258.1813,-41.5929,1002.0234);

}

else

{

SendClientMessage(playerid, COLOR_GRAD2, "  Nu esti la Magazinul de Haine !");

return 1;

}

        }

        else

        {

            if(PlayerInfo[playerid][pLeader] != 0)

            {

                SendClientMessage(playerid, COLOR_GRAD2, "  You can't change your clothes while you are a leader !");

                return 1;

            }

            if(IsAtClothShop(playerid))

            {

                if(PlayerInfo[playerid][pSex] == 1) { ChosenSkin[playerid] = 2; SetPlayerSkin(playerid, 2); PlayerInfo[playerid][pChar] = 2; }

                else if(PlayerInfo[playerid][pSex] == 2) { ChosenSkin[playerid] = 55; SetPlayerSkin(playerid, 55); PlayerInfo[playerid][pChar] = 55; }

                else { return 1; }

                GetPlayerPos(playerid, ChangePos[playerid][0],ChangePos[playerid][1],ChangePos[playerid][2]);

ChangePos2[playerid][0] = GetPlayerInterior(playerid);

ChangePos2[playerid][1] = 1;

SetPlayerInterior(playerid,0);

new rand = random(sizeof(gInviteSpawns));

SetPlayerPos(playerid, gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]); // Warp the player

SetPlayerFacingAngle(playerid, gInviteSpawns[rand][3]);

SetPlayerCameraPos(playerid,gInviteSpawns[rand][0] + 3, gInviteSpawns[rand][1], gInviteSpawns[rand][2]);

SetPlayerCameraLookAt(playerid,gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]);

TogglePlayerControllable(playerid, 0);

SelectChar[playerid] = 255;

if(PlayerInfo[playerid][pSex] == 1) { SelectCharID[playerid] = 20; }

else if(PlayerInfo[playerid][pSex] == 2) { SelectCharID[playerid] = 30; }

else { return 1; }

SelectCharPlace[playerid] = 1;

PlayerInfo[playerid][pModel] = ChosenSkin[playerid];

PlayerInfo[playerid][pChar] = ChosenSkin[playerid];

    SendClientMessage(playerid, COLOR_LIGHTRED, "* Scrie 'next' pentru a cauta haine.");

    SendClientMessage(playerid, COLOR_LIGHTRED, "* Cand ai gasit haina potrivita scrie 'done'.");

            }

        }

    }

    return 1;

}

Acum cauta public OnPlayerText(playerid, text[]) si vezi ca printre primele linii o sa ai asta:

Pawno Code: [select]

if(SelectChar[playerid] == 255)

{

Cand o gasesti adauga un nou case la sfarsit, consecutiv ultimului. La mine ultimul case este 11 deci o sa folosesc case 12 pentru preoti:

Pawno Code: [select]

case 12: //Preoti

{

    if(SelectCharPlace[playerid] == 1) { SetPlayerSkin(playerid, FactSkins20[0][0]); SelectCharPlace[playerid] = 2; ChosenSkin[playerid] = FactSkins20[0][0]; }

    else if(SelectCharPlace[playerid] == 2) { SetPlayerSkin(playerid, FactSkins20[1][0]); SelectCharPlace[playerid] = 3; ChosenSkin[playerid] = FactSkins20[1][0]; }

    else if(SelectCharPlace[playerid] == 3) { SetPlayerSkin(playerid, FactSkins20[2][0]); SelectCharPlace[playerid] = 4; ChosenSkin[playerid] = FactSkins20[2][0]; }

    else if(SelectCharPlace[playerid] == 4) { SetPlayerSkin(playerid, FactSkins20[3][0]); SelectCharPlace[playerid] = 5; ChosenSkin[playerid] = FactSkins20[3][0]; }

    else if(SelectCharPlace[playerid] == 5) { SetPlayerSkin(playerid, FactSkins20[4][0]); SelectCharPlace[playerid] = 6; ChosenSkin[playerid] = FactSkins20[4][0]; }

    else if(SelectCharPlace[playerid] == 6) { SetPlayerSkin(playerid, FactSkins20[5][0]); SelectCharPlace[playerid] = 1; ChosenSkin[playerid] = FactSkins20[5][0]; }

Cam atat, nu am putut sa probez nimic inca pentru ca nu imi merge momentan GTA-SA, dar nu cred ca e nici o problema, in orice caz daca iti da vreo eroare arata-mi-o aici si o rezolvam imediat.

merge totul ok dar imi da o mica eroare la comanda ... o fac nu e o problema si cand dau /boteaza id suma .. nu ii ia banii lu ala care iai dat

HostName: [RPG]*|| Ecila Royal Gaming ||*-WIPED

Address:  93.114.82.70:7777

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

merge totul ok dar imi da o mica eroare la comanda ... o fac nu e o problema si cand dau /boteaza id suma .. nu ii ia banii lu ala care iai dat

Ah scuze, greseala mea.

[pawn]  if(strcmp(cmd, "/boteaza", true) == 0)

  {

      if(IsPlayerConnected(playerid))

      {

          if(PlayerInfo[playerid][pLeader] != 20)

          {

            SendClientMessage(playerid, COLOR_GREY, "Nu esti un preot !");

            return 1;

          }

        tmp = strtok(cmdtext, idx);

        if(!strlen(tmp))

        {

            SendClientMessage(playerid, COLOR_WHITE, "Format corect: /boteaza [playerid] [pret]");

            return 1;

        }

        new pretbotez;

        giveplayerid = ReturnUser(tmp);

        tmp = strtok(cmdtext, idx);

        if(!strlen(tmp))

        {

            SendClientMessage(playerid, COLOR_WHITE, "Format corect: /boteaza [playerid] [pret]");

            return 1;

        }

        pretbotez = strvalEx(tmp);

        if(pretbotez < 1000 || pretbotez > 10000) { SendClientMessage(playerid, COLOR_GREY, "Pretul nu poate fi mai putin de $1000 sau mai mult de $10.000 !"); return 1; }

        if(PlayerInfo[giveplayerid][pBotezat] == 1) { SendClientMessage(playerid, COLOR_GREY, "Acest om este deja boteazat!"); return 1; }

        if(IsPlayerConnected(giveplayerid))

        {

            if(giveplayerid != INVALID_PLAYER_ID)

            {

                if(ProxDetectorS(8.0, playerid, giveplayerid))

              {

if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Nu te poti boteaza pe tine insuti!"); return 1; }

GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));

GetPlayerName(playerid, sendername, sizeof(sendername));

format(string, sizeof(string), "* L-ai botezat pe %s pentru suma de $%d.", giveplayer, pretbotez);

SendClientMessage(playerid, COLOR_LIGHTBLUE, string);

format(string, sizeof(string), "* Ai fost botezat de catre preotul %s pentru suma de $%d.", sendername, pretbotez);

SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);

PlayerInfo[pBotezat] = 1;

PlayerInfo[pCash] = PlayerInfo[playerid][pCash] - pretbotez;

GivePlayerMoney(playerid, -pretbotez);

              }

              else

              {

                  SendClientMessage(playerid, COLOR_GREY, "  Acest player nu este aproape de tine !");

              }

            }

        }

        else

        {

            SendClientMessage(playerid, COLOR_GREY, " Acest player nu este conectat !");

        }

      }

      return 1;

  }[/pawn]

Ia vezi asa, si in legatura cu erroarea, arata'mi daca doresti si te ajut.

Link to comment
Share on other sites

E:\Jocuri\Servere\Viata Romaneasca v4.1 WIPE\gamemodes\VR-RP.pwn(34530) : error 033: array must be indexed (variable "PlayerInfo")

E:\Jocuri\Servere\Viata Romaneasca v4.1 WIPE\gamemodes\VR-RP.pwn(34531) : error 047: array sizes do not match, or destination array is too small

Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

2 Errors.

HostName: [RPG]*|| Ecila Royal Gaming ||*-WIPED

Address:  93.114.82.70:7777

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.