-
Na sziasztok azzal a segítségel fordulok hozzátok hogy mikkor pl. megölök 1 playert kapok 7 scoret és mikkor engem megölnek akkor vissza megy 1-re ez mitõl lehet?
-
OnPlayerDeath részt másolj be..
-
kill -= 1;
helyett valószínûleg ez van:
kill = 1;
-
public OnPlayerDeath(playerid, killerid, reason)
{
SetPlayerScore(killerid, GetPlayerScore(killerid)+5);
GivePlayerMoney(killerid, 300);
GameTextForPlayer(playerid,\"~g~MEGHALTAL!\", 3000, 3); // KIÍRJA A PLAYERNEK
SendDeathMessage(killerid, playerid, reason);
AdatLoad(playerid);
Mentes(playerid);
return 1;
}
-
Cseréld fel ezt a kettõt:
AdatLoad(playerid);
Mentes(playerid);
Hogy elõbb mentse majd utána Töltse be.
-
AdatLoad(playerid);
Mentes(playerid);
betöltöd és mented az adatokat? de ez fordítva se jó mivel ha az aktuális állapotot mented minek töltöd vissza?
Az adat betöltéshez ne rakj többet mint a sima adatok betöltése!
tehát pl ha score-tól függ a játékos színe azt ne a betöltés alatt állítsd hanem csinálj rá saját függvényt mondjuk egy UpdatePlayerColor-t (csak egy random példát írtam)
de másold be mind2 függvényt...a betöltést és a mentést is...
mikkor pl. megölök 1 playert kapok 7 scoret
SetPlayerScore(killerid, GetPlayerScore(killerid)+5);
azt mondtad 7-et kapsz de itt 5 van szóval valahol máshol is ad még score-t vagy a módban, vagy valamelyik scriptben...és lehet másik kódban van a hiba!
-
public AdatLoad(playerid) //fontos hogy nem kell \";\" illetve azért public,mert forward-al lett létrehozva
{
new users[64];
new nev[MAX_PLAYER_NAME];
GetPlayerName(playerid,nev,sizeof(nev));
format(users,sizeof(users),\"/users/%s.ini\",nev);// ezek a szokásos dolgok
// hm.....nem tudom mi lehet a baja
pInfo[playerid][Admin] = dini_Int(users,\"Admin\");// így lekérjük az admin változónkba
pInfo[playerid][Pont] = dini_Int(users,\"Pont\");
GivePlayerMoney(playerid,dini_Int(users,\"Pénz\"));
pInfo[playerid][bank] = dini_Int(users,\"Bank\");
return 1;
}
public Mentes(playerid)
{
new users[64];
new nev[MAX_PLAYER_NAME];
GetPlayerName(playerid,nev,sizeof(nev));
format(users,sizeof(users),\"/users/%s.ini\",nev);// ezek a szokásos dolgok
dini_Set(users,\"Admin\",pInfo[playerid][Admin]);
dini_IntSet(users,\"Admin\",pInfo[playerid][Admin]); //mivel ugye,miközbe játszol az admin változó az változhat ezért lekérjük a fájlba a változóból a szintet
dini_IntSet(users,\"Szint\",pInfo[playerid][szint]); //szint úgy
dini_IntSet(users,\"Pont\",pInfo[playerid][Pont]);
return 1;
}
-
public AdatLoad(playerid) //fontos hogy nem kell \";\" illetve azért public,mert forward-al lett létrehozva
{
new users[64];
new nev[MAX_PLAYER_NAME];
GetPlayerName(playerid,nev,sizeof(nev));
format(users,sizeof(users),\"/users/%s.ini\",nev);// ezek a szokásos dolgok
// hm.....nem tudom mi lehet a baja
pInfo[playerid][Admin] = dini_Int(users,\"Admin\");// így lekérjük az admin változónkba
pInfo[playerid][Pont] = dini_Int(users,\"Pont\");
GivePlayerMoney(playerid,dini_Int(users,\"Pénz\"));
pInfo[playerid][bank] = dini_Int(users,\"Bank\");
return 1;
}
public Mentes(playerid)
{
new users[64];
new nev[MAX_PLAYER_NAME];
GetPlayerName(playerid,nev,sizeof(nev));
format(users,sizeof(users),\"/users/%s.ini\",nev);// ezek a szokásos dolgok
dini_Set(users,\"Admin\",pInfo[playerid][Admin]);
dini_IntSet(users,\"Admin\",pInfo[playerid][Admin]); //mivel ugye,miközbe játszol az admin változó az változhat ezért lekérjük a fájlba a változóból a szintet
dini_IntSet(users,\"Szint\",pInfo[playerid][szint]); //szint úgy
dini_IntSet(users,\"Pont\",pInfo[playerid][Pont]);
return 1;
}
public AdatLoad(playerid) //fontos hogy nem kell \";\" illetve azért public,mert forward-al lett létrehozva
{
new users[64];
new nev[MAX_PLAYER_NAME];
GetPlayerName(playerid,nev,sizeof(nev));
format(users,sizeof(users),\"/users/%s.ini\",nev);// ezek a szokásos dolgok
// hm.....nem tudom mi lehet a baja
pInfo[playerid][Admin] = dini_Int(users,\"Admin\");// így lekérjük az admin változónkba
pInfo[playerid][Pont] = dini_Int(users,\"Pont\");
GivePlayerMoney(playerid,dini_Int(users,\"Pénz\"));
pInfo[playerid][bank] = dini_Int(users,\"Bank\");
SetPlayerScore(killerid, pInfo[playerid][Pont]);
return 1;
}
public Mentes(playerid)
{
new users[64];
new nev[MAX_PLAYER_NAME];
GetPlayerName(playerid,nev,sizeof(nev));
format(users,sizeof(users),\"/users/%s.ini\",nev);// ezek a szokásos dolgok
dini_Set(users,\"Admin\",pInfo[playerid][Admin]);
dini_IntSet(users,\"Admin\",pInfo[playerid][Admin]); //mivel ugye,miközbe játszol az admin változó az változhat ezért lekérjük a fájlba a változóból a szintet
dini_IntSet(users,\"Szint\",pInfo[playerid][szint]); //szint úgy
dini_IntSet(users,\"Pont\",GetPlayerScore(playerid));
return 1;
}
-
Beraktam és ezt a hibát írja:
error 017: undefined symbol \"killerid\"
Nem értem hogy mi lehet a baj
-
public AdatLoad(playerid) //fontos hogy nem kell \";\" illetve azért public,mert forward-al lett létrehozva
{
new users[64];
new nev[MAX_PLAYER_NAME];
GetPlayerName(playerid,nev,sizeof(nev));
format(users,sizeof(users),\"/users/%s.ini\",nev);// ezek a szokásos dolgok
// hm.....nem tudom mi lehet a baja
pInfo[playerid][Admin] = dini_Int(users,\"Admin\");// így lekérjük az admin változónkba
pInfo[playerid][Pont] = dini_Int(users,\"Pont\");
GivePlayerMoney(playerid,dini_Int(users,\"Pénz\"));
pInfo[playerid][bank] = dini_Int(users,\"Bank\");
SetPlayerScore(playerid, pInfo[playerid][Pont]);
return 1;
}
public Mentes(playerid)
{
new users[64];
new nev[MAX_PLAYER_NAME];
GetPlayerName(playerid,nev,sizeof(nev));
format(users,sizeof(users),\"/users/%s.ini\",nev);// ezek a szokásos dolgok
dini_Set(users,\"Admin\",pInfo[playerid][Admin]);
dini_IntSet(users,\"Admin\",pInfo[playerid][Admin]); //mivel ugye,miközbe játszol az admin változó az változhat ezért lekérjük a fájlba a változóból a szintet
dini_IntSet(users,\"Szint\",pInfo[playerid][szint]); //szint úgy
dini_IntSet(users,\"Pont\",GetPlayerScore(playerid));
return 1;
}
Bocs :D