Dann setz eine Variable bei OnPlayerSpawn auf 1 beim Sterben auf 0 und frage sie ab.
[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
-
-
Nein. Dafür gibt es: https://wiki.sa-mp.com/wiki/GetPlayerState
-
Ich möchte die Abfrage in einem anderem Public verwenden.
vllt mit https://wiki.sa-mp.com/wiki/GetPlayerState
//edit haha Jeffry
-
Code
Alles anzeigenstock SaveUserStats(playerid) { //Wenn der Spieler nicht eingeloggt ist, dann speichere seine Statistiken nicht if(!PlayerInfo[playerid][pLoggedIn]) return 1; //Ansonsten speichere sie new query[256]; mysql_format(handle, query, sizeof(query), "UPDATE accounts SET level = '%d', kills = '%d', deaths = '%d', $ - cash = '%d', $ - bank = '%d', rp = '%d', spawnhealth = '%d', job id = '%d', frac id = '%d', adminlevel = '%d', paycheck = '%d', payminutes = '%d', fRank = '%d', mute = '%d' WHERE id = '%d'", PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths], PlayerInfo[playerid][pCash], PlayerInfo[playerid][pBank], PlayerInfo[playerid][pRP], PlayerInfo[playerid][pShealth], PlayerInfo[playerid][pJob], PlayerInfo[playerid][pFrac], PlayerInfo[playerid][pAdminLevel], PlayerInfo[playerid][pPaycheck], PlayerInfo[playerid][pPayminutes], PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pFRank], PlayerInfo[playerid][pMute], PlayerInfo[playerid][p_id]); // ÄNDERN //Das Query wird abgesendet mysql_pquery(handle, query); return 1; }
Codepublic OnPlayerDisconnect(playerid, reason) { //Speichere den Spieler wenn er der Server verlässt SaveUserStats(playerid); return 1; }
Aus Jeffry's MySQL Tutorial, wieso speichert er bei mir die Stats nicht?
-
Du hast sowas hier im Query:
$ - cash
$ - bank
job id
frac idDas geht nicht. Spaltennamen mit Leerzeichen, insofern das überhaupt gehen würde, zu machen ist nicht gut, nutze stattdessen den Unterstrich "_".
Ebenso die Dollars, die gehören da nicht hin. -
new query[2048];
format(query,sizeof(query),"UPDATE accounts");
format(query,sizeof(query),"%s SET level = '%d', kills = '%d', deaths = '%d',", query, PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths]);
format(query,sizeof(query),"%s cash = '%d', bank = '%d', rp = '%d',", query, PlayerInfo[playerid][pCash], PlayerInfo[playerid][pBank], PlayerInfo[playerid][pRP]);
format(query,sizeof(query),"%s spawnhealth = '%d, jobID = '%d', fracID = '%d',", query, PlayerInfo[playerid][pShealth], PlayerInfo[playerid][pJob], PlayerInfo[playerid][pFrac]);
format(query,sizeof(query),"%s adminlevel = '%d, paycheck = '%d', payminutes = '%d',", query, PlayerInfo[playerid][pAdminLevel], PlayerInfo[playerid][pPaycheck], PlayerInfo[playerid][pPayminutes]);
format(query,sizeof(query),"%s adminlevel = '%d, paycheck = '%d', payminutes = '%d',", query, PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pFRank], PlayerInfo[playerid][pMute]);
format(query,sizeof(query),"%s Kh = '%d, KhZeit = '%d', Int = '%d',", query, PlayerInfo[playerid][pKh], PlayerInfo[playerid][pKhZeit], PlayerInfo[playerid][pInt]);
format(query,sizeof(query),"%s WHERE id = '%d'", query, PlayerInfo[playerid][p_id]);Funktioniert leider immer noch nicht
-
Was sagt der MySQL Log?
-
Was sagt der MySQL Log?
Das ist die einzige Funktion die ich nicht drinne habe, Moment schien mir unwichtig fürs Erste
[23:47:37] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[23:47:37] [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 '2', fracID = '2', adminlevel = '2000, paycheck = '150', payminutes = '0', adminl' at line 1
[23:47:37] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryErrorScheint mir komisch wieso das einen Error gibt, sind alles INT values
-
'%d,
Zu
'%d',Den Fehler hast du mehrmals drin.
-
Schon bemerkt und behoben, Problem besteht weiterhin.
[23:51:00] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[23:51:00] [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 'Int = '1', WHERE id = '1'' at line 1
[23:51:00] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError -
-
Int
Zu
`Int`Da INT eine SQL Anweisung ist.
-
Int sollte eigentlich eine Abkürzung für Interior sein, lol. Naja bin Dini gewohnt zum Speichern :P.
Jetzt hab ich echt keine Ahnung mehr
Edit:
[00:02:38] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[00:02:38] [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 'WHERE id = '1'' at line 1
[00:02:38] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError -
Ganz hinten, nach (jetzt) `Int`, da steht noch ein Komma. Da direkt danach das WHERE kommt, ist das Komma da zu viel. Entferne das.
-
Oh wow ich bin so hirnlos manchmal, das kenn ich eigentlich
-
Hi, ich habe einige Textdraw's erstellt, beim erstellen lief alles problemlos.
Doch als ich die Textdraws programiert habe, sprich das die sich ändern, zeigen sich 2 Textdraws hinter einer Box, das möchte ich aber nicht. Wie GENAU muss ich das jetzt beheben? -
Guten Tag,
habe das Problem, dass mir nie ausgegeben wird, was bei ALevel >= 4 drin steht, obwohl ich entweder ALevel 4 habe oder höher.
Danke im Voraus.
case 4:
{
SendClientMessage(playerid,Weiß,"["#cTuerkis"System"#cWeiß"] ...:::Admin Commands:::...");
if(SpielerInfo[playerid][pALevel] >= 1)
{
SendClientMessage(playerid,Weiß,"["#cTuerkis"System"#cWeiß"] /kick, /prison, /announce, /gotopos, /goto, /bringto, /spawn, /tickets");
}
if(SpielerInfo[playerid][pALevel] >= 2)
{
SendClientMessage(playerid,Weiß,"["#cTuerkis"System"#cWeiß"] /toggleooc, /kill, /sethp, /setarmor, /clfp, /cc, /ban, /tban, /freeze");
}
if(SpielerInfo[playerid][pALevel] >= 3)
{
SendClientMessage(playerid,Weiß,"["#cTuerkis"System"#cWeiß"] /takemoney, /givemoney, /veh, /weapon, /restart, /repair, /slap, /explode, /setskin, /sannounce");
}
if(SpielerInfo[playerid][pALevel] >= 4)
{
SendClientMessage(playerid,Weiß,"["#cTuerkis"System"#cWeiß"] /actor, /setactorpos, /getactorpos, /makeadmin, /fcreate, /fdelete, /pcreate, /pdelete, /setfrak, /setint, /hcreate, /hdelete, /validints");
}
else
{
return 0;
}
return 1;
} -
Ist das vielleicht zu lang? Bist du auch admin level 4? Versuch sonst mal das else mit return 0 weg zu machen
Bin zwar kein Profi ich möchte aber auch mal helfen
-
Beitrag von datgame ()
Dieser Beitrag wurde vom Autor gelöscht (). -
[17:33:59] [debug] Run time error 19: "File or function is not found"
[17:33:59] [debug] dir_exists
[17:33:59] [debug] dir_create
[17:33:59] [debug] file_write
[17:33:59] [debug] mysql_init
[17:33:59] [debug] mysql_fetch_rowworan liegt das O.o
-
[17:33:59] [debug] Run time error 19: "File or function is not found"[17:33:59] [debug] dir_exists[17:33:59] [debug] dir_create[17:33:59] [debug] file_write[17:33:59] [debug] mysql_init[17:33:59] [debug] mysql_fetch_row
woran liegt das O.o
Steht da doch schon, Datei oder Funktion konnte nicht gefunden werden
Muss also irgendwo in deinem Script falsche Datei oder falsche mySQL Daten ausgefüllt haben