[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
  • 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

  • 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?

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

  • 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?

  • Hey, wie mach ich das, das die Leute, die im Chat schreiben, nicht Bunt, sondern weiß sind? :D


    Indem du sie durch die Funktion SetPlayerColor weiß machst oder einfach im Chat ein {FFFFFF} vor das %s: setzt ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

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