LSPD Eingang / Ausgang Problem

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,


    zurzeit habe ich ein Problem.


    Wenn ich mich registriere ( kein Account vorhanden ) , klappt alles normal.


    Wenn ich aber registriert bin, und mich einloggen möchte, verschwindet das Dialog und ich werde nicht gespawnt bzw. der Spawnvorgang wird einfach nicht durchgeführt und mein Name ist Lila im Chat.


    Ich habe CrashDetect eingefügt und folgenden Code bekommen :


    Code
    [10:37:51] [debug] Run time error 4: "Array index out of bounds"
    [10:37:51] [debug]  Attempted to read/write array element at index 11 in array of size 11
    [10:37:51] [debug] AMX backtrace:
    [10:37:51] [debug] #0 0011b240 in LoadAccount (playerid=1) at C:\Users\Drai\Desktop\Server\gamemodes\gamemode.pwn:20131
    [10:37:51] [debug] #1 000e6004 in public OnDialogResponse (playerid=1, dialogid=1, response=1, listitem=-1, inputtext[]=@0169cc24 "MeinPasswort") at C:\Users\Drai\Desktop\Server\gamemodes\gamemode.pwn:16904


    Hier der Code aus DialogResponde bzw. Zeile 16904 :
    Ich habe Zeile 16904 im Code markiert.



    @Jeffry @Kaliber

    Einmal editiert, zuletzt von Pagno ()

  • Ja hier :



    Also SetSpawnInfo bei case 2 ist die 20131

  • Ich hab hier die new Frakspawns :


  • Der Spieler (du?) bist dann laut pInfo[playerid][fraktion] in Fraktion 12.
    Durch diese Zeile new fid=pInfo[playerid][fraktion]-1; wird fid auf 11 gesetzt.


    Da das Array mit den Spawns genau 11 Positionen hat, sind die Indizes 0 bis 10 gefüllt (das entspricht 11 Einträgen).
    Mit fid = 11 darauf zuzugreifen (markierte Zeile) geht somit nicht.


    Du musst entweder noch einen weiteren Eintrag hinzufügen, oder die FraktionsID des Spielers ändern.

  • Hey,


    bin leider nicht so fortgeschritten und erfahren in PAWN,


    ich habe derzeit nur 11 Fraktionen und keine 12. Vermutlich liegt es daran dass ich früher versucht habe eine weitere Fraktion hinzuzfügen erfolgslos.



    Was genau muss ich jetzt machen o.o

  • Kein Problem.


    Schau mal im Konto des Spielers bei dem das Problem aufgetreten ist, ob bei seiner Fraktions ID ein Wert drin steht. Wenn ja, 12? Wenn ja, ändere das auf 11 ab (oder etwas anderes zwischen 1 und 11).
    Falls du da nichts findest, kannst du zu dem Array mit den Koordinaten einen weiteren Eintrag hinzufügen.


    Wenn du das nicht machen willst, dann kannst du es auch so machen:
    In case 2:
    if(pInfo[playerid][fraktion]==0) SetSpawnInfo(playerid,0,pInfo[playerid][skin], 1760.9659,-1895.8420,13.5616,270.3469, 0,0, 0,0, 0,0);
    zu:
    if(pInfo[playerid][fraktion]<=0 || pInfo[playerid][fraktion] >= sizeof(FrakSpawns)) SetSpawnInfo(playerid,0,pInfo[playerid][skin], 1760.9659,-1895.8420,13.5616,270.3469, 0,0, 0,0, 0,0);


    Das hätte dann die Wirkung, dass der Spieler am Standard-Spawn spawnt, wenn es keinen entsprechenden Eintrag für ihn gibt.

  • Also in der Datenbank steht ( bei meinem Account ( ist bei mir passiert )) die FraktionsID 12, aber die Fraktion existiert ja vom Prinzip garnicht.


    Es gibt nur 1-11.



    Ist echt kompliziert gerade für mich, ich meine es sollen für die 11 Fraktionen ja 11 Spawns vom Array vergeben werden. Verstehe aber nicht wie ich das Beheben soll dass die FraktionsID 12 verschwindet, diese existiert halt nicht.

  • Deshalb kannst du zusätzlich die Code-Änderung aus Post #8 machen, dann tritt der Fehler nicht mehr im Log auf, sondern du spawnst dann am Standard Spawn, falls eine falsche Fraktion eingetragen wurde.
    Eventuell hast du die 12 ja noch von einem vorherigen Stand des Codes, als es die 12 noch gab.



    Sprich:
    12 in deinem Profil ändern.
    Code aus Post #8 wie gezeigt anpassen.


    Dann tritt der Fehler nicht mehr auf.

  • Scheint zu klappen, danke dir aber habe noch ein Problem..


    Im LSPD kann ich von außen rein, aber irgendwie nicht mehr wirklich raus ( Als LSPDer).


    Zum Beispiel ich spawne mich als LSPDler, kann aber vom Haupteingang nicht mehr raus, aber bei der Garage schon.


    Hier mal der Code, glaube das ist er bin mir nicht sicher :
    Ist unter if key pressed secondary attack

  • Doch also es funktionert, aber ich wüsste nicht wo ich das sonst noch finden könnte da.
    Habe hier noch etwas :



    Hier die new Buildings :



  • Also bei mir war es so, habe mich gespawnt ( LSPD Interior ), bin ans Exit -> ging nicht.


    Habe mich raus teleportiert bzw. /setint 0. Bin dann zum Eingang , hat geklappt, dann wieder Raus dann ging es.
    Aber wenn ich gespawnt bin und direkt raus möchte geht es nicht.


    Bin mir nicht sicher aber vielleicht hat es was mit den Virtual Worlds auf sich? Oder kann das damit was zutun haben? Aber ich sehe aufjedenfall alle Enter / Exit Pickups etc.

  • Hier dazugehörige new Frakspawns :
    Das 2. bei Frakspawns ist glaube ich auch LSPD Spawn.


  • Versuche
    {232.5897,74.6282,1005.0391,269.9863, 6,0, 37, -1},
    zu:
    {232.5897,74.6282,1005.0391,269.9863, 6,0, 36, -1},


    Wenn das klappt, dann auch darunter die 38 zu 37.


    Dann wäre der Grund der, dass in der Buildings Liste ein Building ausgesternt wurde.