Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4252 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

[Pamoka]

Žaidėjo vardo keitimas

Taigi kaip ir iš pavadinimo galima spręsti, kad šioje pamokoje pamokysiu kaip pakeisti žaidėjo vardą, bei parodysiu kaip pakeitus vardą išgauti senąjį ( tikrą ) vardą, su kuriuo žaidėjas ir prisijungė.

  1. Pradėsime nuo mums reikalingų kintamųjų susikūrimo, juos dėkite viršuje, po visais include:
    new PlayerName[ MAX_PLAYERS ][ MAX_PLAYER_NAME ], NewPlayerName[ MAX_PLAYERS ][ MAX_PLAYER_NAME ]; // MasyvaI kuriuose laikysime kiekvieno žaidėjo vardą
    


  2. Dabar mums reikės naujos funkcijos, t.y. SetPlayerNameEx( playerid, const _name ):
    stock SetPlayerNameEx( playerid, _name[] )
    {
    format( NewPlayerName[ playerid ], MAX_PLAYER_NAME, _name ); // suformatuojame kintamaji NewPlayerName, pagal zaidejo varda ( nauja )
    SetPlayerName( playerid, _name ); // Panaudojame funkcija, kad pakeisti zaidejo varda
    }
    


  3. Dabar susikurkime dar vieną funkciją, t.y. GetPlayerOldNameEx( playerid ) ir GetPlayerNewNameEx(playerid), jeigu kuri nors yra, ją ištrinkite ir pakeiskite šia:
    stock GetPlayerOldNameEx( playerid )
    {
    return (PlayerName[playerid]);
    }
    stock GetPlayerNewNameEx( playerid )
    {
    return (NewPlayerName[playerid]);
    }
    


  4. Kad viskas veiktų ir mums kai žaidėjas prisijungia jo kintamąjį PlayerName nustatytų į jo vardą naudojame:
    public OnPlayerConnect( playerid )
    {
    new _name[ MAX_PLAYER_NAME ]; // masyvas zaidejo vardui
    GetPlayerName( playerid,  _name,  MAX_PLAYER_NAME); // isgauname dabartini zaidejo varda
    format( PlayerName[ playerid ], MAX_PLAYER_NAME, _name ); // nustatome PlayerName i dabartini zaidejo varda
    return 1;
    }
    


Na kaip ir viskas, dabar galite kai žaidėjas prisijungia nustatyti jo vardą į tarkim:

public OnPlayerConnect( playerid )
{
new _name[ MAX_PLAYER_NAME ]; // masyvas zaidejo vardui
GetPlayerName( playerid, _name, 24 ); // isgauname dabartini zaidejo varda
format( PlayerName[ playerid ], MAX_PLAYER_NAME, _name ); // nustatome PlayerName i dabartini zaidejo varda
SetPlayerNameEx( playerid, "[Testuotojas]"); // Nustatome zaidejo nauja varda i '[Testuotojas]'
return 1;
}

Šią sistemą kiek žinau naudojo LRG serveris kai testavo viską, ji nėra sunki, bet gražiai galima padaryt, tarkim kad rodytų prie žaidėjo vardo pvz.: '[ADMIN] Kit_Kat', '[VIP] Kit_Kat' ir panašiai, čia jau jūsų vaizduotei laisvas kelias :D

Pamoką kūrė KitKat,

Dėkui už skaitymą.

  • Teigiamai 1

Reikia pagalbos Pawn/C++/HTML/CSS/CSS3/PHP/MYSQL srityse?

Rašyk PM man ir gauk atsakymą per 24h.

  • ,

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4252 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai



×
×
  • Sukurti naują...