[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
  • Beitrag von Edgar ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Ups.. 3 Stunden zuspät. :D ().
    • Offizieller Beitrag

    Hi @Jeffry.


    Bin schon etwas länger dran. Habe da ein Problem:
    Ich besitze ein 2D-Array declariert als Float.
    Nun, jetzt benötige ich die exakte Anzahl der Float in den Arrays.


    Bspw:

    Code
    new Float:array[][] = {
    {1.0, 2.0, 3.0}, // 3 Floats
    {5.0, 6.0, 7.0, 5.0}, // 4 Floats
    .. usw
    };


    Nun, mit sizeof wird das ja anscheinend nicht, erhalte mit jeglicher Methode nur Errors.


    Benötige das für folgende Funktion: CreateDynamicPolygon. Gibt es da vielleicht etwas? Ein Plugin oder bereits eine Funktion?


    Danke im Voraus.


    Gruß.

  • wieso funktioniert der Code nicht? Ich will nur die ID des Hauses ablesen.



    stock GetHausID(playerid)
    {
    new query[200], Get[130];
    format(query, 200, "SELECT `ID` FROM `hauser` WHERE `Besitzer` = '%s'", SpielerInfo[playerid][p_Name]);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    mysql_free_result();
    return Get;
    }

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

  • Ist der Fehler gelöst oder nicht? Das mit dem Script laden kann viele Gründe haben ^^

    Nein noch nicht....


    Ich habe das Script vor 2 Wochen noch so überlassen und habe in der Zeit natürlich den Fehlerort vergessen, also wo ich da einen fehler verursacht habe durch hinzufügen editieren.




    Server LOG Teil:


    Code
    [25.06.2017 - 21:52:26]bind 37.187.95.186 Script[gamemodes/IVL.amx]: Run time error 19: "File or function is not found"
    [25.06.2017 - 21:52:26]bind 37.187.95.186 Number of vehicle models: 0

    Einmal editiert, zuletzt von Xytronix ()

  • Nun, mit sizeof wird das ja anscheinend nicht, erhalte mit jeglicher Methode nur Errors.

    Das geht so leider nicht.


    Was du machen kannst ist, das Array bis zum Maximum mit Nullen aufzufüllen.
    new Float:array[][] = {
    {1.0, 2.0, 3.0, 0.0}, // 3 Floats
    {5.0, 6.0, 7.0, 5.0}, // 4 Floats
    //.. usw
    };


    Die Anzahl der Werte pro Zeile kannst du dann mit einer Schleife herausfinden, indem du bis zu sizeof(array[]) zählst, wie viele Zahlen nicht null sind.


    Der Link funktioniert aber bei mir nicht, deshalb die frage

    Nutze das Crashdetect Plugin, nativechecker ist nicht mehr zu empfehlen.
    http://forum.sa-mp.com/showthread.php?t=262796

  • Hey kurze frage warum wird Messages nicht gespeichert?


    Alles korrekt in der Datenbank Eingetragen



    Benötige immer noch hilfe bitte danke

  • moin 2 probleme.


    einmal beim ersten dialog kommt bei abbrechen immer der einzahlen dialog


    und einzahlen funktioniert garnicht.



    ocmd:bank(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,2,2316.2927,-12.7943,26.7422)) return SendClientMessage(playerid,FehlerRot,"Du bist nicht am Bankschalter!");
    ShowPlayerDialog(playerid,BANK,DIALOG_STYLE_LIST,"Was möchten sie tun?","Einzahlen\nAuszahlen\nKontostand\nLeaderfunktionen","Auswählen","Abbrechen");
    return 1;
    }



    if(dialogid == BANK)
    {
    {
    switch(listitem)
    {
    case 0: ShowPlayerDialog(playerid,BANK2,DIALOG_STYLE_INPUT,"Einzahlung","Geben sie den Betrag ein den sie Einzahlen möchten!","Einzahlen","Abbrechen");
    case 1: ShowPlayerDialog(playerid,BANK3,DIALOG_STYLE_INPUT,"Auszahlung","Geben sie den Betrag ein den sie Auszahlen möchten!","Auszahlen","Abbrechen");
    case 2: ShowPlayerDialog(playerid,BANK4,DIALOG_STYLE_MSGBOX,"Kontostand","Ihr Kontostand beträgt %s$","Schließen","Zurück");
    case 3: if(sSpieler[playerid][Leader] > 0) return ShowPlayerDialog(playerid,BANK5,DIALOG_STYLE_LIST,"Leaderfunktionen","Fraktionskontostand\nFraktionskonto Einzahlen\nFraktionskonto Auszahlen","Auswählen","Abbrechen");
    }
    return 1;
    }
    }
    if(dialogid == BANK1)
    {
    {
    if(response == 1)
    {
    if(strlen(inputtext) > 0)
    {
    new geld = strval(inputtext);
    new text[100];
    new bank = sSpieler[playerid][Bank];
    format(text,sizeof(text),"Du hast %s$ eingezahlt",geld);
    format(text,sizeof(text),"Dein aktueller Kontostand: %s$",bank);
    GivePlayerMoney(playerid,-geld);
    sSpieler[playerid][Bank] += geld;
    SendClientMessage(playerid,Weiß,text);
    return 1;
    }
    if(response == 0)
    {
    SendClientMessage(playerid,Weiß,"Du hast den Vorgang abgebrochen!");
    }
    }
    }
    }
    return 1;
    }


    nicht wundern ich befolge den rat der profis und versuche es erstmal allein

  • Guten Abend,


    Ich habe eine frage,
    Wie lasse ich am besten z.b Car ID 460 19.1 Verbrauch / 100 km
    Jedes Fahrzeug hat ein anderen Verbrauch wie mache ich das am besten das ich das pro Fahrzeug anders abziehen lasse?

    Würde es über ein Array machen, wenn du wirklich für jedes einzelne Fahrzeug einen individuellen Verbrauch haben möchtest.

    Dir wird der Dialog auch immer angezeigt, weil du vergisst abzufragen, ob er wirklich den linken Button klickt (per if(response) realisierbar). Den zweiter Fehler ist dadurch begründet, dass du als dialogid BANK2 angibst, aber dein Code zur Einzahlung nur ausgeführt wird, wenn die Dialogid BANK1 lautet.

  • Beitrag von MGPK-1323 ()

    Dieser Beitrag wurde vom Autor gelöscht ().