[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Was zur Hölle machst du da?


    Kommt es dir nicht merkwürdig vor 80x das Selbe Query zu schicken für nix?


    Und das eine SELECT Query verläuft im Sande...


    Das würde als Querys vollkommen reichen.


    Allerdings wieso nutzt du da schon cache_insert_id? Wird das alles etwa schon über ein mysql query aufgerufen?


    Vielleicht eröffnest du auch mal einen separaten Thread dafür, da immer 1000x hin und her Antworten im Sammelthread echt nervig ist, vor allem, wenn jemand nochmal so ein Problem hat, kann man ihn nicht auf etwas konkretes verweisen.


    Und vllt solltest du wie gesagt dir nochmal die Basics o.ä. erklären lassen, vllt bietet sich ja einer hier an dir ein wenig Nachhilfe zu geben oder so.


    Dieses tausendfache ausprobieren was du hier tust, bringt dir nur sehr sehr schleppend voran, zumal du dann meist vermutlich gar nicht weißt, wieso es überhaupt geklappt hat.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Das reicht leider nicht, da 4 Charactere pro Account erstellt werden sollen.

    Achsooo, das hast du da vor.


    Ufff, dann kannst du das nicht so machen, da ja accountid immer gleich wäre pro Spieler (also hätten 4 Charaktere die selbe accountid jeweils).

    Bei character_pos beziehst du dich auf die accountid, was ja aber nicht mehr funktioniert, da wir nun 4x die Gleiche accountid hätten.


    Da muss der Primary Key z.B. aus 2 Spalten wie accountid & slot bestehen, damit das eindeutig referenzierbar wäre.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Ufff, dann kannst du das nicht so machen, da ja accountid immer gleich wäre pro Spieler (also hätten 4 Charaktere die selbe accountid jeweils).

    Bei character_pos beziehst du dich auf die accountid, was ja aber nicht mehr funktioniert, da wir nun 4x die Gleiche accountid hätten.


    Da muss der Primary Key z.B. aus 2 Spalten wie accountid & slot bestehen, damit das eindeutig referenzierbar wäre.

    Du meinst jeder der 4 Characktere die selbe Accountid? Aktuell hat in meiner DB jeder Charackter eines Accounts die selbe Accountid, heißt ein Account z. B. (Allrounder18) = 4 Charactere z. B. (Luis_Bauer, Susi_Saier, ... , ...).

  • Code
    gamemodes\ilovedm.pwn(1939) : error 029: invalid expression, assumed zero
    gamemodes\ilovedm.pwn(1939) : warning 215: expression has no effect
    gamemodes\ilovedm.pwn(1939) : error 001: expected token: ";", but found ")"
    gamemodes\ilovedm.pwn(1939) : error 029: invalid expression, assumed zero
    gamemodes\ilovedm.pwn(1939) : fatal error 107: too many error messages on one line
    
    Compilation aborted.Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase
    
    
    4 Errors.

    Error wurde Markiert! (( ERROR ))


    Kann mir bitte wer helfen?


    Maho

    Kaliber

    Jeffry

  • Klammerfehler wird angezeigt, Schon alles versucht passiert nichts

    Boah dann fix es


    Du willst mich kennenlernen? Kauf mein Buch, Bia*ch!


  • Tja, dann haben wir alles getan.

    Da du selbst nichts machen möchtest, wirst du wohl oder übel damit leben müssen.


    Tut mir leid.


    Boah dann fix es


    Hab es gefixt

    Du willst mich kennenlernen? Kauf mein Buch, Bia*ch!


  • Moin,


    wenn der Spieler stirbt, soll er nach dem Spawn wieder an der gleichen Stelle spawnen.


    Nur irgendwie wird er immer an die Stelle gesetzt, wo er bei OnPlayerRequestClass standartmäßig steht.



    Code
    //OnPlayerDeath
    PlayerInfo[playerid][pDeaths]++;
    GetPlayerPos(playerid,PlayerInfo[playerid][DeadPosX],PlayerInfo[playerid][DeadPosY],PlayerInfo[playerid][DeadPosZ]);
    MapAndreas_FindZ_For2DCoord(PlayerInfo[playerid][DeadPosX],PlayerInfo[playerid][DeadPosY],PlayerInfo[playerid][DeadPosZ]); // if he is in a plane or smth
    SendDeathMessage(killerid, playerid, reason);


    (Ja pDead wird auf true gesetzt)






    Hätte jemand ne Idee worans liegt?


    LG

  • Nur irgendwie wird er immer an die Stelle gesetzt, wo er bei OnPlayerRequest standartmäßig steht.

    Verwendest du evtl DeadPosX noch irgendwo anders? Bzw, dass sich das dann evtl überschreibt?

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Eventuell in ein paar Includes?


    Ansonsten printe es dir einfach mal bei OnPlayerDeath und OnPlayerSpawn die Variablen :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Code
    [20:04:17] OnPlayerDeath: pDeadPosX: -65.428703, pDeadPosY: -1359.864013, pDeadPosZ: 12.461299
    [20:04:17] OnPlayerSpawn: pDeadPosX: -65.428703, pDeadPosY: -1359.864013, pDeadPosZ: 11.420000




    Code
    //OnPlayerDeath
    
    PlayerInfo[playerid][pDeaths]++;
        GetPlayerPos(playerid,PlayerInfo[playerid][DeadPosX],PlayerInfo[playerid][DeadPosY],PlayerInfo[playerid][DeadPosZ]);
        printf("OnPlayerDeath: pDeadPosX: %f, pDeadPosY: %f, pDeadPosZ: %f",PlayerInfo[playerid][DeadPosX],PlayerInfo[playerid][DeadPosY],PlayerInfo[playerid][DeadPosZ]);
        MapAndreas_FindZ_For2DCoord(PlayerInfo[playerid][DeadPosX],PlayerInfo[playerid][DeadPosY],PlayerInfo[playerid][DeadPosZ]); // if he is in a plane or smth
        SendDeathMessage(killerid, playerid, reason);



    Sind identisch.


    Generell scheint irgendwas mit dem Spawnsystem nicht zu stimmen.



    https://i.imgur.com/dAKqDvL.mp4 ( Die Kamera fadet bspw nicht aus )



    Die Koordinaten wären dann hier:


    SuBAwDB.png

  • Das sieht für mich schon fast nach einem Syncro Problem aus...


    Kannst ja mal aus Spaß einen Leeren Gamemode schreiben, wo du das so verwendest und dann mal testest, wenn es da funktioniert, impliziert das ein Syncro Problem.


    Das kann entstehen, wenn zu viel unter OnPlayerUpdate ist oder wenn da return 0; zurückgegeben wird.



    //Edit:

    Evtl kannst sogar über das Profiler Plugin mal ermitteln, wie das bei deinem Server so ist.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Habs mal auf nem leeren Game-Mode getestet, da ist es genau das gleiche.


    Wo ist denn dann der Fehler? Wie hättet ihr es gemacht?



    //Edit das mit der Position sollte nun gehen, hab das mit GetPlayerPos einfach


    bei meinem updater reingehauen.


    Nur das mit Fast-Respawn ist irgendwie seltsam, ich glaube die Ursache ist nicht behoben