Szerző Téma: Pont rendszer. Hogyan?  (Megtekintve 1209 alkalommal)

Pont rendszer. Hogyan?
« Dátum: 2012. augusztus 02. - 15:22:25 »
0 Show voters
Helló.
Fejleszteni kellene a Pawno tudásomat.
Kellene egy olyan pont renszer amit admin tud adni.
Megadom hogy. PP (PrémiumPont) a neve.
és akkor /pp vel megnézheti a player hogy menni PP je van
és az admin a /givepp [playerid/név] [pont] /al adhat pontot
van rola valahol leirás
vagy valami ilyesmi pontrenszer
ha igen linkeljétek köszi!

Pont rendszer. Hogyan?
« Válasz #1 Dátum: 2012. augusztus 02. - 18:13:01 »
0 Show voters
#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!

Pont rendszer. Hogyan?
« Válasz #2 Dátum: 2012. augusztus 02. - 18:23:53 »
0 Show voters
valaki tutorial linket nem tud?

Nem elérhető Rupert

  • 2301
    • Profil megtekintése
Pont rendszer. Hogyan?
« Válasz #3 Dátum: 2012. augusztus 02. - 18:52:01 »
+1 Show voters
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. :)
« Utoljára szerkesztve: 2012. augusztus 02. - 18:54:12 írta Rupert »

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
Pont rendszer. Hogyan?
« Válasz #4 Dátum: 2012. augusztus 02. - 18:57:58 »
0 Show voters
Idézetet írta: Rupert date=1343926321\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"25379\" data-ipsquote-contentclass=\"forums_Topic

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 );

Nem elérhető Rupert

  • 2301
    • Profil megtekintése
Pont rendszer. Hogyan?
« Válasz #5 Dátum: 2012. augusztus 02. - 19:00:47 »
0 Show voters
Idézetet írta: Gabor.. date=1343926678\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"25379\" data-ipsquote-contentclass=\"forums_Topic


 
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]

Nem elérhető Gabor..

  • 1883
  • Gabor..
    • Profil megtekintése
Pont rendszer. Hogyan?
« Válasz #6 Dátum: 2012. augusztus 02. - 19:01:55 »
0 Show voters
Idézetet írta: Rupert date=1343926847\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"25379\" data-ipsquote-contentclass=\"forums_Topic


 

 
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]
 
[/quote]
De Õ azt kérte, hogy adjunk neki pontot, ne állítsunk.

Nem elérhető Rupert

  • 2301
    • Profil megtekintése
Pont rendszer. Hogyan?
« Válasz #7 Dátum: 2012. augusztus 02. - 19:06:21 »
0 Show voters
Én viszont csak elmagyaráztam a dolgot, amit Yakuza írt.

Pont rendszer. Hogyan?
« Válasz #8 Dátum: 2012. augusztus 03. - 09:56:47 »
0 Show voters
Nem jó a mod.
berakom beírom /pp Server: Unknow command
/givepp -nél is ugyanezt kapom próbáltam már rconnal rcon nélkül is
a script jól be van rakva a serverlog is kiírja hogy betöltve.
« Utoljára szerkesztve: 2012. augusztus 03. - 10:33:37 írta pellesmartin »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal