[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
  • Warum wird der Spieler nicht gespeichert?

    2 Mal editiert, zuletzt von Marschl ()

  • Das printe dir das Query und fügs mal in PHPMyAdmin oder so ein und schau ob er dir da was ausgibt.


    Hast du denn schon Einträge in der Datenbank?

    ast2ufdyxkb1.png


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

  • Ja der Spieler wurde erstellt und eigetragen.
    Komischerweise wird beim Query für die ID 50 den query abgeschickt, als anstatt für ID 1


    SQL
    UPDATE `vr_accounts` SET `Tutorial`='0', `Level`='0', `Geld`='0', `SpawnChange`='0', `Skin`='78', `Admin`='0', `Perso`='0', `Fraktion`='0', `FraktionRang`='0', `LastIP`='e' WHERE `ID`='50'

    Und bei LastIP wird irgendwie ein e ausgegeben :(

  • Ja ich lese die p_ID mit cache_insert_id() bei OnUserRegister. Und ich lade sie ganz normal wie alle anderen integer auch aus und irgendwie wird in der Datenbank beim query immer 50 angegeben

    Einmal editiert, zuletzt von Marschl ()

  • Wie sieht die Funktion zum Laden der Statistiken aus, und wie das enum dazu?

    Hat sich erledigt. Auf meinem anderen Root geht es ohne Probleme. Auf dem alten hatte ich probleme mit dem MySQL Server. der ist immer abgestürzt. Lag warscheinlich iwie daran oder so.
    Funktioniert danke!

  • Bei mir auf meinem Windows PC funktioniert das Discord Connector Plugin von maddinator aber auf meinem Server mit Linux funktioniert es nicht...
    In der server.log gibt es mir folgendes aus:


    Code
    [18:42:50]  Loading plugin: discord-connector.so
    [18:42:50]   Failed (libssl.so.1.0.0: cannot open shared object file: No such file or directory)

    Das libssl Paket ist aber auf dem Server installiert...

  • Heii,
    ich möchte ein Dialog im MSGBox Style machen indem alle Admin aufgelistet werden die Online sind.
    Und es sollen die Admin Rot sein die gerade online sind. Wie stellt man sowas an?
    Grüße

    Mit for oder foreach durch alle Spieler loopen abfragen ob sie ein Admin sieht, wenn ja einfach den Namen und vllt. Rang mit format formatierne.
    Als Denkanstoß wies ungefähr aussieht mal mein Befehl:

    CMD:admins(playerid, params[])
    {
    new iString[512] = "Name\tRang\tStatus\n";



    foreach(new i : Player)
    {
    if(Player[i][Level] > 0 && Player[i][IsOnDuty] == true)
    {
    format(iString, sizeof(iString), "%s{00c5ff}%s\t{84758A}%s\t{00FF7F}Im Dienst\n", iString, Player[i][Name], GetRang(i));
    }
    else if(Player[i][Level] > 0 && Player[i][IsOnDuty] == false && Player[i][IsAFK] == false)
    {
    format(iString, sizeof(iString), "%s{00c5ff}%s\t{84758A}%s\t{FECDCA}Online\n", iString, Player[i][Name], GetRang(i));
    }
    else if(Player[i][Level] > 0 && Player[i][IsAFK] == true)
    {
    format(iString, sizeof(iString), "%s{00c5ff}%s\t{84758A}%s\t{E8702A}AFK\n", iString, Player[i][Name], GetRang(i));
    }
    }



    if(strlen(iString) < 1) ShowPlayerDialog(playerid,DIALOG_HELPS,DIALOG_STYLE_MSGBOX,"{FFFF00}Teammitglieder Online", "Keine Teammitglieder Online","Ok","");
    else ShowPlayerDialog(playerid,DIALOG_HELPS,DIALOG_STYLE_TABLIST_HEADERS,"{FFFF00}Teammitglieder Online", iString,"Ok","");



    return 1;
    }

  • Ich habe das bis jetzt bin mir aber nicht genau sicher wie ich abfrage wer Duty ist und wer nicht. Ebenfalls nicht wie die Admins auflisten lassen soll :(

    Einmal editiert, zuletzt von Marschl ()

  • [pwn]
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(sI[i][pAdmin] <= 0)continue;
    if(sI[i][pAdminDuty] == false)continue; //<- Ersetzen durch deine abfrage ob er Duty ist
    format(d_info, sizeof(d_info), "");
    }
    // Hier die Nachricht dann Anzeigen lassen
    {/pwn]


    Das sollte es auch gewesen sein wenn ich mich recht Erinnere

    Die Missglückte Persönlichkeit, Ciao!


  • ocmd:admins(playerid)
    {
    new name;
    for(new i;i<MAX_PLAYERS; i++)
    {
    for(new a;a<sI[i][pAdmin] >= 1; a++)
    {
    GetPlayerName(i, name, sizeof(name));
    if(sI[i][pDuty] == 1)
    {
    format(d_info, sizeof(d_info), "%s{FF0000}%s | Im Dienst\n",d_info, name);
    }
    else
    {
    format(d_info, sizeof(d_info), "%s{FFFF00}%s | Online\n",d_info, name);
    }
    }
    }
    ShowPlayerDialog(playerid, 2983, DIALOG_STYLE_MSGBOX, "Teammitglieder Online", d_info, "Ok", "");
    return 1;
    }