ID 0 Bug.

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey,
    Ich scripte jetzt schon einige Tage und ja Monate Aktiv, Bin immer noch nicht der beste. Aber ich weiß ganz genau das es diesen ID 0 Bug gibt. Jetzt kommt meine Frage wie kann ich den Fixen. Der geht mir auf die nerven egal was ich versuche er ist immer da. Ich hoffe manche können mir helfen.


    MfG
    Dome

    Ja ich weiß, meine Rechtschreibung ist nicht gerade gut...


    Naund man kann es aber lesen :)

  • hier noch ein Beispiel ID 0 wird nicht respawnt


    ABER ID 1 wieder.


    if(GetPVarInt(playerid,"DeagleOffline")==1)
    {
    SendClientMessage(playerid,Grau," Du bist wärend des Modus Offline gegangen.");
    SendClientMessage(playerid,Grau," Aus Technischen gründen wirst du wieder bei /deagle gespawnt");
    SendClientMessage(playerid,Grau," Benutze /e um den Mode /deagle zu verlassen!");
    SetPlayerPos(playerid,-2219.2798,1218.2377,87.2109);
    GivePlayerWeapon(playerid,24,500);
    return 1;
    }

    Ja ich weiß, meine Rechtschreibung ist nicht gerade gut...


    Naund man kann es aber lesen :)

  • Also z.B bei mir ist es so bei ID0 funktioniert alles, aber dann kommt eine andere ID z.B 1 da läuft es dann nicht wiesooo ?


    Weil du variablen benutzt die du nicht zuweist oder falsch zuweist.


    Bugs in SA:MP gibt es meinst nur (noch) durch die Scripter, die nicht wissen was sie tun

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Doch es gibt diesen ID 0 Bug




    mal angenommen ich habe ein /goto Befehl womit ich mich zu einen Spieler Porten kann, das Problem wird dann später irgendwie sein so war es bei mir
    das ich mich zu der ID geportet hab aber es irgendwie nicht ging ich portete mich immer zu mir selber.. habe ich ID 1 2 oder höher genommen ging es perfekt..




    Habe daher einfach eine Bot erstellt die, die ID 0 dann hat also somit keine ID 0 mehr einen Spieler zugewiesen werden kann ^^






    Grüße

  • Um das ein für alle mal klar zu stellen, da ich das nun schon so oft gesehen hab, auch im Englischen Forum:
    Es gibt keinen ID 0 Bug!


    Nun, warum nicht?
    Einen Bug als ID 0 Bug zu verallgemeinern ist schlichtweg falsch. Wenn, dann hat der Code einen Fehler, der sich eben nur auf die ID 0 bezieht, oder genau diese auslässt. Zu sagen, es gibt einen ID 0 Bug, der wie ein Geist sich durch unsere Codes schleicht und ab und an auftaucht, um Angst und Schrecken zu verbreiten, ist Quatsch.


    Das bedeutet:
    Wenn du einen Code hast, der nur für ID 0 funktioniert, oder nur nicht für ID 0, dann liegt das ganz einfach daran, dass du einen Fehler gemacht hast, und nicht daran, dass ein Bug durch den Code geistert. Kommt der Bug an mehreren Stellen vor, dann liegt der Fehler eben an mehreren Stellen vor.


    Was sollte ich tun?
    Angenommen ein Code funktioniert für ID 0 nicht, dann einfach verschiedene prints einbauen, die alle Werte ausgeben, die für den Code benötigt werden. Wir nehmen als den Code ganz genau unter die Lupe. So findet sich der Fehler, und der ist meistens doch recht simpel.


    Was sollte ich auf keinen Fall tun?
    Versuchen mit NPCs die ID 0 zu blockieren. Das ist auf deutsch gesagt: Käse. Warum?
    Wir müssen nur den ganz einfach Fall annehmen, dass dein NPC ein Timeout bekommt (das passiert durchaus, selten aber kann passieren) und nun bekommt ein Spieler die ID 0. Bums, haben wir den Fehler wieder da, bzw. man sollte sagen, der Spieler ist nun von dem Fehler in dem Code betroffen, zuvor war es eben ein NPC.


    Fazit:
    Einen ID 0 Bug gibt es im allgemeinen Sinn nicht. Läuft was mit der ID 0 anders als mit den anderen IDs ist das ganz einfach ein Fehler im Code, einer Include oder einem Plugin, welcher immer behoben werden kann, ohne die ID zu blockieren.