Beiträge von Simon2202
-
-
Kommt darauf an wie du es speicherst?
Wenn du es über Mysql Speicherst, musst du zuerst alles aus der Datenbank suchen das das Nummernschild 1000 hat.
Nur ein kurzes Beispiel.
liest du den Maximum Wert aus, und erhöhst ihn um eins, in die Datenbank einfügen, fertig.
Ich habe dir Absichtlich nicht den kompletten Code gegeben, wenn du Fragen hast sag es einfach.
-
Habe das Problem jetzt gefixxt, jedoch springt er jetzt immer von OnGameModeInit direkt zu OnGameModeExit... Es wird nirgends "SendRconCommand("exit")", aufgerufen, noch wird irgendwann GameModeExit(); aufgerufen (bis auf ein paar mal, da habe ich jedoch jetzt überall ein print("Debug1"); (usw die Zahlen)) darüber geschrieben und es wird keines ausgegeben...
-
Habe keinen einzigen Timer der alle 12000 Milisekunden aufgerufen wird.. Oder auch nur annähernd daran.
-
Ich kenne dein System nicht, mache dazu am besten einen neuen Thread auf.
-
Danke habe ich gemacht, trotzdem restartet er die ganze Zeit... ich habe schon im Gamemode nachgesehen es wird zu keiner Zeit "SendRconCommand("gmx")" verwendet..
Und nach einer Zeit kommt dann der Fehler der jetzt ganz unten steht..Server Log:
Code
Alles anzeigenLoaded log file: "server_log.txt". ---------- SA-MP Dedicated Server ---------------------- v0.3.7-R2, (C)2005-2015 SA-MP Team [21:01:17] filterscripts = "" (string) [21:01:17] [21:01:17] Server Plugins [21:01:17] -------------- [21:01:17] Loading plugin: crashdetect [21:01:17] CrashDetect v4.15.1 is OK. [21:01:17] Loaded. [21:01:17] Loading plugin: sscanf [21:01:17] [21:01:17] =============================== [21:01:17] sscanf plugin loaded. [21:01:17] (c) 2009 Alex "Y_Less" Cole [21:01:17] =============================== [21:01:17] Loaded. [21:01:17] Loading plugin: mysql [21:01:17] >> plugin.mysql: R39-3 successfully loaded. [21:01:17] Loaded. [21:01:17] Loading plugin: streamer [21:01:17] *** Streamer Plugin v2.7.8 by Incognito loaded *** [21:01:17] Loaded. [21:01:17] Loaded 4 plugins. [21:01:17] [21:01:17] Filterscripts [21:01:17] --------------- [21:01:17] Loaded 0 filterscripts. [21:01:18] MySQL: Die Verbindung wurde erfolgreich hergestellt [21:01:18] Pickups Max = 2048, Current Pickups = 298 [21:01:18] _______________________________________ [21:01:18] Server Gestartet [21:01:18] Perfect-Reallife [21:01:18] _______________________________________ [21:01:18] [21:01:18] Number of vehicle models: 60 [21:01:30] MySQL: Die Verbindung wurde erfolgreich hergestellt [21:01:30] Pickups Max = 2048, Current Pickups = 298 [21:01:30] _______________________________________ [21:01:30] Server Gestartet [21:01:30] Perfect-Reallife [21:01:30] _______________________________________ [21:01:30] [21:01:30] Number of vehicle models: 60 [21:01:42] MySQL: Die Verbindung wurde erfolgreich hergestellt [21:01:42] Pickups Max = 2048, Current Pickups = 298 [21:01:42] _______________________________________ [21:01:42] Server Gestartet [21:01:42] Perfect-Reallife [21:01:42] _______________________________________ [21:01:42] [21:01:42] Number of vehicle models: 60 [21:01:54] MySQL: Die Verbindung wurde erfolgreich hergestellt [21:01:54] Pickups Max = 2048, Current Pickups = 298 [21:01:54] _______________________________________ [21:01:54] Server Gestartet [21:01:54] Perfect-Reallife [21:01:54] _______________________________________ [21:01:54] [21:01:54] Number of vehicle models: 60 [21:02:06] MySQL: Die Verbindung wurde erfolgreich hergestellt [21:02:06] Pickups Max = 2048, Current Pickups = 298 [21:02:06] _______________________________________ [21:02:06] Server Gestartet [21:02:06] Perfect-Reallife [21:02:06] _______________________________________ [21:02:06] [21:02:06] Number of vehicle models: 60 [21:02:18] Script[gamemodes/roleplay.amx]: Run time error 17: "Invalid/unsupported P-code file format" [21:02:18] Failed to load 'gamemodes/roleplay.amx' script. [21:02:18] Number of vehicle models: 0
Habe die Aktuelle Version des Streamer Plugins Installiert.
(Man muss dazu sagen, dass es nicht mein Script sondern das eines Kollegen ist, deswegen kann ich nicht zu 100% nachvollziehen wobei der Fehler passiert ist)
-
Bin mir nicht ganz sicher ob ich dein Problem verstanden habe, aber Probiers mal damit:
-
Okey, das was ich fixen konnte habe ich gefixt jetzt bekomme ich geschätze 100 mal diese Fehlermeldung:
Aber CreateDynamicObject hat keine 12 Paramter?z-B:
Und der Server startet jetzt auch halb, jedoch restartet er die ganze Zeit.
-
Hallo Community!
Ich habe meinen Gamemode mit dem Namen "roleplay" in meinem gamemodes Ordner.
Ich verwende 3 Plugins, das mysql R39-3 Plugin, das sscanf Plugin und das Streamer Plugin von Incognito.
Die 3 werden auch geladen. Nur der Gamemode nicht.
Server.cgf:
Code
Alles anzeigenecho Executing Server Config... lanmode 0 rcon_password Simon2202 maxplayers 50 port 7777 hostname -zensiert- gamemode0 roleplay filterscripts announce 0 chatlogging 0 weburl -zensiert- onfoot_rate 40 incar_rate 40 weapon_rate 40 stream_distance 300.0 stream_rate 1000 maxnpc 0 logtimeformat [%H:%M:%S] language Deutsch plugins sscanf mysql streamer
Mein Server Log:Code
Alles anzeigen---------- Loaded log file: "server_log.txt". ---------- SA-MP Dedicated Server ---------------------- v0.3.7-R2, (C)2005-2015 SA-MP Team [20:34:43] filterscripts = "" (string) [20:34:43] [20:34:43] Server Plugins [20:34:43] -------------- [20:34:43] Loading plugin: sscanf [20:34:43] [20:34:43] =============================== [20:34:43] sscanf plugin loaded. [20:34:43] (c) 2009 Alex "Y_Less" Cole [20:34:43] =============================== [20:34:43] Loaded. [20:34:43] Loading plugin: mysql [20:34:43] >> plugin.mysql: R39-3 successfully loaded. [20:34:43] Loaded. [20:34:43] Loading plugin: streamer [20:34:43] *** Streamer Plugin v2.5.2 R2 by Incognito loaded *** [20:34:43] Loaded. [20:34:43] Loaded 3 plugins. [20:34:43] [20:34:43] Filterscripts [20:34:43] --------------- [20:34:43] Loaded 0 filterscripts. [20:34:43] Script[gamemodes/roleplay.amx]: Run time error 19: "File or function is not found" [20:34:43] Number of vehicle models: 0
-
Code
if(dialogid == DIALOG_REG) { if(response) { ShowPlayerDialog(playerid,DIALOG_REG2,DIALOG_STYLE_INPUT,"Account erstellen","Gebe nun dein gewünschtes Passwort für deinen Account ein:","Annehmen","Abbrechen"); return 1; } KickPlayer(playerid); //Die Fehlerzeile return 1; }
Der Fehler tritt wenn ich diese Zeile auskommentiere jedoch bei der nächsten wo "KickPlayer" steht wieder auf.
-
Okey danke!
Habe ein komisches Problem:
Ich habe diesen KickPlayer Stock:
Code
Alles anzeigenstock KickPlayer(playerid) { SetTimerEx("KickPlayerTimer",100,0,"i",playerid); return 1; } forward KickPlayerTimer(playerid); public KickPlayerTimer(playerid) { Kick(playerid); return 1; }
Und rufe ihn so auf:
Aber ich bekomme in jeder Zeile in der ich den Stock aufrufe den Fehler:
CodeC:\Users\Simon\Desktop\prscript\gamemodes\roleplay.pwn(20114) : error 012: invalid function call, not a valid address C:\Users\Simon\Desktop\prscript\gamemodes\roleplay.pwn(20114) : warning 215: expression has no effect C:\Users\Simon\Desktop\prscript\gamemodes\roleplay.pwn(20114) : error 001: expected token: ";", but found ")" C:\Users\Simon\Desktop\prscript\gamemodes\roleplay.pwn(20114) : error 029: invalid expression, assumed zero C:\Users\Simon\Desktop\prscript\gamemodes\roleplay.pwn(20114) : fatal error 107: too many error messages on one line
Und ich weiß einfach nicht wieso...
-
Muss ich das #include <mapping> dann normal oben im Gamemode schreiben zu den anderen Includes ? Beziehungsweise was muss ich alles beachten damit es funktioniert?
Noch 2 Fragen:
Muss ich bei OnPlayerDisconnect alle Spielervariablen auf 0 setzen? Oder ist das egal? (Dumme Frage wahrscheinlich aber die werden ja nicht zwischengespeichert bis zum nächsten Login oder?)
Muss ich bei OnGameModeExit Dinge wie Pickups oder Fahrzeuge zerstören?
-
Kann ich die mapping objecte (Außer Dynamische natürlich) in eine include packen? Und einfach #include<mapping> schreiben? Aufgrund der Übersichtlichkeit des Codes?
-
Inwiefern klappt es nicht? kommt der gleiche Fehler? Wir brauchen schon mehr Infos.
-
Wir befinden uns hier im SAMP Scripting Forum. Ich bin mir nicht sicher ob du jetzt wirklich einen Keybinder suchst, so wie im Titel beschrieben oder für ein SAMP Script einen Teil.
Außerdem, glaube ich, müsstest du für einen Keybinder mehr informationen liefern, da nicht jeder SAMP Server das gleiche Motor/Licht System hat und es somit keinen universellen Keybinder dafür gibt soweit ich weiß.
-
Außerdem steht ganz unten, dass er dein Script nicht im richtigen Ordner gefunden hat.
-
Aber bei dem Befehl z.B:
Code
Alles anzeigenocmd:changefmessage(playerid,params[]) { if(PI[playerid][pLeader] >= 1 || PI[playerid][pAdmin] >= 3) { new str[128],msg[150]; if(PI[playerid][pAdmin] >= 3) { new fraktion; if(sscanf(params,"ds[150]",fraktion,msg))return SCM(playerid,frot,"[FEHLER]: /changefmessage [FrakID] [MSG]"); if(strlen(msg) > 150)return SCM(playerid,frot,"[FEHLER]: Die Message darf maximal 150 Zeichen lang sein!"); format(FI[fraktion][frakmsg],150,msg); format(str,sizeof(str),"Der Admin %s hat euren Fraktions Message Text geändert!",GPlayerName(playerid)); SendFrakMessage(fraktion,str); return 1; } new frakid = PI[playerid][pLeader]; if(sscanf(params,"s[150]",msg))return SCM(playerid,frot,"[FEHLER]: /changefmessage [MSG]"); if(strlen(msg) > 150)return SCM(playerid,frot,"[FEHLER]: Die Message darf maximal 150 Zeichen lang sein!"); format(FI[frakid][frakmsg],150,"%s",msg); return 1; } SCM(playerid,frot,"[FEHLER]: Du hast nicht den nötigen Fraktions/Admin Rang"); return 1; }
Funktioniert es mit der gleichen schreibweise ohne probleme.
-
Hallo Community!
Ich habe mir überlegt, dass ich mein Fraktions System dynamisch Scripte, es funktioniert auch alles bis auf die Speicherung der Rangnamen. alles andere wird (soweit ich das getestet habe bisher) richtig gespeichert.
Mein Enum:
Code
Alles anzeigenenum frakInfo { f_id, f_name[50], f_kasse, Float:f_x, Float:f_y, Float:f_z, Float:f_r, gehalt1, gehalt2, gehalt3, gehalt4, gehalt5, rname1[20], rname2[20], rname3[20], rname4[20], rname5[20], frakmsg[200] } new FI[2][frakInfo];
Mein OnGameModeExit:
Mein stock SaveFraks(By Jeffrey):
Code
Alles anzeigenstock SaveFraks() { new query[512]; for(new i=0;i<sizeof(FI);i++) { mysql_format(db_handle,query,sizeof(query),"UPDATE fraktionen SET name = '%e', kasse = %d, gehalt1 = %d, gehalt2 = %d, gehalt3 = %d, gehalt4 = %d, gehalt5 = %d, rname1 = '%e', rname2 = '%e', rname3 = '%e', rname4 = '%e', rname5 = '%e', frakmsg = '%e' WHERE id = %d", FI[i][f_name],FI[i][f_kasse],FI[i][gehalt1],FI[i][gehalt2],FI[i][gehalt3],FI[i][gehalt4],FI[i][gehalt5],FI[i][rname1],FI[i][rname2],FI[i][rname3],FI[i][rname4],FI[i][rname5],FI[i][frakmsg],FI[i][f_id]); mysql_pquery(db_handle,query); } return 1; }
Und zu guter letzt mein Befehl zum ändern der Rangnamen:
Code
Alles anzeigenocmd:changername(playerid,params[]) { if(PI[playerid][pLeader] >= 1 || PI[playerid][pAdmin] >= 3) { new str[128]; if(PI[playerid][pAdmin] >= 3) { new rang,name[25],fraktion; if(sscanf(params,"dds[25]",fraktion,rang,name))return SCM(playerid,frot,"[FEHLER]: /changername [fraktion] [Rang] [Name]"); if(rang > 5 || rang < 1)return SCM(playerid,frot,"[FEHLER]: Der Rang muss zwischen 1 und 5 liegen!"); if(strlen(name) > 20)return SCM(playerid,frot,"[FEHLER]: Der Name darf maximal 20 Zeichen lang sein!"); if(rang == 1)format(FI[fraktion][rname1],25,name); else if(rang == 2)format(FI[fraktion][rname2],25,name); else if(rang == 3)format(FI[fraktion][rname3],25,name); else if(rang == 4)format(FI[fraktion][rname4],25,name); else if(rang == 5)format(FI[fraktion][rname5],25,name); format(str,sizeof(str),"Der Admin %s hat den Namen des Ranges %d auf %s geändert!",GPlayerName(playerid),rang,name); SendFrakMessage(fraktion,str); } new rang,name[25],frakid = PI[playerid][pLeader]; if(sscanf(params,"ds[25]",rang,name))return SCM(playerid,frot,"[FEHLER]: /changername [Rang] [Name]"); if(rang > 5 || rang < 1)return SCM(playerid,frot,"[FEHLER]: Der Rang muss zwischen 1 und 5 liegen!"); if(strlen(name) > 20)return SCM(playerid,frot,"[FEHLER]: Der Name darf maximal 20 Zeichen lang sein!"); if(rang == 1)format(FI[frakid][rname1],25,name); else if(rang == 2)format(FI[frakid][rname2],25,name); else if(rang == 3)format(FI[frakid][rname3],25,name); else if(rang == 4)format(FI[frakid][rname4],25,name); else if(rang == 5)format(FI[frakid][rname5],25,name); format(str,sizeof(str),"Der Leader %s hat den Namen des Ranges %d auf %s geändert!",GPlayerName(playerid),rang,name); SendFrakMessage(frakid,str); return 1; } SCM(playerid,frot,"[FEHLER]: Du hast nicht den nötigen Fraktions/Admin Rang"); return 1; }
Unten habe ich einen Screenshot angehängt.
Ausgangssituation:Ich hatte sowohl bei den Zivilisten als auch beim LSPD die Felder mit den rangnamen geleert.
Ich habe Ingame den Befehl "/changername 1 3 KlausPeter" eingegeben. Fraktion 1 ist das LSPD, 0 die Zivilisten.Jetzt kam dabei das heraus was am Screenshot zu sehen ist.
Hoffe ihr könnt mir helfen, mfg Simon.
-
Nein nein, danke das passt dann schon, eine Frage habe ich noch:
Ich lasse meine Fraktionen über diesen Stock speichern:
Code
Alles anzeigenstock SaveFraks() { new query[500],id,name,kasse,gehalt[5],rname[5],msg; for(new i=0;i<sizeof(FI);i++) { id = FI[i][f_id]; name = FI[i][f_name]; kasse = FI[i][f_kasse]; gehalt[0] = FI[i][gehalt1]; gehalt[1] = FI[i][gehalt2]; gehalt[2] = FI[i][gehalt3]; gehalt[3] = FI[i][gehalt4]; gehalt[4] = FI[i][gehalt5]; rname[0] = FI[i][rname1]; rname[1] = FI[i][rname2]; rname[2] = FI[i][rname3]; rname[3] = FI[i][rname4]; rname[4] = FI[i][rname5]; msg = FI[i][frakmsg]; mysql_format(db_handle,query,sizeof(query),"UPDATE fraktionen SET name = '%s', kasse = %d, gehalt1 = %d, gehalt2 = %d, gehalt3 = %d, gehalt4 = %d, gehalt5 = %d, rname1 = '%s', rname2 = '%s', rname3 = '%s', rname4 = '%s', rname5 = '%s', frakmsg = '%s' WHERE id = %d",name,kasse,gehalt[0],gehalt[1],gehalt[2],gehalt[3],gehalt[4],rname[0],rname[1],rname[2],rname[3],rname[4],msg,id); mysql_pquery(db_handle,query); } return 1; }
Den lasse ich unter OnGameModeExit aufrufen, aber es speichert nicht, im Mysql log steht nichtmal ein Error, also befürchte ich, dass der Stock nichteinmal aufgerufen, ausgeführt wird.
-
Hallo, habe eine kurze Frage:
Ich habe den Code geschrieben um die Fraktionsgehälter Dynamisch zu ändern:
Codenew rang,gehalt; if(sscanf(params,"dd",rang,gehalt))return SCM(playerid,frot,"[FEHLER]: /changesalary [Rang] [Gehalt]"); format(str,sizeof(str),"gehalt%d",rang); FI[frakid][str] = gehalt;
Meine Frage ist nur, ob das so funktioniert? Oder muss ich jetzt einzeln Abfragen was er als Rang eingegeben hat und es dann damit setzen?
Herauskommen soll hierbei, wenn er z.B /changesalary 1 100 eingibt, dass dann unten das gesetzt wird;
FI[frakid][gehalt1] = 100;