Ok, dann haben wir so das Problem, was auch immer es war, umgangen.
Zwecks der Nachricht:
Frage einfach bevor du es auf false setzt, bei OnPlayerDisconnect, ab, ob es true ist, wenn ja, sendest du die Nachricht.
Ok, dann haben wir so das Problem, was auch immer es war, umgangen.
Zwecks der Nachricht:
Frage einfach bevor du es auf false setzt, bei OnPlayerDisconnect, ab, ob es true ist, wenn ja, sendest du die Nachricht.
Möglicherweise gab es vom Host ja eine Änderung, die (ungewollt) zu diesem Fehler führt.
Ich kann da auch nur spekulieren, dein Host wird dir da aber bestimmt helfen können, die kennen ja ihre Systeme.
Füge das mal bei OnPlayerConnect ein:
Und das ganz unten im Filterscript:
forward ResetEvent(playerid);
public ResetEvent(playerid)
{
printf("Event: %d", inEvent[playerid]);
inEvent[playerid] = false;
printf("Event: %d", inEvent[playerid]);
return 1;
}
Klappt es dann, wenn nein, was wird geprintet, wenn du den Server erneut betrittst?
Dann setze dich am besten mal mit deinem Host in Verbindung, möglicherweise ist das Problem bei denen schon bekannt. War bei mir auch zwei mal so.
Ich meine das, was du als Fehler beschreibst, wenn man eine ID bekommt, die zuvor ein anderer Spieler hatte.
Was genau machst du?
Bei phpMyAdmin sieht man es hier:
Die 3306 im Bild. Das ist der Standard-Port.
Was kommt den für eine Meldung im, wenn du in das Event willst, und es fehlerhaft ist?
Wenn der Port vom Standard-Port abweicht, dann gehe ich davon aus, dass man den angeben muss.
Nehme gegebenenfalls Kontakt mit dem Support deines Hosts auf, die können dir wahrscheinlich bei dem Problem weiterhelfen, falls etwas mit dem MySQL Server nicht stimmt, oder du keine Rechte hast. Das kommt hin und wieder bei Hostern vor.
The error (2003) Can't connect to MySQL server on 'server' (10061) indicates that the network connection has been refused. You should check that there is a MySQL server running, that it has network connections enabled, and that the network port you specified is the one configured on the server.
http://dev.mysql.com/doc/refma…ot-connect-to-server.html
Stimmen deine Login Daten und hast du sie geprüft?
Wenn beide Callbacks aufgerufen werden, dann sollte es klappen, die anderen Variablen werden ja auch zurück gesetzt, oder?
Außer du setzt es irgendwo wieder auf true, sonst kann es eigentlich nicht auf true bleiben.
Steht der Befehl vor dem enum? Er muss danach stehen.
Wenn das so beim Einsteigen klappt, dann sollte es keine Probleme geben. Ist zwar doppelt gemoppelt, aber wenn es so tut, passt es ja.
Das sollte ohenhin aufgerufen werden, aber wahrscheinlich blockierst du es durch einen anderen Filterscript (gegebenenfalls unwissentlich).
Das Textdraw?
Nein, dazu musst du es neu erstellen.
Lass dir den print erst im LoadHousesBesitzer ausgeben, erst dann ist der Name geladen.
Wie sieht es dann aus?
Nein, in einem Textdraw sind nur die ~?~ Codes möglich.
Hast du mal versucht, das hier in OnPlayerEnterVehicle einzufügen?
for(new i = 0;i<sizeof(AutoZu);i++)
{
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(AutoZu[i], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(AutoZu[i],engine,1,alarm,1,bonnet,boot,0);
}
Möglicherweise klappt es dann.
Ansonsten müsste man eben dort eine Abfrage machen, ob er in das Fahrzeug geht, und ihn dann kurz freezen.
Du musst dann i anstatt playerid nutzen:
CMD:eskin(playerid,params[])
{
new skin;
if(sscanf(params, "d", skin)) return SendClientMessage(playerid,WHITE, "{FF1717}ERROR:{FFFFFF} /eskin [ID]");
if(skin < 1 || skin > 311) return SendClientMessage(playerid,WHITE,"{FF1717}ERROR:{FFFFFF}Only Skins between 1 and 311.");
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i) && inEvent[i])
{
SetPlayerSkin(i,skin);
TogglePlayerControllable(i, 0);
SetTimerEx("UnfreezePlayer", 2500, false, "i", i);
}
}
return 1;
}
Alles anzeigen
Mache einen neuen Thread auf, und poste dort den Server Log, sowie den MySQL Log.