Elkezdtem írni egy fizetésrendszert, egyenlőre *** egyszerűen működik
/dolgozik ad egy forintot a Fizetes változójához annak, aki beírja
/fizetes kiolvassa ezt az értéket...
És ami nekem kéne...
/akifizet:
Admin parancs legyen, amit ha az admin beír, az összes online játékos [Fizetes] változóját adja hozzá a [Penz] változóhoz...
példa: Fizetés változóm öt forint. Az admin beírja hogy /kifizet
Ekkor az öt forintomat rakja bele a Penz valtozomba, majd a Fizetes változóm nullázódjon (Fizetes-Fizetes)
CMD:dolgozik(playerid,params[])
{
JatekosInfo[playerid][Fizetes] += 1;
SendClientMessage(playerid,COLOR_GREEN,\"Sikeres dolgozás! 1 ft hozzáadva a fizetésedhez!\");
return 1;
}
CMD:fizetes(playerid,s[])
{
if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
{
new str[64];
format(str,64,\"(( Várható fizetésed: %d Ft ))\",JatekosInfo[playerid][Fizetes]);
SendClientMessage(playerid,COLOR_GREEN,str);
}
else SendClientMessage(playerid, COLOR_ORANGE, \"(( Nem vagy bejelentkezve! ))\");
return 1;
}
És itt jönnétek ti gépbe... segítenétek megírni? Az algoritmus megvan a fejemben, de a megoldás menete aligha...az oké lenne, hogy ha playerid beírja a /kifizet-et, akkor egyik változójából másikba menjen át az adat, de a ciklus abszolút nehéz nekem, és gondolom ez azzal megoldható a legegyszerűbben.
Apropó, szép lenne az is, hogyha a nem online játékosok Fizetes változója is hozzáadódna ilyenkor a Penz változóhoz, bár gondolom, ez Dini-be nem megvalósítható. Előre is köszönet!
CMD:kifizet(playerid) {
if(Belepve[playerid] == 1) {
if(IsPlayerAdmin(playerid) /*ezt írd át ha van saját adminrendszered*/) {
for(new i=0;i<MAX_PLAYERS;i++) {
if(JatekosInfo[Fizetes] > 0) {
JatekosInfo[Penz] += JatekosInfo[Fizetes];
JatekosInfo[Fizetes] = 0;
}
}
new n[24],string[128];
GetPlayerName(playerid,n,sizeof(n));
format(string,sizeof(string),\"%s odaadta mindenkinek a fizetését!\");
SendClientMessageToAll(-1,string);
}
else SendClientMessage(playerid, COLOR_ORANGE, \"(( Nincs jogosultságod használni ezt a parancsot! ))\");
}
else SendClientMessage(playerid, COLOR_ORANGE, \"(( Nem vagy bejelentkezve! ))\");
return 1;
}