Hallo Breadfish Community,
ich arbeite gerade an einem Script und habe ein großes Problem,
der Server stürzt nach einer gewissen Zeit einfach ab, man bleibt noch
connected und der Server hat auch noch einen wechselnden Ping im
SA:MP Launcher, doch aktuallisieren die Textdraws nicht mehr u.s.w.
Es sieht so aus, als wäre es ein Timebug beim Spieler, doch wenn man
Reconnectet, bleibt man bei "Joining the game..." hängen.
Wenn dieser Timer deaktiviert ist, läuft alles perfekt, daher meine
Frage, was habe ich falsch gemacht ?
Wenn der Timer aktiviert wird, crasht der Server nicht direkt. Machmal
crasht der, wenn er gerade startet und manchmal nach 5 Minuten InGame.
Daher dachte ich eine Zeit lang, es hat gar nichts mit dem Timer zutun,
doch wenn dieser aus ist, geht alles perfekt.
forward usetank();
public usetank()
{
for(new i=0; i<sizeof(cInfo); i++)
{
new tmp_engine,
tmp_lights,
tmp_alarm,
tmp_doors,
tmp_bonnet,
tmp_boot,
tmp_objective;
if(cInfo[i][id_x]==0)continue;
GetVehicleParamsEx(cInfo[i][id_x], tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
if(tmp_engine==0){ continue; } else {
if(cInfo[i][tank] > 1) {
cInfo[i][tank] = cInfo[i][tank] - 1;
} else {
if(cInfo[i][tank] == 1) {
SetVehicleParamsEx(cInfo[i][id_x], 0, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
for(new i2=0; i<MAX_PLAYERS; i2++)
{
cInfo[i][tank] = cInfo[i][tank] - 1;
if(!(IsPlayerInVehicle(i2,cInfo[i][id_x]))){ continue; } else {
if(GetPlayerState(i2)!=PLAYER_STATE_DRIVER) continue;
SCM(i2, ME, "* Du hörst ein kurzes Rattern, danach fällt der Motor aus. *");
break;
}
}
}
if(cInfo[i][tank] == 0) {
SetVehicleParamsEx(cInfo[i][id_x], 0, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
}
}
}
}
for(new i=0; i<sizeof(cfInfo); i++)
{
new tmp_engine,
tmp_lights,
tmp_alarm,
tmp_doors,
tmp_bonnet,
tmp_boot,
tmp_objective;
if(cfInfo[i][id_x]==0)continue;
GetVehicleParamsEx(cfInfo[i][id_x], tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
if(tmp_engine==0){ continue; } else {
if(cfInfo[i][tank] > 1) {
cfInfo[i][tank] = cfInfo[i][tank] - 1;
} else {
if(cfInfo[i][tank] == 1) {
SetVehicleParamsEx(cfInfo[i][id_x], 0, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
for(new i2=0; i<MAX_PLAYERS; i2++)
{
cfInfo[i][tank] = cfInfo[i][tank] - 1;
if(!(IsPlayerInVehicle(i2,cfInfo[i][id_x]))){ continue; } else {
if(GetPlayerState(i2)!=PLAYER_STATE_DRIVER) continue;
SCM(i2, ME, "* Du hörst ein kurzes Rattern, danach fällt der Motor aus. *");
break;
}
}
}
}
}
}
return 1;
}
Alles anzeigen
//Push: Hilfe wird dringend gebraucht.