#include <a_samp>
#include <zcmd>
#include <sscanf2>
CMD:givepp(playerid, params[])
{
new admin[MAX_PLAYER_NAME], pont, giveplayerid, string[250];
GetPlayerName(playerid, admin, sizeof(admin));
if(sscanf(params,\"ud\", giveplayerid, pont)) return SendClientMessage(playerid,-1,\"Használat: /givepp [Játékos ID] [Pont]\");
if(giveplayerid == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xFF0000AA, \"HIBA: Nincs ilyen játékos!\");
format(string, sizeof(string), \"{DDDDDD}Admin %s{ffffff} adott neked %i pontot!\",admin,pont);
SendClientMessage(giveplayerid, -1, string);
SetPlayerScore(giveplayerid, pont);
return 1;
}
CMD:pp(playerid, params[])
{
new string[250];
format(string, sizeof(string), \"Neked %i prémium pontod van.\",GetPlayerScore(playerid));
SendClientMessage(playerid, -1, string);
return 1;
}
Tesztelve nemvolt!
Leírom a mûködését.
#include <a_samp>
#include <zcmd>
#include <sscanf2>
Magyarázat: Elérhetõvé tesszük a pawno számára a az include-okat.
CMD:givepp(playerid, params[])
{
Magyarázat: Maga a parancs, amit begépel a játékos, tehát /givepp.
new admin[MAX_PLAYER_NAME], pont, giveplayerid, string[250];
Magyarázat: Deklaráljuk a változókat, tehát létrehozzuk azokat. A [] jelölések között általában a karakterlánc hosszát határozzuk meg. Jelen esetben a \"MAX_PLAYER_NAME\"-et helyettesíthettük volna a \"24\" számmal.
GetPlayerName(playerid, admin, sizeof(admin));
Magyarázat: Lekérjük a játékos (playerid) nevét, amit az admin változóban tárolunk. A \"sizeof(admin)\" a karakterlánc feldarabolását jelöli, de írhattunk volna 24-et is a helyére, tehát \"GetPlayerName(playerid, admin, 24);\"
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, \"Nem vagy admin!
Ezt Yakuza nem írta bele, de ajánlatos. Ha a parancsot begépelõ játékos nem RCON admin, akkor kiírja azt neki, hogy \"Nem vagy admin!\".
if(sscanf(params,\"ud\", giveplayerid, pont)) return SendClientMessage(playerid,-1,\"Használat: /givepp [Játékos ID] [Pont]\");
Magyarázat: Az sscanf fügvénnyel feldaraboljuk a parancs utáni paramétereket, amit ideiglenesen eltárolunk. A paraméterek alatt most a játékos ID-t (giveplayerid változót) és a pontot értem.
if(giveplayerid == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xFF0000AA, \"HIBA: Nincs ilyen játékos!\");
Magyarázat: Ha a játékos, akinek pontot adunk (giveplayerid) helytelen, akkor kiírja az adminnak hogy nincs ilyen játékos.
format(string, sizeof(string), \"{DDDDDD}Admin %s{ffffff} adott neked %i pontot!\",admin,pont);
Magyarázat: Megformázunk egy karakterláncot (jelen esetben a \"string\" változót). A \"{DDDDDD}\" és az {ffffff} a színkódokat jelöli. A %s és a %i a változók típusát jelenti, ezért is van a végén odaírva az \"admin,pont\".
A %s a karakterláncok jelölése, a %i pedig az integert jelöli.
SendClientMessage(giveplayerid, -1, string);
Magyarázat: Elküldjük a kiválasztott játékosnak a megformázott sztringet (karakterláncot). A giveplayerid a kiválasztott játékos, a -1 nem visszatérõ értéket jelent, mivel a formázásban már kiszíneztük a szöveget. A függvényben a \"string\" a megformázott sztringet jelöli.
SetPlayerScore(giveplayerid, pont);
Magyarázat: A kiválasztott játékos pontjait beállítjuk a megadottra.
Remélem a \"pp\" parancsot ez alapján már megfogod érteni. :)
SetPlayerScore(giveplayerid, pont);
Magyarázat: A kiválasztott játékos pontjait beállítjuk a megadottra.
Remélem a \"pp\" parancsot ez alapján már megfogod érteni. :)
Ez helytelen, mert így átállítod a pontját annyira, amennyi adni akarnál neki.
Tehát így:
SetPlayerScore( giveplayerid, GetPlayerScore( giveplayerid ) + pont );
SetPlayerScore(giveplayerid, pont);
Magyarázat: A kiválasztott játékos pontjait beállítjuk a megadottra.
Remélem a \"pp\" parancsot ez alapján már megfogod érteni. :)
Ez helytelen, mert így átállítod a pontját annyira, amennyi adni akarnál neki.
Tehát így:
SetPlayerScore( giveplayerid, GetPlayerScore( giveplayerid ) + pont );
[/quote]
Elolvastad amit írtam?
A kiválasztott játékos pontjait beállítjuk a megadottra.
[/quote]