[SAMMELTHREAD] Kleine Scripting Fragen

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Nabend, bin gerade irgendwie zu dämlich aber finde den Fehler nicht


    Code
    [23:11:49] [ERROR] error #1064 while executing query "INSERT INTO `Drogenpflanzen`(`ID`, `X`, `Y`, `Z`, `RX`, `RY`, `RZ`, `Ersteller`, `Datum`) VALUES (0, 1098.699097, -303.529572, 72.092186, 0.000000, 0.000000, 0.000000, reaL., 1551737509)": You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'reaL., 1551737509)' at line 1
    [23:15:27] [ERROR] error #1064 while executing query "INSERT INTO `Drogenpflanzen`(`ID`, `X`, `Y`, `Z`, `RX`, `RY`, `RZ`, `Ersteller`, `Datum`) VALUES (0, 1096.704346, -300.652313, 72.092186, 0.000000, 0.000000, 0.000000, reaL., 1551737727)": You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'reaL., 1551737727)' at line 1


    Code
    mysql_format(handle, string, sizeof(string), "INSERT INTO `Drogenpflanzen`(`ID`, `X`, `Y`, `Z`, `RX`, `RY`, `RZ`, `Ersteller`, `Datum`) VALUES (%d, %f, %f, %f, %f, %f, %f, %e, %d)", i, Drogeni[i][drogenpf_x], Drogeni[i][drogenpf_y], Drogeni[i][drogenpf_z], Drogeni[i][drogenpf_rx], Drogeni[i][drogenpf_ry], Drogeni[i][drogenpf_rz], Drogeni[i][drogenpf_ersteller], Drogeni[i][drogenpf_datum]);
    	mysql_pquery(handle, string);
  • Du checkst nirgendwo ob der Spieler überhaupt connectet ist. Dazu ist der String dafür nur 128 Cells groß, was viel zu klein ist.

    Und statt für Spielerloops MAX_PLAYERS zu verwenden solltest du [wiki]GetPlayerPoolSize[/wiki] verwenden.

  • Hey, ich möchte das man alle Admins sieht ob online oder Offline...
    doch irgendwie möchte es nur mich Anzeigen.




    CMD:admins(playerid)
    {
    new string[256], userId, adminstatus[35];
    switch(accinfo[playerid][pLoginStatus])
    {
    case 0:{adminstatus="Offline";}
    case 1:{adminstatus="Online";}
    }
    if(!accinfo[playerid][pLoginStatus])return SendClientMessage(playerid, COLOR_GREY, "Fehler: Du bist nicht auf deinem Account eingeloggt.");
    strcat(string, ""HTML_SERVER"Rang\t "HTML_SERVER" Name\t Status\n");
    for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPVarInt(i,"adminlevel")>0)
    {
    if(accinfo[playerid][pAdminLvl] == 2000)
    {
    format(string, sizeof(string),""HTML_RED"%s"HTML_WHITE"%s\t"HTML_WHITE"%s\n", playerteamname(userId),accinfo[playerid][pName],adminstatus);
    }
    else if(accinfo[playerid][pAdminLvl] == 1338)
    {
    format(string, sizeof(string),""HTML_WHITE"%s"HTML_WHITE"%s\t"HTML_WHITE"%s\n", playerteamname(userId),accinfo[playerid][pName],adminstatus);
    }
    else if(accinfo[playerid][pAdminLvl] == 1337)
    {
    format(string, sizeof(string),""HTML_WHITE"%s"HTML_WHITE"%s\t"HTML_WHITE"%s\n", playerteamname(userId),accinfo[playerid][pName],adminstatus);
    }
    else if(accinfo[playerid][pAdminLvl] == 3)
    {
    format(string, sizeof(string),""HTML_WHITE"%s"HTML_WHITE"%s\t"HTML_WHITE"%s\n", playerteamname(userId),accinfo[playerid][pName],adminstatus);
    }
    else if(accinfo[playerid][pAdminLvl] == 2)
    {
    format(string, sizeof(string),""HTML_WHITE"%s"HTML_WHITE"%s\t"HTML_WHITE"%s\n", playerteamname(userId),accinfo[playerid][pName],adminstatus);
    }
    }
    }
    }
    ShowPlayerDialog(playerid,DIALOG_ADMINS,DIALOG_STYLE_MSGBOX, ""HTML_SERVER"Vegas Life: "HTML_WHITE"Aktive Team-Mitglieder", string, "Bestätigen", "");
    return 1;
    }

  • for(new i = 0; j = GetPlayerPoolSize(); i <= j; i++)

    Versucht, wenn es möglich ist, die Schleife so zu schreiben:


    for(new i=GetPlayerPoolSize(); i!=-1; i--)


    So benötigt man nur eine Variable und in der Bedingung wird eine Konstante verwendet und keine Variable :)



    doch irgendwie möchte es nur mich Anzeigen.

    Wie sieht n playerteamname aus? :)

    ast2ufdyxkb1.png


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



  • Ablauf:


    Ich änder von den Spieler den Name wird er Ingame geändert.
    Speicher ich die Accounts werden die Accounts verdoppelt.
    Die Spalte für die Namen heißt ja "Name".


    Weiß Jemand was ich da falsch mache?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Speicher ich die Accounts werden die Accounts verdoppelt.


    Weiß Jemand was ich da falsch mache?

    Wie sieht die Funktion GetName aus?


    Inwiefern wird der Account doppelt angelegt?


    2x mit dem Neuen Namen?
    1x mit dem Neuen und 1x mit dem Alten?

    ast2ufdyxkb1.png


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

  • Beitrag von Dr. Frauenarzt ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Einige Fehler selber gefunden ().
  • Gibt es eine möglichkeit ein switch(random(10)) auszutricksen indem man es vorhersagen kann?

    Was genau magst du machen?


    Du kannst natürlich das Ergebnis in einer Variable speichern:



    new x = random(10);


    //Hier kennst du schon die Zufallszahl X


    switch(x)


    Dann hast du natürlich davor schon Zugriff drauf und kannst damit arbeiten, falls es das ist, was du meinst ^^

    ast2ufdyxkb1.png


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


  • strmid(Haus[Spieler[playerid][pHouseKey]][hName], inputtext, 0, strlen(inputtext), 32);
    UpdateHouseLabel(i, Haus[i][hOwned]);
    SaveHouse(i);


    Kurze frage möchte das der Admin Administrativ es auch ändern kann die Beschreibung. -> (Falls unanständig)


    Das Obere das ich zeige macht der Spieler Selber (Der Besitzer so zu sagen)

  • Hey,


    Kurze frage die wartezeit bei selbstmord funktioniert nicht irgendwie man kann ständig selbstmord machen?


  • Ich meinte ob man den random switch vorhersagen kann mit Techniken

    Ja, kannst du so doch...weil du doch weißt, was x für einen Wert hat ^^


    Also nur Serverseitig per skritping...als User kannst du da gar nichts vorhersagen..sonst wäre die random Funktion ziemlich nutzlos :D


    Das steht doch gerade für zufällig ^^

    ast2ufdyxkb1.png


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

  • Hey,


    Kurze frage die wartezeit bei selbstmord funktioniert nicht irgendwie man kann ständig selbstmord machen?


    Das liegt daran, dass SelbstmordStatusTimer eine lokale Variable ist, beim ausführen des Befehls also immer 0 ist.
    Du musst dies zu einer globalen Variable ändern, die du dem Spieler zuweist.
    Die globale Variable erstellst du einfach ganz oben in deinem Script so: new SelbstmordStatusTimer[MAX_PLAYERS];
    Und in deinem Befehl ersetzt du jedes SelbstmordStatusTimer mit SelbstmordStatusTimer[playerid]

  • Hey,


    Kurze frage lade meine Objecte per Filterscript.. weiß nicht ob das so schlau ist...
    Aber wen der Server neu startet sind die Gebäude immer weg und muss die Filterscripts neu laden weiß jemand eine andere Lösung?

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