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.
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
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
-
-
Hallo,
ich möchte gerne z.B. durch /givecoints [playerid] [anzahl] jemanden eine bestimme anzahl an Coints geben.
Kenne es aber nur mit z.B. +1 wie geht es denn mit einer bestimmten anzahl? -
das machste mit
var = var + Summand
oder einfach mit
var += summand
-
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"); -
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 .... -
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 -
nicht `tabelle`.`spalte`das ist falsch
Indirekt man kann es so machen
`DTuser`.`Name`,`DTuser`.`Team`,`DTuser`.`Rank`,`DTuser`.`Leader`
klappt auch Wunderbar und das ist vom Prinzip her das selbe
aber wenn man nur auf einer Tabelle zugreift ist es sowiso sinnlos in meiner sicht aus -
Ja gut aber laut log wird der Query ja ohne Fehler ausgeführt.
-
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?
-
Alles anzeigen
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. -
Danke GHOSTRIDER
-
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?
-
Wie kann man in einem GF Häuser erstellen?
-
-
@Performer
Bei OnPlayerSpawn einfach
God[playerid] = 1;
BTW. Mein Problem hat sich gelöst. Hatte bei mysql_store_result() die Connection als Parameter vergessen

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

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

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

-
Danke.

-

