[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
  • Ich komme nicht mehr zurück, in den Drive By Modus. Wieso?


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys & KEY_CROUCH && GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
    {
    if((gettime()-DriveByCount[playerid]) > DRIVEBY_COUNT)
    {
    new tick = GetTickCount();
    if(tick - g_TickPushed[playerid] < DOUBLE_CLICK_TIME)
    {
    g_Weapon[playerid] = GetPlayerWeapon(playerid);
    g_Count[playerid] = REARMED_WEAPON_UPDATES;
    ApplyAnimation(playerid,"PED","facanger",4.1,0,1,1,1,1);
    SetPlayerArmedWeapon(playerid, 0);
    DriveByCount[playerid] = gettime();
    }
    g_TickPushed[playerid] = tick;
    SendClientMessage(playerid, COLOR_GREY, "Du kannst den DriveBy Modus mit der Taste 'H' wieder verlassen.");
    }
    else
    {
    new string[128];
    format(string, sizeof(string),"Du kannst in %d Sekunden wieder in den Drive By Modus gehen.", (gettime()-DriveByCount[playerid]));
    SendClientMessage(playerid, COLOR_GREY, string);
    return 1;
    }
    }
    return 1;
    }


    public OnPlayerUpdate(playerid)
    {
    if(g_Count[playerid])
    {
    if(--g_Count[playerid] == 0)
    {
    SetPlayerArmedWeapon(playerid, g_Weapon[playerid]);
    }
    }
    return 1;
    }

  • Ich hab leider ein weiteres Problem ...




    Zeile 1150:

    Code
    if(!IsPlayerInRangeOfPoint(playerid, 5, tInfo[tID][i_x], tInfo[tID][i_y], tInfo[tID][i_z])) return  SCM(playerid, COLOR_BLUE, "[INFO] {FFFFFF}Du bist nicht in der nähe vom Bezahlpunkt");


    Zeile 1155:

    Code
    tInfo[tID][biz_kasse] += pInfo[playerid][tankkosten];


    tInfo Enum:

    Ich hab schon wieder nen brett vorm kopf ...


    MfG
    XonarZ

  • Beitrag von Jorrow ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Kurze frage an euch...



    Wen ich ein Notruf annehme ja..
    Sollte ein Gametext erscheinen Wieviel sekunden er noch Zeit hat bis die Person "Respawnt"



    PlayerInfo[playerid][pTotUnix] das kann man verwenden wielange er noch im krankenhaus ist.

  • Ja...wieso machst du das nicht einfach? :D



    new string[128];
    format(string,sizeof(string),"Spieler ist noch %d Sekunden im Krankenhaus!", PlayerInfo[pID][pTotUnix]-gettime());
    GameTextForPlayer(playerid, string, 5000, 5);


    Aber ich empfehle dir ein TextDraw oder sowas...GameTexte sind eigentlich immer sehr ungeeignet :)

    ast2ufdyxkb1.png


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

  • Hier sind die einzelnen Werte (markiert)



    Number of vehicle models: 5
    OnNormalCarsLoad wurde aufgerufen
    [xVehicle] 2 vehicle loaded.
    [xVehicle] 0 vehicle loaded.
    wid wert 5
    ID ist 2

    [debug] Run time error 4: "Array index out of bounds"
    [debug] Attempted to read/write array element at index 65535 in array of size 2000
    [debug] AMX backtrace:
    [debug] #0 0006518c in ?? (5, 1926440, 1, 1141493789, -996284512, 1099415840, 1124079062, 1, 1) from cops.amx
    [debug] #1 0004e918 in public OnDialogResponse (0, 37, 1, -1, 1926436) from cops.amx

  • Attempted to read/write array element at index 65535 in array of size 2000

    Schau mal diese Zeile an, was sagt uns das?


    array of size 2000. Das bedeutet du hast irgendwo ein Array mit MAX_VEHICLES deklariert


    und versuchst auf den index 65535 zuzugreifen.


    65535 entspricht INVALID_PLAYER_ID.


    Ich kenn jetzt deinen Code nicht, schau doch einfach mal die einzelnen Variablen an und überlege, welcher den Wert INVALID_PLAYER_ID haben könnte :)

    ast2ufdyxkb1.png


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

  • Beitrag von XonarZ ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Probleme gelöst. Das Problem war wieder das Ding vor dem Bildschirm *facepalm* ().
  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Gibt es eine Möglichkeit die Fahrzeuge auf einem Packer (ID 443 / Son LKW wo man Fahrzeuge rauf fahren kann), zu freezen, dass die nicht runter fallen ?

    Nicht sehr gut.


    Besser wäre es ein Auto Objekt zu nehmen und dieses an den Schlepper zu attachen.

    ast2ufdyxkb1.png


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


  • Hab jetzt mal den Fehlerbereich eingegrenzt indem ich einen neuen Array MAX_USER_CARS erstellt habe, (der andere array war


    aus einem Include)



    Code
    #define MAX_USER_CARS 311
    
    
    MAX_USER_CARS wird dafür benutzt
    
    
    newxVehicle[MAX_USER_CARS][xv_data],xVeh[MAX_USER_CARS],
    offerTimer[MAX_PLAYERS],
    Iterator:xVehicles<MAX_USER_CARS>,
    Iterator:xVehicleKeys<MAX_USER_CARS, MAX_USER_CARS>;


    Wüsste jetzt auch nicht wie ich herausfinden könnte welcher wert denn jetzt Invalid ist


    [xVehicle] 3 vehicle loaded.
    [xVehicle] 2 vehicle loaded.
    [debug] Run time error 4: "Array index out of bounds"
    [debug] Attempted to read/write array element at index 65535 in array of size 311
    [debug] AMX backtrace:
    [debug] #0 00065004 in ?? (4, 1491104, 1, 1141493789, -996284512, 1099415840, 1124079062, 1, 1) from cops.amx
    [debug] #1 0004e7e8 in public OnDialogResponse (0, 37, 1, -1, 1491100) from cops.amx

  • Guten Abend,
    hat jemand zufällig den passenden Code, damit der "Zug" (Fahrzeug ID: 538) am Bahnhof Los Santos steht (nähe der Grove Street Tanke), bei mir steht er immer so,
    dass die Wagons im Tunnel stehen oder nicht am Bahnsteg stehen.


    Mein Code:

    Code
    AddStaticVehicleEx(538, 1778.9557,-1954.0214,13.5469,269.6546, 1, 1, -1);


    Hoffe jemand hat den richtigen.


    MfG.

  • public OnPlayerCommandPerformed(playerid, cmdtext[], success)
    {
    if(success)
    {
    if(PlayerInfo[playerid][lastcommand]>gettime()) return SendClientMessage(playerid,-1,"* Please wait before using this command again.");
    else
    {
    PlayerInfo[playerid][lastcommand] = gettime()+10000;
    return 1;
    }
    }
    return SendClientMessage(playerid,COLOR_RED,"Unkown Command: Use /Commands for help");
    }



    Kann immernoch Befehle Spammen,


    hatte das Problem schon mal in anderer Form und war schon damals so nicht zu lösen,


    jemand ne Idee?

  • Beitrag von Dr. Frauenarzt ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Fehler gefunden ().
  • Kann immernoch Befehle Spammen,

    Das ist der falsche Callback...du musst das unter OnPlayerCommandReceived packen...


    Und dann glaube ich auch mit return 0; musst nochmal nachlesen.



    CreateObject oder wie ?

    ....gibt es noch andere Wege Objekte zu erstellen? ^^


    #Handy

    ast2ufdyxkb1.png


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

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen