-
Hogy lehet megcsinálni, hogy törlõdjön a mentés ha meghal?
stock save(id)
{
new fajl[128];
format(fajl,sizeof(fajl),\"/admin/%s.ini\",nev(id));
if(fexist(fajl))
{
dini_IntSet(fajl,\"admin\", pi[id][admin]);
dini_IntSet(fajl,\"rendor\", pi[id][rendor]);
dini_IntSet(fajl,\"mento\", pi[id][mento]);
dini_IntSet(fajl,\"ban\", pi[id][ban]);
dini_IntSet(fajl,\"as\", pi[id][as]);
dini_IntSet(fajl,\"vip\", pi[id][vip]);
dini_Set(fajl,\"aname\", pi[id][aname]);
dini_IntSet(fajl,\"penz\",GetPlayerMoney(id));
dini_IntSet(fajl,\"pont\",GetPlayerScore(id));
dini_IntSet(fajl,\"korozes\",GetPlayerWantedLevel(id));
}
}
-
Az összes adat nullázódjon vagy úgy érted hogy törölje ki az egészet a létrehozott fájlt szóval a regisztrációját ?
-
Nullázódjon ne maradjon semmije.
-
public OnPlayerDeath(playerid, killerid, reason)
{
pi[playerid][admin] = 0;
pi[playerid][rendor] = 0;
pi[playerid][mento] = 0;
pi[playerid][ban] = 0;
pi[playerid][as] = 0;
pi[playerid][vip] = 0;
pi[playerid][aname] = \"\";
new fajl[128];
format(fajl,sizeof(fajl),\"/admin/%s.ini\",nev(playerid));
if(fexist(fajl))
{
dini_IntSet(fajl,\"admin\", pi[playerid][admin]);
dini_IntSet(fajl,\"rendor\", pi[playerid][rendor]);
dini_IntSet(fajl,\"mento\", pi[playerid][mento]);
dini_IntSet(fajl,\"ban\", pi[playerid][ban]);
dini_IntSet(fajl,\"as\", pi[playerid][as]);
dini_IntSet(fajl,\"vip\", pi[playerid][vip]);
dini_Set(fajl,\"aname\", pi[playerid][aname]);
dini_IntSet(fajl,\"penz\",0);
dini_IntSet(fajl,\"pont\",0);
dini_IntSet(fajl,\"korozes\",0);
}
return 1;
}
-
Nem jó mert megmarad a pénz.
-
A pénznek van változója létrehozva ?
Ha nincs akkor így biztos jó lesz :
public OnPlayerDeath(playerid, killerid, reason)
{
pi[playerid][admin] = 0;
pi[playerid][rendor] = 0;
pi[playerid][mento] = 0;
pi[playerid][ban] = 0;
pi[playerid][as] = 0;
pi[playerid][vip] = 0;
pi[playerid][aname] = \"\";
ResetPlayerMoney(playerid);
SetPlayerScore(playerid,0);
SetPlayerWantedLevel(playerid,0);
new fajl[128];
format(fajl,sizeof(fajl),\"/admin/%s.ini\",nev(playerid));
if(fexist(fajl))
{
dini_IntSet(fajl,\"admin\", pi[playerid][admin]);
dini_IntSet(fajl,\"rendor\", pi[playerid][rendor]);
dini_IntSet(fajl,\"mento\", pi[playerid][mento]);
dini_IntSet(fajl,\"ban\", pi[playerid][ban]);
dini_IntSet(fajl,\"as\", pi[playerid][as]);
dini_IntSet(fajl,\"vip\", pi[playerid][vip]);
dini_Set(fajl,\"aname\", pi[playerid][aname]);
dini_IntSet(fajl,\"penz\",0);
dini_IntSet(fajl,\"pont\",0);
dini_IntSet(fajl,\"korozes\",0);
}
return 1;
}
-
public OnPlayerDeath(playerid, killerid, reason)
{
pi[playerid][admin] = 0;
pi[playerid][rendor] = 0;
pi[playerid][mento] = 0;
pi[playerid][ban] = 0;
pi[playerid][as] = 0;
pi[playerid][vip] = 0;
pi[playerid][aname] = \"\";
SetPlayerMoney(playerid, 0);
SetPlayerScore(playerid, 0);
new fajl[128];
format(fajl,sizeof(fajl),\"/admin/%s.ini\",nev(playerid));
if(fexist(fajl))
{
dini_IntSet(fajl,\"admin\", pi[playerid][admin]);
dini_IntSet(fajl,\"rendor\", pi[playerid][rendor]);
dini_IntSet(fajl,\"mento\", pi[playerid][mento]);
dini_IntSet(fajl,\"ban\", pi[playerid][ban]);
dini_IntSet(fajl,\"as\", pi[playerid][as]);
dini_IntSet(fajl,\"vip\", pi[playerid][vip]);
dini_Set(fajl,\"aname\", pi[playerid][aname]);
dini_IntSet(fajl,\"penz\",0);
dini_IntSet(fajl,\"pont\",0);
dini_IntSet(fajl,\"korozes\",0);
}
return 1;
}
Így?
-
Nem SetPlayerMoney!
Hanem :
GivePlayerMoney(playerid, Érték);
-
Nem SetPlayerMoney!
Hanem :
GivePlayerMoney(playerid, Érték);
naja... amúgymeg
ResetPlayerMoney
-
Igazad van az is jó megoldás... ;)
-
Hát, ha GivePlayerMoney-t használsz akkor a jelenlegihez ad hozzá, tehát van neki 10.000$ + 0$ = 10.000$ marad.
-
Igen rájöttem.. :D
-
Hogy lehet megcsinálni, hogy törlõdjön a mentés ha meghal?
@Norby
Mikor meghal a játékos és nem mikor kilép a szerverrõl.
A fájl törlés ilyen esetben gyorsabb mint minden egyes adatot nullára változtatni a fájlban.
Mikor újra szükség van rá akkor meg létre lehet hozni újra a fájlt.
-
public OnPlayerDeath(playerid, killerid, reason)
{
new fajl[128];
format(fajl,sizeof(fajl),\"/admin/%s.ini\",nev(playerid));
if(fexist(fajl))
{
dini_Remove(fajl);
SendClientMessage(playerid, -1, \"Mivel meghaltál töröljük a karakteredet! Kérlek relogolj!\");
Kick(playerid);
}
return 1;
}
Így próbáld meg. Mikor meghal akkor eltávolítja a fájl-t és kickeli. (Ha relogol akkor újra kell regiznie.)
-
Lol bocsánat! :D
OnPlayerDeath alá...
Átírom.. ;)
Köszi hogy felhívtad a figyelmem Zolesszka..
Igen úgy is meg lehet oldani és valószínûleg okosabb dolog is lenne...