SA-MP Forums Archive
Server crashed - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: Server crashed (/showthread.php?tid=181444)



Server crashed - nescha - 05.10.2010

Hello,

i just wondering, why my server crashed, when i put this onto my gamemode (i put this because cars wont save in my gamemode). I hope you can find the error, why my server always crashed.

OnPlayerLogin i put this:

Quote:

new dateiname[MAX_PLAYER_NAME+15];
new playername[MAX_PLAYER_NAME];
//new owner[MAX_PLAYER_NAME];
Carlist[playerid][Typ]=-1; Carlist[playerid][CarPos_x]=0.0; Carlist[playerid][CarPos_y]=0.0; Carlist[playerid][CarPos_z]=0.0;
Carlist[playerid][CarRotate]=0.0; Carlist[playerid][Status]=0; Carlist[playerid][Lock]=0; Carlist[playerid][Carid]=-1;
Carlist[playerid][Farbe1]=-1; Carlist[playerid][Farbe2]=-1; Carlist[playerid][mod1]=-1; Carlist[playerid][mod2]=-1;
Carlist[playerid][mod3]=-1; Carlist[playerid][mod4]=-1; Carlist[playerid][mod5]=-1; Carlist[playerid][mod6]=-1;
Carlist[playerid][mod7]=-1; Carlist[playerid][mod8]=-1; Carlist[playerid][mod9]=-1; Carlist[playerid][mod10]=-1;
Carlist[playerid][mod11]=-1; Carlist[playerid][mod12]=-1; Carlist[playerid][mod13]=-1; Carlist[playerid][mod14]=-1;
Carlist[playerid][mod15]=-1; Carlist[playerid][mod16]=-1; Carlist[playerid][mod17]=-1; Carlist[playerid][Paintjob]=-1;
Carlist[playerid][TowPark]=0; Carlist[playerid][owner]=-1;
Spectating[playerid][0]=-1;
#if defined CARSELL
#endif
GetPlayerName(playerid, playername, sizeof(playername));
format(dateiname, sizeof(dateiname), "fahrzeuge/%s.car", playername);
if (fexist(dateiname))
{
new File: CarFile = fopen(dateiname, io_read);
if ( CarFile )
{
new key[ 256 ];
new Data[ 256 ];
while ( fread( CarFile , Data , sizeof( Data ) ) )
{
key = ini_GetKey(Data);
if(strcmp(key,"AH_Typ",true)==0) { Carlist[playerid][Typ]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_X",true)==0) { Carlist[playerid][CarPos_x]=floatstr(ini_GetValue(Data)); }
else if(strcmp(key,"AH_Y",true)==0) { Carlist[playerid][CarPos_y]=floatstr(ini_GetValue(Data)); }
else if(strcmp(key,"AH_Z",true)==0) { Carlist[playerid][CarPos_z]=floatstr(ini_GetValue(Data)); }
else if(strcmp(key,"AH_Rot",true)==0) { Carlist[playerid][CarRotate]=floatstr(ini_GetValue(Data)); }
else if(strcmp(key,"AH_Status",true)==0) { Carlist[playerid][Status]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_Lock",true)==0) { Carlist[playerid][Lock]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_Paintjob",true)==0) { Carlist[playerid][Paintjob]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_Farbe1",true)==0) { Carlist[playerid][Farbe1]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_Farbe2",true)==0) { Carlist[playerid][Farbe2]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_mod1",true)==0) { Carlist[playerid][mod1]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_mod2",true)==0) { Carlist[playerid][mod2]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_mod3",true)==0) { Carlist[playerid][mod3]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_mod4",true)==0) { Carlist[playerid][mod4]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_mod5",true)==0) { Carlist[playerid][mod5]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_mod6",true)==0) { Carlist[playerid][mod6]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_mod7",true)==0) { Carlist[playerid][mod7]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_mod8",true)==0) { Carlist[playerid][mod8]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_mod9",true)==0) { Carlist[playerid][mod9]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_mod10",true)==0) { Carlist[playerid][mod10]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_mod11",true)==0) { Carlist[playerid][mod11]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_mod12",true)==0) { Carlist[playerid][mod12]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_mod13",true)==0) { Carlist[playerid][mod13]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_mod14",true)==0) { Carlist[playerid][mod14]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_mod15",true)==0) { Carlist[playerid][mod15]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_mod16",true)==0) { Carlist[playerid][mod16]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_mod17",true)==0) { Carlist[playerid][mod17]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_TowPark",true)==0) { Carlist[playerid][TowPark]=strval(ini_GetValue(Data)); }
else if(strcmp(key,"AH_Besitzer",true)==0) { Carlist[playerid][owner]=strval(ini_GetValue(Data)); }
}
}
fclose(CarFile);
if(Carlist[playerid][Typ]!=-1 || Carlist[playerid][Status]==1)
{
Carlist[playerid][Carid]=CreateTunedCar(playerid);
SetVehicleParamsForAll(Carlist[playerid][Carid],0,1);
}
}

Onplayerdisconnect i put this:

Quote:

new dateiname[MAX_PLAYER_NAME+15];
new playername[MAX_PLAYER_NAME];
new CarVar[256];
// new owner[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
format(dateiname, sizeof(dateiname), "fahrzeuge/%s.car", playername);
new File: CarFile = fopen(dateiname, io_write);
format(CarVar, 256, "AH_Typ=%i\n", Carlist[playerid][Typ]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_X=%f\n", Carlist[playerid][CarPos_x]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_Y=%f\n", Carlist[playerid][CarPos_y]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_Z=%f\n", Carlist[playerid][CarPos_z]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_Rot=%f\n", Carlist[playerid][CarRotate]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_Status=%i\n", Carlist[playerid][Status]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_Lock=%i\n", Carlist[playerid][Lock]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_Paintjob=%i\n", Carlist[playerid][Paintjob]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_Farbe1=%i\n", Carlist[playerid][Farbe1]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_Farbe2=%i\n", Carlist[playerid][Farbe2]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_mod1=%i\n", Carlist[playerid][mod1]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_mod2=%i\n", Carlist[playerid][mod2]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_mod3=%i\n", Carlist[playerid][mod3]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_mod4=%i\n", Carlist[playerid][mod4]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_mod5=%i\n", Carlist[playerid][mod5]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_mod6=%i\n", Carlist[playerid][mod6]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_mod7=%i\n", Carlist[playerid][mod7]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_mod8=%i\n", Carlist[playerid][mod8]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_mod9=%i\n", Carlist[playerid][mod9]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_mod10=%i\n", Carlist[playerid][mod10]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_mod11=%i\n", Carlist[playerid][mod11]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_mod12=%i\n", Carlist[playerid][mod12]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_mod13=%i\n", Carlist[playerid][mod13]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_mod14=%i\n", Carlist[playerid][mod14]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_mod15=%i\n", Carlist[playerid][mod15]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_mod16=%i\n", Carlist[playerid][mod16]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_mod17=%i\n", Carlist[playerid][mod17]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_TowPark=%i\n", Carlist[playerid][TowPark]); fwrite(CarFile, CarVar);
format(CarVar, 256, "AH_Besitzer=%s\n", Carlist[playerid][owner]); fwrite(CarFile, CarVar);
fclose(CarFile);
if(Carlist[playerid][Carid]!=-1)
{
SetVehicleParamsForAll(Carlist[playerid][Carid],0,0);
DestroyVehicle(Carlist[playerid][Carid]);
Carlist[playerid][Carid]=-1;
}
if (Spectating[playerid][0]!=-1)
{
SetVehicleParamsForAll(Kaufliste[Spectating[playerid][0]][Carid],0,0);
Spectating[playerid][0]=-1;
}

I hope you can find the error, dont wondering about the german language. ^^

greetings from germany


Re: Server crashed - Mauzen - 05.10.2010

Hm, could be a problem with the enum. Maybe you have a variable with the same name as an element of the enum.

If not, when does it crash exactly? On server start, when a player logs in, ...


Re: Server crashed - nescha - 05.10.2010

It will crash when the login gui was appears on the screen.


Thanks for your widely help. =)


Re: Server crashed - Mauzen - 05.10.2010

Hmm, try adding a / in front of fahrzeuge in the formats ("/fahrzeuge/%s.car") so it is forced to be detected as subfolder. But i dont think this can crash the server, it should just return 0 for fexist if something were wrong with this.

A quite annoying, but helpful test would be to add a print("<current line>"); every 4th or 5th line in OnPlayerLogin. Then check the server log, what was printed last before the server crashed, so you can limit the crash source to few lines (also post what line the linenumber is plz )


Re: Server crashed - nescha - 05.10.2010

Okay, ill test this yet. What text should i put in print? print Test ?? Or what else?

Thanks for help =)


Re: Server crashed - nescha - 05.10.2010

I put any prints in my script, and this is the answer:

Quote:

[21:41:40]
[21:41:40] Number of vehicle models: 94
[21:41:40] Incoming connection: 78.143.6.18:53937
[21:41:40] [npc:join] BusBot has joined the server (0:78.143.6.1
[21:41:40] Incoming connection: 78.143.6.18:34062
[21:41:40] [npc:join] ZugBot has joined the server (1:78.143.6.1
[21:41:40] Incoming connection: 78.143.6.18:56661
[21:41:40] [npc:join] Flugzeugbot has joined the server (2:78.143.6.1
[21:41:41] Flugzeugbot wurde geladen..
[21:41:41] 5

After the number 5 appears, no thing will load.... I think it lays on OnPlayerLogin because when anybody login, the server crash... Where is the error?


Re: Server crashed - nescha - 06.10.2010

So nobody can help me? :/