[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
  • C
    ShowPlayerDialog(playerid,DIALOG_AGE, DIALOG_STYLE_INPUT, "NewLife-Regestration", ""#HTML_GELB"Bitte trage dein Alter ein! \n"#HTML_ROT"*Hinweis: "#HTML_WEIS"z.B 16", "Login", "Cancel");

    Das muss nach der switch-Anweisung hin. :)

  • Beitrag von Jeffry ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Meine letzte Hilfe die ich heute brauche...
    unzwar wie lasse ich hier das eingegebene Alter überschreiben?



    if(dialogid == DIALOG_AGE)
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_AGE,DIALOG_STYLE_INPUT,"NewLife-Regestration",""HTML_GELB"Bitte trage dein Alter ein! \n"HTML_ROT"*Hinweis: "HTML_WEIS"z.B 16", "Weiter", "Abbruch");
    }
    else
    {
    SpielerInfo[playerid][pAlter] = inputtext;
    }
    }
    else
    {
    Kick(playerid);
    return 1;
    }
    }

  • Hi :D


    Wie schreib ich das Alter direkt in die DateBank?


    So Save ich mein Player:
    mysql_SetInt("accounts", "Navigation", SpielerInfo[playerid][pNavigation], "Name", SpielerInfo[playerid][pName]);


    Und hier soll es nicht in das pAlter sondern direkt in die Datenbank geladen werden



    if(dialogid == DIALOG_AGE)
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_AGE,DIALOG_STYLE_INPUT,"NewLife-Regestration",""HTML_GELB"Bitte trage dein Alter ein! \n"HTML_ROT"*Hinweis: "HTML_WEIS"z.B 16", "Weiter", "Abbruch");
    }
    else
    {
    SpielerInfo[playerid][pAlter] = strval(inputtext);
    SetPlayerScore(playerid, 1);
    SetPlayerColor(playerid, COLOR_PINK);
    SavePlayer(playerid);
    SetPVarInt(playerid,"Eingeloggt",1);
    SpawnPlayer(playerid);
    }
    }
    else
    {
    Kick(playerid);
    return 1;
    }
    }

  • Ich habe das Problem dass es nicht in die Datenbank eingetragen wird, passwort aber...



    if(dialogid == DIALOG_AGE)
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_AGE,DIALOG_STYLE_INPUT,"NewLife-Regestration",""HTML_GELB"Bitte trage dein Alter ein! \n"HTML_ROT"*Hinweis: "HTML_WEIS"z.B 16", "Weiter", "Abbruch");
    }
    else
    {
    SpielerInfo[playerid][pAlter] = strval(inputtext);
    mysql_SetInt("accounts", "Alter", strval(inputtext), "Name", SpielerInfo[playerid][pName]);
    SetPlayerScore(playerid, 1);
    SetPlayerColor(playerid, COLOR_PINK);
    SetPVarInt(playerid,"Eingeloggt",1);
    SpawnPlayer(playerid);
    SendClientMessage(playerid, COLOR_HELLBLAU, "===> Willkommen auf "ServerName" <===");
    SendClientMessage(playerid, COLOR_ORANGE, "Es folgt nun der Server-Trailer!");
    SendClientMessage(playerid, COLOR_ORANGE, "Nach dem Trailer kannst du entscheiden ob du dir das Tutorial anschauen willst!");
    SendClientMessage(playerid, COLOR_ORANGE, "Das ganze Server-Team wünscht dir viel Spaß, bei fragen /support!");
    }
    }
    else
    {
    Kick(playerid);
    return 1;
    }
    }

  • ALTER ist eine MySQL Anweisung.
    Versuche es deshalb mit dem Spalten Namen pAlter:
    mysql_SetInt("accounts", "pAlter", strval(inputtext), "Name", SpielerInfo[playerid][pName]);


    Wenn das nicht hilft, füge davor noch ein GetPlayerName ein:
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);

  • Beitrag von malE ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Warum crasht GTA wenn ich dieses listitem öffne?


    Es werden alle Freunde von 'playerid' angezeigt und abfragt ob Freund[i] online ist.

  • Gibt es irgendeine andere Möglichkeit die Tasten KEY_UP etc. ohne OnPlayerUpdate oder einen extra Timer, abzufragen?

    Nein, da diese Keys nicht unter OnPlayerKeyStateChange abgefragt werden, muss man es in einen Timer oder OnPlayerUpdate packen. Eine einfache if-Abfrage ist aber in OnPlayerUpdate absolut kein Problem.

  • Du speicherst die ClickedID in einer Spielervariable. Also z.B so:
    new ClickedPlayer[MAX_PLAYERS];
    Im Public:
    ClickedPlayer[playerid] = clickedplayerid;


    #handy

    Das verstehe ich nicht so wirklich. Ich beschreib einfach mal mein Problem genauer.
    Ich will aus dieser Funktion:
    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    if(IstSpielerInFraktion(playerid,1))
    {
    if(IstSpielerImDienst(playerid,1))
    {
    ShowPlayerDialog(playerid,DIALOG_WANTEDS,DIALOG_STYLE_LIST,"Fahndungsliste","Beamtenbehinderung\nFlucht\nBeamtenbeleidigung\nKörperverletzung","Bestätigen","Abbrechen");
    }
    }
    return 1;
    }


    dem die clickedplayerid speichern und hier:


    if(dialogid == DIALOG_WANTEDS)
    {
    if(listitem == 0)
    {
    SetPlayerWantedLevel(clickedplayerid,2);
    }
    }


    wieder nutzen.

  • So war es von N0SKILL gemeint:
    Unter den Includes:
    new ClickedPlayer[MAX_PLAYERS];


    Und dann:
    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    if(IstSpielerInFraktion(playerid,1))
    {
    if(IstSpielerImDienst(playerid,1))
    {
    ClickedPlayer[playerid] = clickedplayerid;
    ShowPlayerDialog(playerid,DIALOG_WANTEDS,DIALOG_STYLE_LIST,"Fahndungsliste","Beamtenbehinderung\nFlucht\nBeamtenbeleidigung\nKörperverletzung","Bestätigen","Abbrechen");
    }
    }
    return 1;
    }


    if(dialogid == DIALOG_WANTEDS)
    {
    if(listitem == 0)
    {
    SetPlayerWantedLevel(ClickedPlayer[playerid],2);
    }
    }

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