[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

  • mysql_log(ALL);

  • Ist es möglich mit eine Dialog-Liste mit unbestimmten Elementen (listitem) zu erzeugen?


    Bsp.:


    Eine Datenbank mit einigen Datensätzen. Diese sollen in der Dialog-Liste angezeigt werden und auch auswählbar sein, sodass auch was passiert wenn diese ausgewählt werden.


    Nun ist diese Liste nicht konstant, sondern ändert sich ständig (Löschen von Datensätzen bzw. Erstellen). Das Problem ist nun switch(listitem) (was ich benutze).
    Wie drückt man das aus in OnDialoResponse, da ich keine feste Anzahl an Fällen (case) habe?


    Mein Ansatz wären die Anzahl der Zeilen (rows), weitre komm ich gerade nicht.


    TL;DR: Hauptproblem: Auswählen von einer unbestimmten Anzahl an Listen-Elementen .

  • Ist es möglich für einen bestimmten Spieler ein Object zu bewegen habe da nichts gefunden,
    z.B das man es so macht wenn die "Gefängnis Zeit" abgelaufen ist sich das Tor für diesen Spieler öffnet.


    Halt so was wie
    MoveObjectForPlayer

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

  • Ist es möglich für einen bestimmten Spieler ein Object zu bewegen habe da nichts gefunden,
    z.B das man es so macht wenn die "Gefängnis Zeit" abgelaufen ist sich das Tor für diesen Spieler öffnet.


    Halt so was wie
    MoveObjectForPlayer

    Wie kann man da nichts gefunden haben?


    [wiki]MovePlayerObject[/wiki]


    Dafür musst du allerdings für jeden spieler dieses Tor einzeln erstellen erstellen mit [wiki]CreatePlayerObject[/wiki].

  • Hey, und zwar habe ich nun bei PAWNO, auf new gedrückt und erstelle theoretisch ein neues Script.
    Aber jetzt kommen schon die ersten Probleme.


    if(strcmp(cmdtext, "/skin", true) == 0)
    {
    SetPlayerSkin(playerid, 202);
    SendClientMessage(playerid,0x9ACD32AA,"Dein Skin wurde dir gesetzt.");
    return 1;
    }





    Ich kriege einfach die Antwort: "SERVER: Unkown Command"

  • returnst du das Callback OnPlayerCommandText mit 0 oder 1? Wenn 1, dann ändere es zu return 0;. [wiki]OnPlayerCommandText[/wiki] hier kannst du auch weiterlesen.

    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/skin", true) == 0)
    {
    SetPlayerSkin(playerid, 202);
    SendClientMessage(playerid,0x9ACD32AA,"Dein Skin wurde dir gesetzt.");
    return 1;
    }
    return 0;
    }

  • @Cireyses


    Es ist ein IP-Bann System (Ist ein mix aus MySQL (Speicherung der gesperrten IPs) und /rcon banip bzw. unbanip )


    Beim Problem geht es hier nur um das Entbannen:


    Wenn die IP in der Liste ausgewählt wird soll diese auch entsperrt werden


    Es werden dem Admin (Bsp.: Head-Admin) nur die IPs angezeigt die er auch selber gesperrt hat.
    Nur der ranghöchste Admin (Bsp.: Projektleiter) kann alle gesperrten IPs sehen.


    Deshalb ist die Länge der Liste bei jedem Spieler anders weshalb listitem immer verschieden groß ist.

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

    Ich gehe davon aus, dass du ein Array mit den IP's und der ID (o.ä.) des Admins hast?


    Du baust dir dein Dialog über eine Schleife diesen Array auf (hast du denke ich auch mal schon erledigt).


    Mit der gleichen Schleife, nur eben ohne der Zusammensetzung des Dialogs, kannst du dann mit einem Counter abfragen, welches IP angeklickt wurde.


    Hier ein Beispiel:


    Ist schnell abgetippt. Sollte so aussehen.

  • Beitrag von PigglWiggl ()

    Dieser Beitrag wurde von Canna aus folgendem Grund gelöscht: Spam ().
  • Habe ein Problem:


    wie baue ich das mit else if rein? Folgender ERROR kommt: error 001: expected token: "*then", but found ";"



    if (strcmp("/loadbenzin", cmdtext, true, 10) == 0)
    {
    if (IsPlayerInRangeOfPoint(playerid, 7.0, 260.0804,1371.4133,10.4647))
    {
    ShowPlayerDialog(playerid, DIALOG_LOADBENZIN, DIALOG_STYLE_LIST, "Loadbenzin", "1000 Liter\n5000 Liter\n8000 Liter", "Einladen", "Abbrechen");
    return 1;
    }
    else if
    SendClientMessage(playerid,0xAA3333AA,"Du bist nicht in der Nähe!");
    }
    return 0;
    }

    Einmal editiert, zuletzt von Nikiark ()

  • wie baue ich das mit else if rein? Folgender ERROR kommt: error 001: expected token: "*then", but found ";"

    if(strcmp("/loadbenzin", cmdtext, true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 7.0, 260.0804,1371.4133,10.4647))
    {
    ShowPlayerDialog(playerid, DIALOG_LOADBENZIN, DIALOG_STYLE_LIST, "Loadbenzin", "1000 Liter\n5000 Liter\n8000 Liter", "Einladen", "Abbrechen");
    }
    else
    {
    SendClientMessage(playerid,0xAA3333AA,"Du bist nicht in der Nähe!");
    }
    return 1;
    }

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