Jump to content
Autentificarea cu Google și Facebook nu mai este disponibilă. ×

Question

Posted

Problema intalnita (descriere): Daca un player care detine o masina personala doreste sa ii schimb  numele acesta ramane fara masina dupa ce i-am schimbat numele. Va rog ajutati-ma cat se poate de repede....

Ero(area / rile) / warning-(ul / urile):  -
Liniile de cod / sursa / script-ul(obligatoriu): -
Imagini / Video (optional): -
Ati incercat sa rezolvati
singur?: Da..

6 answers to this question

Recommended Posts

  • 0
Posted

    if(!strcmp("/setname", cmd, true))
    {
    if (PlayerInfo[playerid][pAdmin] < 1338) return SendClientMessage(playerid, COLOR_GRAD2, "   you are not authorized to use that command!");
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "{99FFFF}Tasteaza:{FFFFFF} /setname [id] [newname]");
    giveplayerid = ReturnUser(tmp);
    if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_GRAD2, "Invalid playerid!");
    new str[128],gpname[MAX_PLAYER_NAME];
    GetPlayerName(giveplayerid, gpname, MAX_PLAYER_NAME);
    format(str, 128, "Users/%s.ini", gpname);
    if(!fexist(str)) return SendClientMessage(playerid, COLOR_YELLOW, "The person havent an account on this server");
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "{99FFFF}Tasteaza:{FFFFFF} /setname [id] [newname]");
    new str2[128];
    format(str2,128,"Users/%s.ini",tmp);
    frename(str,str2);
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
    SetPlayerName(giveplayerid,tmp);
    format(string, sizeof(string), "[NameChange] %s changed name of \"%s\" to \"%s\"",pname,gpname,tmp);
    SendClientMessageToAll(COLOR_LIGHTRED,string);
    new year, month,day;
    getdate(year, month, day);
    format(string, sizeof(string), "(%d-%d-%d) Admin: %s was changed name of %s to %s", day,month,year, pname,gpname,tmp);
    NameChangeLog(string);
    return 1;
    }

  • 0
Posted

Dupa ce schimbi numele trebuie sa verifici daca player-ul are masini personale pe numele vechi si sa le treci pe vechiul nume . Foloseste-te de GetPlayerName(playerid);

  • 0
Posted (edited)

AI putea optimiza un pic scriptul... Liniile alea ocupa spatiu degeaba.

Plus ca in loc de ' MAX_PLAYER_NAME ' ai putea pune direct marimea 24 ;)

Edited by HONNOR
one more thing
  • 0
Posted
Acum 1 oră, HONNOR a spus:

AI putea optimiza un pic scriptul... Liniile alea ocupa spatiu degeaba.

Plus ca in loc de ' MAX_PLAYER_NAME ' ai putea pune direct marimea 24 ;)

OFF: Nu prea cred ca ar optimiza cu restrangerea liniilor, dar ar arata mai bine, iar eu, personal, as prefera MAX_PLAYER_NAME deoarece subiliniaza ca variabila e folosita la crearea numelui, dar ce spui tu ar merge la partea de stil.

ON: Legat de optimizare, ti-as sugera sa folosesti un procesor de comenzi si sa te folosesti de sscanf in construirea parametrilor.

Iar legat de comanda, updateaza numele in baza de date atat la tabelul accounts cat si la tabelul de dealer acolo unde numele jucatorului exista la una sau mai multe din masinile detinute. Eu nu iti pot face asta pentru ca nu am in fata scriptul, dar tu poti face, daca nu stii inseamna ca tot ce am spus face nici 2 bani si ar trebui sa renunti.

  • 0
Posted

Sunt de acord cu WiDuAlK. Pentru a reduce din liniile scriptului, cea mai eficienta optimizare este folosirea procesorului de comenzi ZCMD respectiv inlclude-ului SSCANF. Iar inca o notiune, comenzile ar fii mai bine daca le-ai pune la sfarsitul Gamemod-ului.

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • 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.