Guten Tag, liebe User
Ich habe hier mal eine Frage
Undzwar ist bei unserem Script die ID 0 und 1 verbuggt.
Sprich, wenn sich diese ausloggen, crasht der Server.
Kann man irgendwie machen, dass die Personen, diese ID's nicht bekommen?
Mfg
Guten Tag, liebe User
Ich habe hier mal eine Frage
Undzwar ist bei unserem Script die ID 0 und 1 verbuggt.
Sprich, wenn sich diese ausloggen, crasht der Server.
Kann man irgendwie machen, dass die Personen, diese ID's nicht bekommen?
Mfg
Mach einfach 2 Bots rein.
Mach einfach 2 Bots rein.
Jedoch kann es sein das die Spieler trod. die ID bekommen, z.B nach nem GMX.
Versucht das Problem doch einfach zu beheben?
Ist viel einfacher.
Jedoch kann es sein das die Spieler trod. die ID bekommen, z.B nach nem GMX.
Versucht das Problem doch einfach zu beheben?
Ist viel einfacher.
Hab ich schon versucht, doch leider finde ich den Fehler einfach nicht
Hab ich schon versucht, doch leider finde ich den Fehler einfach nicht
Versuch es mal mit Debug Meldungen.
Also einfach bei OnPlayerDisconnect nach jeder Funktion die ausgeführt wird printf("Debug 1"); usw...
Dann schauen bei welcher Zahl es crasht usw..
Versuch es mal mit Debug Meldungen.
Also einfach bei OnPlayerDisconnect nach jeder Funktion die ausgeführt wird printf("Debug 1"); usw...
Dann schauen bei welcher Zahl es crasht usw..
Hmm weis auch nciht genau
Hier die Crashinfo
Wenn das ganze passiert sobald sich die Spieler ausloggen, musst du unter OnPlayerDisconnect schauen.
Zeig mal den Code den du da hst.
Die crashinfo bringt den meisten so gut wie nix daher compile dein skript im debug modus
erstelle eine pawn.cfg mit dem inhalt -d3 -r in deinem pawno ordner
danach kompile sein skript neu weil nun werden die fehler in der server.log angezeigt mit entsprechender zeile.
Die crashinfo bringt den meisten so gut wie nix daher compile dein skript im debug modus
erstelle eine pawn.cfg mit dem inhalt -d3 -r in deinem pawno ordner
danach kompile sein skript neu weil nun werden die fehler in der server.log angezeigt mit entsprechender zeile.
Habe von dieser Funktion noch nie gehört, und bei mir funktioniert das auch nicht (Habe es einfach mal probiert xD)
Die crashinfo bringt den meisten so gut wie nix daher compile dein skript im debug modus
erstelle eine pawn.cfg mit dem inhalt -d3 -r in deinem pawno ordner
danach kompile sein skript neu weil nun werden die fehler in der server.log angezeigt mit entsprechender zeile.
Hat bei mir leider nicht funktioniert
Aber das ist einfach so ein scheiß, dass muss gehen xD
Das mit den Bots hat auch nichts gebracht
Zeig doch mal deinen Code den du unter OnPlayerDisconnect hast.
Wenns beim verlassen von ID 0 passiert, muss ja dort der Fehler sein.
Also, um den Fehler direkt zu beheben müsstest du bei ich denke mal es iiegt beim verlassen an irgendwelchen Save punkten, sprich da wo die Spieler gespeichert werden. Allerdings kann das mehr oder weniger viel aufwand sein.
Die einfachste Methode diesen Fehler ohne viel Arbeit zu beheben ist: ... es kommt gleich... Hau 2 Bots rein, diese belegen automatisch die ersten ID´s.
GreeZ
Also, um den Fehler direkt zu beheben müsstest du bei ich denke mal es iiegt beim verlassen an irgendwelchen Save punkten, sprich da wo die Spieler gespeichert werden. Allerdings kann das mehr oder weniger viel aufwand sein.
Die einfachste Methode diesen Fehler ohne viel Arbeit zu beheben ist: ... es kommt gleich... Hau 2 Bots rein, diese belegen automatisch die ersten ID´s.
GreeZ
Hab ich gemacht, dennoch schliest sich der Server
Versuch es mal mit dem Crash Detect Plugin.
Also ich wiederhol mich zum letzten mal.
Wenns es wirklich nur passiert, wenn ein Spieler den Server verlässt, muss der Fehler unter OnPlayerDisconnect seint.
Ich würde dir raten, den Fehler zu beheben und nicht mit nem Bot zu umgehen. Bringt dir nur noch mehr Probleme....
Hab ich gemacht, dennoch schliest sich der Server
Zeig uns einfach mal den code von OnPlayerDisconnect
Zeig uns einfach mal den code von OnPlayerDisconnect
Hier
Mal so nebenbei wieso lässt du NPCs connecten wenn du den Speiler disconnecten lässt
Alles anzeigen
Hier
Spoiler anzeigen Function OnPlayerDisconnect(playerid, reason)
{
TextDrawHideForPlayer(playerid, Respekt[playerid]);
DeleteTicket(playerid);
PlayerInfo[playerid][pAdjustable] = 1;
isFight[playerid] = 0;
GW_OnPlayerDisconnect(playerid);
printf("Debug 1");
SaveWeapons(playerid);
printf("Debug 1");
if(IsPlayerNPC(playerid))
{
ConnectNPC("zivi","zivi");
ConnectNPC("zivi1","zivi1");
}
if(BlindFold[playerid] == 1)
{
BlindFold[playerid] = 0;
}
if(PlayerInfo[playerid][pMauled] == 1)
{
PlayerInfo[playerid][pMauled] = 0;
}
if(PlayerInfo[playerid][pMember] == 24 || PlayerInfo[playerid][pLeader] == 24 && BlitzerErstellt[playerid] == 1)
{
RemoveBlitzer(playerid);
}
if(PlayerTied[playerid] == 1)
{
PlayerInfo[playerid][pGangJailed] = 1;
PlayerTied[playerid] = 0;
}
if(IsTowTrucker[playerid] == 1)
{
IsTowTrucker[playerid] = 0;
TowTruckers--;
}
new sendername[MAX_PLAYER_NAME];
new string[200];
GetPlayerName(playerid,sendername,sizeof(sendername));
OnPlayerCarUpdate(playerid);
MoneySpam[playerid] = 0;
DestroyObject(Sperre[playerid][0]);
DestroyObject(Sperre[playerid][1]);
DestroyObject(Sperre[playerid][2]);
DestroyObject(Sperre[playerid][3]);
DestroyObject(Sperre[playerid][4]);
Sperrebit[playerid]=0;
Pylonenbit[playerid]=0;
// Barrierenbit[playerid]=0;
InCargo[playerid] = 0; InLevi[playerid] = 0; InEnfo[playerid] = 0;
if(reason == 1)
{
if(PlayerCuffed[playerid] >= 1)
{
OfflineFlucht[playerid] = 1;
format(string,sizeof(string),"Warnung %s ist Gefesselt Offline gegangen!(evtl. Offline-Flucht))",sendername);
ABroadCast(COLOR_YELLOW,string,1);
//mepmöp
}
}
if(reason == 0)
{
if(PlayerCuffed[playerid] >= 1)
{
//OfflineFlucht[playerid] = 2;
format(string,sizeof(string),"Warnung %s hatte gefesselt einen Exe-Crash! Er wird nicht ins Auto-Jail kommen.",sendername);
ABroadCast(COLOR_YELLOW,string,1);
//mepmöp
}
}
gActivePlayers[playerid]--;
if(gActivePlayers[playerid] <= 9) {
noooc = 1;
}
numplayers--;
PlayerInfo[playerid][pAdjustable] = 1;
PlayerUpdate(playerid);
Spoiler anzeigen GetPlayerName(playerid,sendername,sizeof(sendername));
format(string,sizeof(string),"%s war nun %d Minuten online! (ID: %d | IP: %s)",sendername,PlayerInfo[playerid][pMinutesSinceLogin],playerid,pIP[playerid]);
Log("Online.txt",string);
Spoiler anzeigen for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(TaxiAccepted[i] < 999)
{
if(TaxiAccepted[i] == playerid)
{
TaxiAccepted[i] = 999;
GameTextForPlayer(i, "~w~Kunde~n~~r~hat das Spiel Verlassen", 5000, 1);
TaxiCallTime[i] = 0;
DisablePlayerCheckpoint(i);
}
}
else if(BusAccepted[i] < 999)
{
if(BusAccepted[i] == playerid)
{
BusAccepted[i] = 999;
GameTextForPlayer(i, "~w~Kunde~n~~r~hat Spiel Verlassen", 5000, 1);
BusCallTime[i] = 0;
DisablePlayerCheckpoint(i);
}
}
}
}
if(GettingCK[playerid] < 999)
{
if(IsPlayerConnected(GettingCK[playerid]))
{
SendClientMessage(GettingCK[playerid], COLOR_YELLOW, "Dein Abschuss hat den Server verlassen, versuch es später nochmal.");
OnCK[GettingCK[playerid]] = 999;
}
}
if(TransportCost[playerid] > 0 && TransportDriver[playerid] < 999)
{
if(IsPlayerConnected(TransportDriver[playerid]))
{
TransportMoney[TransportDriver[playerid]] += TransportCost[playerid];
TransportTime[TransportDriver[playerid]] = 0;
TransportCost[TransportDriver[playerid]] = 0;
format(string, sizeof(string), "~w~Kunde ist ausgestiegen~n~~g~Verdienst: $%d",TransportCost[playerid]);
GameTextForPlayer(TransportDriver[playerid], string, 5000, 1);
}
}
if(GotHit[playerid] > 0)
{
if(GetChased[playerid] < 999)
{
if(IsPlayerConnected(GetChased[playerid]))
{
//SendClientMessage(GetChased[playerid], COLOR_YELLOW, "Er hat DRP verlassen.");
GoChase[GetChased[playerid]] = 999;
}
}
}
if(PlayerPaintballing[playerid] != 0)
{
PaintballPlayers --;
}
if(PlayerKarting[playerid] > 0 && PlayerInKart[playerid] > 0)
{
KartingPlayers --;
}
if(PlayersChannel[playerid] < 999)
{
IRCInfo[PlayersChannel[playerid]][iPlayers] -= 1;
}
if(HireCar[playerid] != 299)
{
gLastDriver[HireCar[playerid]] = 300;
gCarLock[HireCar[playerid]] = 0;
UnLockCar(HireCar[playerid]);
}
if (gLastCar[playerid] > 0)
{
gLastDriver[gLastCar[playerid]] = 300;
if(PlayerInfo[playerid][pPhousekey] != gLastCar[playerid]-1)
{
gCarLock[gLastCar[playerid]] = 0;
UnLockCar(gLastCar[playerid]);
}
}
if(PlayerBoxing[playerid] > 0)
{
if(Boxer1 == playerid)
{
if(IsPlayerConnected(Boxer2))
{
PlayerBoxing[Boxer2] = 0;
SetPlayerPos(Boxer2, 765.8433,3.2924,1000.7186);
SetPlayerInterior(Boxer2, 5);
GameTextForPlayer(Boxer2, "~r~Kampf unterbrochen", 5000, 1);
}
}
else if(Boxer2 == playerid)
{
if(IsPlayerConnected(Boxer1))
{
PlayerBoxing[Boxer1] = 0;
SetPlayerPos(Boxer1, 765.8433,3.2924,1000.7186);
SetPlayerInterior(Boxer1, 5);
GameTextForPlayer(Boxer1, "~r~Kampf unterbrochen", 5000, 1);
}
}
InRing = 0;
RoundStarted = 0;
Boxer1 = 255;
Boxer2 = 255;
TBoxer = 255;
}
if(TransportDuty[playerid] == 1)
{
TaxiDrivers -= 1;
}
else if(TransportDuty[playerid] == 2)
{
BusDrivers -= 1;
}
if(IsPlayerInFrac(playerid, 4))
{
if(JobDuty[playerid] == 1)
{
Medics -= 1;
}
}
else if(PlayerInfo[playerid][pLeader] == 24 || PlayerInfo[playerid][pMember] == 24)
{
if(JobDuty[playerid] == 1) { Mechanics -= 1; }
}
if (PlayerInfo[playerid][pRoadblock] != 0)
{
RemoveRoadblock(playerid);
}
return 1;
}
bis zum welchen "Debug .." kommt es? Bau mal ein bisschen mehr ein, Debug 1-10 oder so und guck wohin es kommt...
Nur bis zum ersten
Liegt dann wohl an SaveWeapons