ne gibt es auch nicht
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
ne gibt es auch nicht
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
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?
ZitatAlles anzeigen
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.
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.
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 anzeigenif (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?