Sziasztok!
Van egy elég sûrgõs próblémám, gyorsan megkéne oldani.
A gond az, hogy amikor egy játékos lecsatlakozik a szerverrõl, ugye amikor minden rendben van akkor a szerver lementi az adatait.
Nos ezzel soha semmi gond nem is volt, adatokat le mentette, tökéletesen mûködött!
Semmit nem változtattam rajta(tényleg semmit!), csak kinyomtam a gépet és elhúztam suliba.
A Jelenség:Ma este mikor újra ideültem, fel mentem, hogy a Bank bejáratát lementsem, de amikor lecsatlakoztam a szerverrõl:
1. Hiba: A consoleba nem írta ki, hogy lecsatlakoztam, csak azt hogy fel. Megnéztem, és a samp kliens is úgy érzékelte mintha még fent lennék(10percre rá is!).
2. Hiba: amikor beírom a consoleba, hogy: exit semmi nem történik. Nem áll le a szerver, nem is reagál rá.
[
X] gombal bezárul, de Semmit nem ment le.
OnGameModeExit():
public OnGameModeExit(){
DestroyPickup(kocsipickup);
KillTimer(fizetestimer);
for(new i;i < MAX_VEHICLES; i++)
{
SaveValidVehicle(i);
}
}
Olyanra gondoltam, hogy a SaveValidVehicle függvény csinálja(bár eddig jó volt), de amikor így prónáltam:
public OnGameModeExit(){
DestroyPickup(kocsipickup);
KillTimer(fizetestimer);
/*for(new i;i < MAX_VEHICLES; i++)
{
SaveValidVehicle(i);
}*/
}
Szintén ugyanaz a hiba.
OnPlayerDisconnect eljárás:
public OnPlayerDisconnect(playerid, reason)
{
karikment(playerid);
return 1;
}
Ezzel sem volt gond eddig.
Karikment függvényem:
stock karikment(playerid)
{
if(logged[playerid] == true)
{
new Float:x,Float:y,Float:z, Float:Angle;
//new skin = GetPlayerSkin(playerid);
new INI:File = INI_Open(UserPath(playerid));
//PlayerInfo[playerid][pSkin] = skin;
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid,Angle);
INI_SetTag(File,\"Adatok\");
INI_WriteInt(File,\"Penz\",PlayerInfo[playerid][pMoney]);
//INI_WriteInt(File,\"Jelszo\",PlayerInfo[playerid][pPass]);
INI_WriteInt(File,\"Adminszint\",PlayerInfo[playerid][pAdmin]);
INI_WriteInt(File,\"Adminnev\",udb_hash(PlayerInfo[playerid][pANev]));
INI_WriteInt(File,\"Skin\",PlayerInfo[playerid][pSkin]);
INI_WriteInt(File,\"Kor\",PlayerInfo[playerid][pKor]);
INI_WriteInt(File,\"nem\",PlayerInfo[playerid][pNem]);
INI_SetTag(File,\"Hely\");
INI_WriteFloat(File,\"X\",x);
INI_WriteFloat(File,\"Y\",y);
INI_WriteFloat(File,\"Z\",z);
INI_WriteFloat(File,\"Angle\",Angle);
INI_WriteInt(File,\"Interior\",PlayerInfo[playerid][pInt]);
INI_SetTag(File,\"Jarmuvek\");
INI_WriteInt(File,\"Kocsi1\",PlayerInfo[playerid][pVehicle]);
INI_WriteInt(File,\"Kocsi2\",PlayerInfo[playerid][pVehicle2]);
INI_WriteInt(File,\"Kocsi1ID\",PlayerInfo[playerid][pVehicleID]);
INI_WriteInt(File,\"Kocsi2ID\",PlayerInfo[playerid][pVehicleID2]);
INI_SetTag(File,\"Munkak\");
INI_WriteInt(File,\"Frakcio\",PlayerInfo[playerid][pFrakcio]);
INI_WriteInt(File,\"Rang\",PlayerInfo[playerid][pRang]);
INI_WriteInt(File,\"Masodallas\",PlayerInfo[playerid][pMasodallas]);
INI_SetTag(File,\"Fizetes\");
INI_WriteInt(File,\"Postazva\",PlayerInfo[playerid][pFizufelvesz]);
INI_WriteInt(File,\"Osszegyujtott\",PlayerInfo[playerid][pFizu]);
INI_SetTag(File,\"Taska\");
INI_WriteInt(File,\"Pizza\",Taska[playerid][pizza]);
INI_WriteInt(File,\"Coca-Cola\",Taska[playerid][CocaCola]);
INI_WriteInt(File,\"Sprite\",Taska[playerid][sprite]);
INI_WriteInt(File,\"Peksutemeny\",Taska[playerid][peksutemeny]);
INI_Close(File);
print(\"Egy jatekos lelepett, adatai lementve!\");
} else {
print(\"Egy jatekos lelépett, de meg nem jelentkezett be!\");
}
}
Remélem valaki tud megoldást. Ha nem is tud megoldást az a valaki, aki megnézi de van valami apró sejtése, kérem írja le bármilyen ötlet jöhet, nagyon kellene!
Üdv: BackUP