[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
  • Moin, Gibt es eine möglichkeit alle Sprunk Automaten zu entfernen ?
    Also auch dass man diese nichtmehr nutzen kann

    Map Editor -> alle entfernen. Oder du suchst nach einem fertigen Filterscript, falls es so etwas gibt.


    Liebe Grüsse
    Colney


    //Edit: Upsi, gab ja schon Antworten :D

  • Moin, Gibt es eine möglichkeit alle Sprunk Automaten zu entfernen ?
    Also auch dass man diese nichtmehr nutzen kann

    Moin.
    Hilft das hier vielleicht ?


    https://forum.sa-mp.com/showthread.php?t=470155



    Dann könntest du abfragen ob der AnimationIndex der vom Sprunk trinken ist ( 1660 ).



    Code
    if(GetPlayerAnimationIndex(PLAYER) == 1660) //1660 = Trinkanimation
    {
    //GELD FÜR SPRUNK ZURÜCK GEBEN ODER
    //ANIMATION CLEAREN
    }

    https://wiki.sa-mp.com/wiki/GetPlayerAnimationIndex
    https://wiki.sa-mp.com/wiki/ClearAnimations


    //EDIT: MEIN BROWSER IST DOCH BEHINDERT. da steht vor 17min und es ist schon knapp n tag her

    MfG. Adrian

    Einmal editiert, zuletzt von SkeeZy ()

  • Ich weiß die Anwendung ohne Callback ist gefährlich, deswegen frage ich ob das so in Ordnung ist.
    Ich lasse am Ende den Cache auch löschen.



    if(!strcmp(call, "housecfg_rentlist", true))
    {
    new Cache:RentSQL, rows, idx = GetPVarInt(playerid, "ownHouseIndex"), sstr[480];
    format(string, sizeof string, "SELECT Name, playerid FROM player WHERE Rent = %d", hInfo[idx][hSQL]),
    RentSQL = mysql_query(handle, string);

    cache_get_row_count(rows);
    for(new z, y = rows; y > z; ++z)
    {
    cache_get_value_name(z, "Name", rentTmpName[playerid][z], MAX_PLAYER_NAME+1),
    cache_get_value_name_int(z, "playerid", rentListTmpData[playerid][z]),
    format(sstr, sizeof sstr, "%s\n%s", sstr, rentTmpName[playerid][z], rentListTmpData[playerid][z]);
    }
    ShowPlayerDialog(playerid, 500, DIALOG_STYLE_LIST, "Test", sstr, "Jo", "Okay");
    cache_delete(RentSQL);
    return 1;
    }

  • An sich sollte das so richtig sein.


    Die bessere Frage ist aber, warum willst du das so machen? Warum nutzt du keine Threaded Queries? Du solltest nicht "einfach so" eine synchrone statt einer asynchronen Variante nehmen, denn du blockierst damit den Hauptthread, also deinen kompletten Gamemode.

  • Weil ich es in der Funktion "Menu" lassen wollte, aber dieses Argument hat mich umgestimmt, ich mach es doch lieber asynchron.


    //EDIT
    Ich habe geschaut aber nicht für mich gefunden, je nach dem, wie konkret ich denn gesucht habe, ..
    Ich benötige für sämtliche Fahrzeuge die passenden Koordinaten für die Sirenen. Diese kleinen teile da, nicht die Sirenen Balken.

    Einmal editiert, zuletzt von Kasakow ()

  • Code
    [23:40:03] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
    
    
    [23:40:03] [debug]  Stack pointer (STK) is 0x130B57C, heap pointer (HEA) is 0x130B540
    
    
    [23:40:03] [debug] AMX backtrace:
    
    
    [23:40:03] [debug] #0 0001262c in public Jobt_OnPlayerConnect (0) from selfmade.amx

    Habe darüber mal gegoogelt aber finde nichts ?



    Das Problem war dass ich ein Job gestartet habe und dann plötzlich das Textdraw vom Blitzer angezeigt wurde dann habe ich das ausgeklammert und es ging.
    Deswegen habe ich die Textdraw's vom Job nach Ganz oben gemacht und dann kommt das im Chat

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Beitrag von Kasakow ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: fixed, Logik Fehler. Die VehicleID's beginnen bei 1. ().
  • if(newkeys & KEY_SECONDARY_ATTACK)
    {
    for(new i = 0; i < sizeof(Club); i++){
    if(!Club[i][clubid])continue;
    if(Club[i][clubid] != -1)
    {
    if(IsPlayerInRangeOfPoint(playerid, 2, Club[i][ClubENTERX],Club[i][ClubENTERY],Club[i][ClubENTERZ]))
    {
    if(Club[i][EntrancePrice]>0 && strcmp(GetName(playerid), Club[i][clubowner], false))
    {
    // IF STRLEN Owner > ENtRANCPRICE > 0 )??? Return 1N
    if(Club[i][EntrancePrice]< GetPlayerMoneySave(playerid))
    {
    GivePlayerMoneySave(playerid,-Club[i][EntrancePrice]);
    Club[i][ClubDesk]+=Club[i][EntrancePrice];
    }
    else SCM(playerid,COLOR_LIGHTRED,"Du hast nicht genügend Geld bei dir!");
    }
    SetPlayerVirtualWorld(playerid,Club[i][clubid]);
    SetPlayerPos(playerid, Club[i][ClubEXITX],Club[i][ClubEXITY],Club[i][ClubEXITZ]);
    SetPlayerFacingAngle(playerid, 0 );
    SetCameraBehindPlayer(playerid);
    SetPlayerInterior(playerid,0);
    // CurrentClub[playerid] = i;
    CurrentClub[playerid] = Club[i][clubid];
    if(Club[i][AudioStreaming]==1)
    {
    PlayAudioStreamForPlayer(playerid, Club[i][AudioURL], Club[i][AudioX], Club[i][AudioY], Club[i][AudioZ], 38.0, 1);
    }
    }
    }
    }
    if(IsPlayerInRangeOfPoint(playerid, 2.0, Club[CurrentClub[playerid]][ClubEXITX], Club[CurrentClub[playerid]][ClubEXITY], Club[CurrentClub[playerid]][ClubEXITZ]))
    {
    SetPlayerPos(playerid, Club[CurrentClub[playerid]][ClubENTERX], Club[CurrentClub[playerid]][ClubENTERY], Club[CurrentClub[playerid]][ClubENTERZ]);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    CurrentClub[playerid] = -1;
    IsDancing[playerid]=0;
    if(IsADJID[playerid]>0) {
    IsADJID[playerid] = 0;
    SCM(playerid,ROT,"Du wurdest als DJ gefeuert, weil du den Club verlassen hast!");}
    }
    }





    Kriege den Fehler: [14:52:19] [debug] AMX backtrace:
    [14:52:19] [debug] #0 00047ef8 in public OnPlayerKeyStateChange (0, 24, 8) in CoLR41-4.amx
    [14:52:19] [debug] Run time error 4: "Array index out of bounds"
    [14:52:19] [debug] Attempted to read/write array element at negative index -1



    Liegt vlt. an "Club[i][clubid]"aber ich kann mir ehrlich gesagt nicht genau erklären warum

  • [16:40:42] Here XXO X X X X X X X X
    [16:40:42] Here XXO X X X X X X X X
    [16:40:42] Here XXO X X X X X X X X
    [16:40:42] Here XXO X X X X X X X X
    [16:40:42] Here XXO X X X X X X X X
    [16:40:42] Here XXO X X X X X X X X
    [16:40:42] ClubID: 5
    [16:40:42] Here XXO X X X X X X X X
    [16:40:42] Here XXO X X X X X X X X
    [16:40:42] Here XXO X X X X X X X X
    [16:40:42] ClubID: 8
    [16:40:42] Here XXO X X X X X X X X




    XXO XX steht für die jeweilige Runde in der for schleife also insgesamt 10


    [16:53:01] [debug] Run time error 4: "Array index out of bounds"
    [16:53:01] [debug] Attempted to read/write array element at negative index -1
    [16:53:01] [debug] AMX backtrace:
    [16:53:01] [debug] #0 00047f6c in public OnPlayerKeyStateChange (0, 16, 0)

  • Beitrag von Kasakow ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Fixed, Ich hatte "Buygun" weiter oben schon mal abgefragt. ().
  • Könnte ich theoretisch nicht einfach ganz viele Variablen aus einer machen?


    Sagen wir ich benutzte die Zahlen 0 und 1 (Benutzte ich als true/false), dann könnte man doch aus der Zahlen-Stelle weitere Variablen erstellen.


    Heißt, ich speicher in der Datenbank als Beispiel: 01100111.
    Jetzt nehme ich mir die Zahlen und frage ab, welche Zahl die erste Stelle hat, die zweite Stelle hat usw.


    Meine Fragen:
    Wie frage ich die Zahl an der bestimmten Stelle ab?
    Wie verändere ich eine Zahl an einer bestimmten Stelle, ohne die anderen Stellen zu ändern?

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.