[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
  • ne gibt es auch nicht :D
    Aber das Prob ist das wenn ich das Passwort per INSERT INTO nutze erstellt wird mit der Methode, aber beim SELECT mir den error gibt..
    Was du meinst versteh ich schon


    //edit
    habs kapiert :D

    All in all it's just another brick in the wall

  • Sieht da wer den Fehler? Oder kanns vllt am Plugin (Stricken) liegen, dass man bei einer einzelnen Spalte store_result nicht aufrufen kann?


    Zitat

    [Fri Jun 14 19:25:54 2013] Function: mysql_query executed: "SELECT `Leiter` FROM `mydatabase`.`User_Stats` WHERE `Name` = 'Hagi_Lorma'" with result: "0".
    [Fri Jun 14 19:25:54 2013] Error (0): Function: mysql_store_result called when no prior successful query executed.


    Hier der Code dazu


    new query[512];
    format(query,sizeof(query),"SELECT `%s` FROM `%s`.`User_Stats` WHERE `Name` = '%s'",statistic,mysqldb,pName);
    mysql_query(query,-1,-1,connection);
    mysql_store_result();
    if(mysql_num_rows() == 0)
    {...


    Weil laut Log bekommt er ein leeres Resultat zurück. Um Mysql_Num_Rows auf zu rufen, muss man doch aber erst was storen oder?



  • Der Punkt in der Abfrage ist dort richtig ??

  • Ja, da dieser als Concat für die Datenbank und die Table wirkt. Der Query wird ja auch ausgeführt, allerdings mit einem leeren Result (es steht halt noch nix in der Table). Wenn ich das ganze per Query in php My Admin ausführe, funktionierts auch perfekt.

  • Ok hinbekommen.
    Wie frage ich nun mit ocmd und sscanf ab ob er wohl /cshop Geld eingeben hat?
    Also es steht mehrere Sachen zur auswahl und er sucht sich geld aus und bekommt 1k


    //Edit:
    Habe es nun mit Dialogen gemacht.
    Habe nicht genug Coints kann mir es aber trotzdem holen.
    Code
    if(!GetPVarInt(playerid,"Coints") == 50) return SendClientMessage(playerid,ROT,"Du hast keine 50 Premium Coints");

    Einmal editiert, zuletzt von elyday ()

  • dein code ist auch müll
    if(GetPVarInt(playerid,"Coints") < 50) return ...
    ist es kleiner als 50 dann fehler
    bei dein Code hast du gefraget obs == ist
    sprich hat man 51 gibts nen fehler von wegen du hast keine 50 ....

    All in all it's just another brick in the wall

  • Ja, da dieser als Concat für die Datenbank und die Table wirkt. Der Query wird ja auch ausgeführt, allerdings mit einem leeren Result (es steht halt noch nix in der Table). Wenn ich das ganze per Query in php My Admin ausführe, funktionierts auch perfekt.

    Der Punkt ist trotzdem der fehler
    format(query,sizeof(query),"SELECT `%s` FROM `%s.User_Stats` WHERE `Name` = '%s'",statistic,mysqldb,pName);


    tabelle.spalte
    nicht `tabelle`.`spalte`das ist falsch backticks werden benutzt damit mysql nicht die tabellennamen mit befehle durcheinander bringt
    ich geh mal davon aus das du das ganze auch so bei phpmyadmin eingegeben hast mydatabase.User_Stats

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Beitrag von nonoitsnotmyname ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • if (strcmp(cmd, "/buylevel", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (gPlayerLogged[playerid] != 0)
    {
    PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
    if(PlayerInfo[playerid][pLevel] >= 0)
    {
    new nxtlevel = PlayerInfo[playerid][pLevel]+1;
    new costlevel = nxtlevel*levelcost;
    new expamount = nxtlevel*levelexp;
    new infostring[256];
    if(GetPlayerMoney(playerid) < costlevel)
    {
    format(infostring, 256, " Du hast nicht genug Geld ($%d) !",costlevel);
    SendClientMessage(playerid, COLOR_GRAD1, infostring);
    return 1;
    }
    else if (PlayerInfo[playerid][pExp] < expamount)
    {
    format(infostring, 256, " Du brauchst mindestens %d Respekt Punkte, du hast [%d] !",expamount,PlayerInfo[playerid][pExp]);
    SendClientMessage(playerid, COLOR_GRAD1, infostring);
    return 1;
    }
    else
    {
    format(string, sizeof(string), "~g~LEVEL UP~n~~w~Du bist jetzt Level %d", nxtlevel);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    PlayerPlayMusic(playerid);
    GivePlayerMoney(playerid, (-costlevel));
    PlayerInfo[playerid][pLevel]++;
    if(PlayerInfo[playerid][pDonateRank] > 0)
    {
    PlayerInfo[playerid][pExp] -= expamount;
    new total = PlayerInfo[playerid][pExp];
    if(total > 0)
    {
    PlayerInfo[playerid][pExp] = total;
    }
    else
    {
    PlayerInfo[playerid][pExp] = 0;
    }
    }
    else
    {
    PlayerInfo[playerid][pExp] = 0;
    }
    /* if(PlayerInfo[playerid][pLevel] == 3)
    {
    Delete3DTextLabel(Noob[playerid]);
    Noobi[playerid] = 0;
    }*/
    PlayerInfo[playerid][gPupgrade] = PlayerInfo[playerid][gPupgrade]+2;
    GameTextForPlayer(playerid, string, 5000, 1);
    format(infostring, 256, " Du hast dir Level %d für ($%d) gekauft. Tipp /upgrade ein.", nxtlevel, costlevel);
    SendClientMessage(playerid, COLOR_GRAD1, infostring);
    format(infostring, 256, " Du hast %d unspent Upgrade Punkte",PlayerInfo[playerid][gPupgrade]);
    SendClientMessage(playerid, COLOR_GRAD2, infostring);
    }
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist nicht eingeloggt !");
    }
    }
    return 1;
    }


    Wie mache ich das der Befehl automatisch ist?


  • Jetzt weiß jeder was dein Vorhaben ist.
    Einfach den cmd raus nehmen und deine Voraussetzung , wann es automatisch gehen soll, einfügen.

    KleineHilfe 2.0

  • if(strcmp("/god", cmdtext, true, 10) == 0)
    {
    if (God[playerid] == 1)
    {
    SendClientMessage(playerid, Rot, "God Modus aus. Du bist nun Verwundbar!");
    SetPlayerHealth(playerid, 100);
    SetPlayerArmour(playerid, 100);
    God[playerid] = 0;
    return 1;
    }
    else if(God[playerid] == 0)
    {
    SendClientMessage(playerid, Hellblau, "God Modus an. Du bist nun Unverwundbar.");
    God[playerid] = 1;
    SetPlayerArmour(playerid, 10000);
    SetPlayerHealth(playerid, 10000);
    return 1;
    }


    Wie stelle ich diesen Command so ein, dass der God Mode beim Playerspawn standartmäßig aktiviert ist?

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