[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
  • Du kannst weiterhin mysql_query verwenden, und dann die cache Funktionen direkt danach, ohne Callback, allerdings ist das nicht empfohlen, da der Server eben auf die Antwort wartet, und somit solange steht, bis die Antwort im Cache ist.

  • Hi, wollte eine % Anzeige erstellen von 0% bis 100% Timer geht 10 sek heißt er soll in 10 sek 100% erreicht haben, nur leider zeigt er mir nur nach 10 sek 100% an die Schritte davor aber nicht.


    SetTimerEx("Ladebalken", 10000, true, "d", playerid);


    public Ladebalken(playerid)
    {
    ladebalken++;
    if(ladebalken == 1)
    {
    ladebalken++;
    TextDrawSetString(Textdraw68, "0%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    if(ladebalken == 2)
    {
    ladebalken++;
    TextDrawSetString(Textdraw68, "6%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    if(ladebalken == 3)
    {
    ladebalken++;
    TextDrawSetString(Textdraw68, "18%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    if(ladebalken == 4)
    {
    ladebalken++;
    TextDrawSetString(Textdraw68, "32%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    if(ladebalken == 5)
    {
    ladebalken++;
    TextDrawSetString(Textdraw68, "54%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    if(ladebalken == 6)
    {
    ladebalken++;
    TextDrawSetString(Textdraw68, "62%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    if(ladebalken == 7)
    {
    ladebalken++;
    TextDrawSetString(Textdraw68, "79%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    if(ladebalken == 8)
    {
    ladebalken++;
    TextDrawSetString(Textdraw68, "86%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    if(ladebalken == 9)
    {
    ladebalken++;
    TextDrawSetString(Textdraw68, "93%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    if(ladebalken == 10)
    {
    TextDrawSetString(Textdraw68, "100%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    TextDrawHideForPlayer(playerid, Textdraw47), TextDrawHideForPlayer(playerid, Textdraw48), TextDrawHideForPlayer(playerid, Textdraw49),
    TextDrawHideForPlayer(playerid, Textdraw50), TextDrawHideForPlayer(playerid, Textdraw0);
    }
    return 1;
    }


    Mfg

  • Warum updatet er das nicht richtig:
    stock SaveWP()
    {
    new query[250];
    for(new wp=0;wp<MAX_WPS;wp++)
    {
    format(query,sizeof(query),"UPDATE "#DATENBANK"_produktion_load SET besitzer = '%d', M4 = '%d', MP5 = '%d', Deagle = '%d', Rifle = '%d', Pistole = '%d', Shotgun = '%d',AK47 = '%d', gekauft = '%d'",
    WPInfo[wp][wpbesitzer],WPInfo[wp][wpM4],WPInfo[wp][wpMP5],WPInfo[wp][wpDeagle],WPInfo[wp][wpRifle],WPInfo[wp][wpPistole],WPInfo[wp][wpShotgun],WPInfo[wp][wpAK47],WPInfo[wp][wpgekauft]);
    mysql_function_query(MYSQLVerbindung,query,false,"","");
    }
    return true;
    }


    Mysql Log


    [17:50:58] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE db_produktion_load SET besitzer = '0', M4 = '0', MP5 = '0", callback: "(null)", format: "(null)"
    [17:50:58] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE db_produktion_load SET besitzer = '0', M4 = '0', MP5 = '0", callback: "(null)", format: "(null)"

  • Hab das nun so:
    stock SaveWP()
    {
    new query[250];
    for(new wp=0;wp<MAX_WPS;wp++)
    {
    format(query,sizeof(query),"UPDATE "#DATENBANK"_produktion_load SET frakid = '%d', besitzer = '%d', M4 = '%d', MP5 = '%d', Deagle = '%d', Rifle = '%d', Pistole = '%d', Shotgun = '%d',AK47 = '%d', gekauft = '%d' WHERE id'%d'",
    WPInfo[wp][wpfid],WPInfo[wp][wpbesitzer],WPInfo[wp][wpM4],WPInfo[wp][wpMP5],WPInfo[wp][wpDeagle],WPInfo[wp][wpRifle],WPInfo[wp][wpPistole],WPInfo[wp][wpShotgun],WPInfo[wp][wpAK47],WPInfo[wp][wpgekauft]);
    mysql_function_query(MYSQLVerbindung,query,false,"","");
    }
    return true;
    }


    und was kommt:
    [18:15:34] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE db_produktion_load SET frakid = '-1', besitzer = '11', M4", callback: "(null)", format: "(null)"
    [18:15:34] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE db_produktion_load SET frakid = '-1', besitzer = '0', M4 ", callback: "(null)", format: "(null)"
    [18:15:34] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE db_produktion_load SET frakid = '-1', besitzer = '0', M4 ", callback: "(null)", format: "(null)"
    [18:15:34] [DEBUG] CMySQLQuery::Execute[] - starting query execution
    [18:15:34] [ERROR] CMySQLQuery::Execute[] - (error #1064) 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 '''' at line 1
    [18:15:34] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError
    [18:15:34] [DEBUG] CMySQLQuery::Execute[] - starting query execution
    [18:15:34] [ERROR] CMySQLQuery::Execute[] - (error #1064) 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 '''' at line 1
    [18:15:34] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError
    [18:15:34] [DEBUG] CMySQLQuery::Execute[] - starting query execution
    [18:15:34] [ERROR] CMySQLQuery::Execute[] - (error #1064) 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 '''' at line 1
    [18:15:34] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError
    [18:15:34] [DEBUG] Calling callback "OnQueryError"..
    [18:15:34] [DEBUG] Calling callback "OnQueryError"..
    [18:15:34] [DEBUG] Calling callback "OnQueryError"..

  • Danke, nun hab ich das problem das er nicht bis 100% kommt sondern nur bis 93% aber die Textdraws verschwinden. Und der Balken überdeckt die % Anzahl kann man das irgendwie ändern?
    Kann man vllt. das erstellen der Textdraws kürzen?


    public Ladebalken(playerid)
    {
    ladebalken[playerid]++;
    if(ladebalken[playerid] == 1)
    {
    ladebalken[playerid]++;
    Textdraw67 = TextDrawCreate(231.714447, 371.846679, "usebox");
    TextDrawLetterSize(Textdraw67, 0.000000, 1.075927);
    TextDrawTextSize(Textdraw67, 227.714355, 0.000000);
    TextDrawAlignment(Textdraw67, 1);
    TextDrawColor(Textdraw67, 0);
    TextDrawUseBox(Textdraw67, true);
    TextDrawBoxColor(Textdraw67, 65535);
    TextDrawSetShadow(Textdraw67, 0);
    TextDrawSetOutline(Textdraw67, 0);
    TextDrawFont(Textdraw67, 0);
    TextDrawShowForPlayer(playerid, Textdraw67);
    TextDrawSetString(Textdraw68, "3%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    else if(ladebalken[playerid] == 2)
    {
    ladebalken[playerid]++;
    Textdraw67 = TextDrawCreate(245.714447, 371.846679, "usebox");
    TextDrawLetterSize(Textdraw67, 0.000000, 1.075927);
    TextDrawTextSize(Textdraw67, 227.714355, 0.000000);
    TextDrawAlignment(Textdraw67, 1);
    TextDrawColor(Textdraw67, 0);
    TextDrawUseBox(Textdraw67, true);
    TextDrawBoxColor(Textdraw67, 65535);
    TextDrawSetShadow(Textdraw67, 0);
    TextDrawSetOutline(Textdraw67, 0);
    TextDrawFont(Textdraw67, 0);
    TextDrawShowForPlayer(playerid, Textdraw67);
    TextDrawSetString(Textdraw68, "11%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    else if(ladebalken[playerid] == 3)
    {
    ladebalken[playerid]++;
    Textdraw67 = TextDrawCreate(270.714447, 371.846679, "usebox");
    TextDrawLetterSize(Textdraw67, 0.000000, 1.075927);
    TextDrawTextSize(Textdraw67, 227.714355, 0.000000);
    TextDrawAlignment(Textdraw67, 1);
    TextDrawColor(Textdraw67, 0);
    TextDrawUseBox(Textdraw67, true);
    TextDrawBoxColor(Textdraw67, 65535);
    TextDrawSetShadow(Textdraw67, 0);
    TextDrawSetOutline(Textdraw67, 0);
    TextDrawFont(Textdraw67, 0);
    TextDrawShowForPlayer(playerid, Textdraw67);
    TextDrawSetString(Textdraw68, "18%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    else if(ladebalken[playerid] == 4)
    {
    ladebalken[playerid]++;
    Textdraw67 = TextDrawCreate(290.714447, 371.846679, "usebox");
    TextDrawLetterSize(Textdraw67, 0.000000, 1.075927);
    TextDrawTextSize(Textdraw67, 227.714355, 0.000000);
    TextDrawAlignment(Textdraw67, 1);
    TextDrawColor(Textdraw67, 0);
    TextDrawUseBox(Textdraw67, true);
    TextDrawBoxColor(Textdraw67, 65535);
    TextDrawSetShadow(Textdraw67, 0);
    TextDrawSetOutline(Textdraw67, 0);
    TextDrawFont(Textdraw67, 0);
    TextDrawShowForPlayer(playerid, Textdraw67);
    TextDrawSetString(Textdraw68, "32%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    else if(ladebalken[playerid] == 5)
    {
    ladebalken[playerid]++;
    Textdraw67 = TextDrawCreate(310.714447, 371.846679, "usebox");
    TextDrawLetterSize(Textdraw67, 0.000000, 1.075927);
    TextDrawTextSize(Textdraw67, 227.714355, 0.000000);
    TextDrawAlignment(Textdraw67, 1);
    TextDrawColor(Textdraw67, 0);
    TextDrawUseBox(Textdraw67, true);
    TextDrawBoxColor(Textdraw67, 65535);
    TextDrawSetShadow(Textdraw67, 0);
    TextDrawSetOutline(Textdraw67, 0);
    TextDrawFont(Textdraw67, 0);
    TextDrawShowForPlayer(playerid, Textdraw67);
    TextDrawSetString(Textdraw68, "54%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    else if(ladebalken[playerid] == 6)
    {
    ladebalken[playerid]++;
    Textdraw67 = TextDrawCreate(340.714447, 371.846679, "usebox");
    TextDrawLetterSize(Textdraw67, 0.000000, 1.075927);
    TextDrawTextSize(Textdraw67, 227.714355, 0.000000);
    TextDrawAlignment(Textdraw67, 1);
    TextDrawColor(Textdraw67, 0);
    TextDrawUseBox(Textdraw67, true);
    TextDrawBoxColor(Textdraw67, 65535);
    TextDrawSetShadow(Textdraw67, 0);
    TextDrawSetOutline(Textdraw67, 0);
    TextDrawFont(Textdraw67, 0);
    TextDrawShowForPlayer(playerid, Textdraw67);
    TextDrawSetString(Textdraw68, "62%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    else if(ladebalken[playerid] == 7)
    {
    ladebalken[playerid]++;
    Textdraw67 = TextDrawCreate(360.714447, 371.846679, "usebox");
    TextDrawLetterSize(Textdraw67, 0.000000, 1.075927);
    TextDrawTextSize(Textdraw67, 227.714355, 0.000000);
    TextDrawAlignment(Textdraw67, 1);
    TextDrawColor(Textdraw67, 0);
    TextDrawUseBox(Textdraw67, true);
    TextDrawBoxColor(Textdraw67, 65535);
    TextDrawSetShadow(Textdraw67, 0);
    TextDrawSetOutline(Textdraw67, 0);
    TextDrawFont(Textdraw67, 0);
    TextDrawShowForPlayer(playerid, Textdraw67);
    TextDrawSetString(Textdraw68, "79%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    else if(ladebalken[playerid] == 8)
    {
    ladebalken[playerid]++;
    TextDrawDestroy(Textdraw67);
    Textdraw67 = TextDrawCreate(380.714447, 371.846679, "usebox");
    TextDrawLetterSize(Textdraw67, 0.000000, 1.075927);
    TextDrawTextSize(Textdraw67, 227.714355, 0.000000);
    TextDrawAlignment(Textdraw67, 1);
    TextDrawColor(Textdraw67, 0);
    TextDrawUseBox(Textdraw67, true);
    TextDrawBoxColor(Textdraw67, 65535);
    TextDrawSetShadow(Textdraw67, 0);
    TextDrawSetOutline(Textdraw67, 0);
    TextDrawFont(Textdraw67, 0);
    TextDrawShowForPlayer(playerid, Textdraw67);
    TextDrawSetString(Textdraw68, "86%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    else if(ladebalken[playerid] == 9)
    {
    ladebalken[playerid]++;
    TextDrawDestroy(Textdraw67);
    Textdraw67 = TextDrawCreate(400.714447, 371.846679, "usebox");
    TextDrawLetterSize(Textdraw67, 0.000000, 1.075927);
    TextDrawTextSize(Textdraw67, 227.714355, 0.000000);
    TextDrawAlignment(Textdraw67, 1);
    TextDrawColor(Textdraw67, 0);
    TextDrawUseBox(Textdraw67, true);
    TextDrawBoxColor(Textdraw67, 65535);
    TextDrawSetShadow(Textdraw67, 0);
    TextDrawSetOutline(Textdraw67, 0);
    TextDrawFont(Textdraw67, 0);
    TextDrawShowForPlayer(playerid, Textdraw67);
    TextDrawSetString(Textdraw68, "93%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    else if(ladebalken[playerid] == 10)
    {
    ladebalken[playerid]++;
    TextDrawDestroy(Textdraw67);
    Textdraw67 = TextDrawCreate(414.571472, 371.846679, "usebox");
    TextDrawLetterSize(Textdraw67, 0.000000, 1.075927);
    TextDrawTextSize(Textdraw67, 227.714355, 0.000000);
    TextDrawAlignment(Textdraw67, 1);
    TextDrawColor(Textdraw67, 0);
    TextDrawUseBox(Textdraw67, true);
    TextDrawBoxColor(Textdraw67, 65535);
    TextDrawSetShadow(Textdraw67, 0);
    TextDrawSetOutline(Textdraw67, 0);
    TextDrawFont(Textdraw67, 0);
    TextDrawShowForPlayer(playerid, Textdraw67);
    TextDrawSetString(Textdraw68, "100%");
    TextDrawShowForPlayer(playerid, Textdraw68);
    }
    else if(ladebalken[playerid] == 11)
    {
    TextDrawHideForPlayer(playerid, Textdraw47), TextDrawHideForPlayer(playerid, Textdraw48), TextDrawHideForPlayer(playerid, Textdraw49),
    TextDrawHideForPlayer(playerid, Textdraw50), TextDrawHideForPlayer(playerid, Textdraw0), TextDrawShowForPlayer(playerid, Textdraw68),
    TextDrawShowForPlayer(playerid, Textdraw67), TextDrawShowForPlayer(playerid, Textdraw66), TextDrawShowForPlayer(playerid, Textdraw65);
    }
    return 1;
    }

  • TextDrawShowForPlayer(playerid, Textdraw67)
    zu:
    TextDrawHideForPlayer(playerid, Textdraw67)


    Allerdings, wenn du das so machst, wirst du Probleme bekommen, wenn mehrere Spieler online sind.
    Ich rate dir, das ganze Zeug weg zu machen (oder komplett neu) und stattdessen das zu nutzen: http://forum.sa-mp.com/showthread.php?t=537468


    Dass der Text unter der Box ist liegt an der Reihenfolge wie die Textdraws erstellt werden.

  • Guten Abend ,


    ich bin sehr neu was das Scripting betrifft und haben mir mal einen einfachen Ban by realdeal"> Befehl gescriptet , das ganzee läuft auf Dini da ich Mysql nicht Durchchecke :D
    Allerding speichert er den Ban ganz normal mit SetPVarInt(playerid,"Banned",1); nun die abfrage lautet: " if(GetPVarInt(playerid,"Banned") ==1) " dies will er irgendwie aus einem Grund nicht wahr haben er zeigt weder eine SendClientMessage an noch kickt er dem by realdeal"> Spieler vom Server.. Ich wäre Dankbar wenn mir einer helfen könnte :)


    Mit Freundlichen Grüßen ,


    Toastiie1337

  • pawncode?

  • Beitrag von AroX ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Hi, ich habe eine kleine Logikfrage zu der MySQL R39-3:


    Wenn ich folgenden Query ausführen lasse:
    mysql_format(dbHandle, q,sizeof q,"SELECT `KleinBurger` FROM `BSprices` WHERE `BizID` = '%d'",bid);


    Und dann aus einer Row via "cache_get_field_content" auslesen lassen möchte, kann ich dann nur die Rows auslesen, wo "BizID" = bid ist?


    Jeffry: :3

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