Adventure Capitalist & Bloons TD
Beiträge von Whice
-
-
Moin, es funktioniert leider trotzdem nicht.
Also noch einmal zum Verständnis.
- In der Datenbank gibt es "Register" und dieser Wert wird auch mit dem richtigem Datum gefüllt.
- Der Wert aktualisiert sich nicht mehr.
- Der Wert wird nur nicht richtig angezeigt.
Wenn das so richtig ist, schau mal in deine mysql.log Datei Gibt es dort irgendwelche Errors/Warnings?
Kann es vielleicht auch sein das Stats nicht funktioniert, weil der Wert beim anderen Spieler (targetid) gar nicht gesetzt ist?
-
Nochmal die Frage:
"Das ist ja ein Wert, der beim ersten Mal registrieren festgelegt wird und nie wieder verändert wird. Ließt du den Wert dann auch aus? Also wird die Variable beim Login per SQL Befehl Abgefragt und in die Variable gespeichert?"
Heiß speicherst du das in deinem ShowCharacter in die Variable?
-
[21:14:18 - 14.03.2020] [ERROR] error #1364 while executing query "INSERT INTO `accounts` (`Register`,`LastLogin`) VALUES ('14.03.2020 | 21:14:18 ','')": Field 'Name' doesn't have a default value
Das scheint mir eine andere Query zu sein, irgendwo hast du ein MYSQL Befehl, in dem du den "Name" setzten willst, er jedoch nichts einträgt (Vielleicht eine leere Variable) und kein Standartwert in der DB festgelegt ist.
Der Registerprint spuckt nichts aus und der Loginprint das Richtige.
Das ist ja ein Wert, der beim ersten Mal registieren festgelegt wird und nie wieder verändert wird. Ließt du den Wert dann auch aus? Also wird die Variable beim Login per SQL Befehl Abgefragt und in die Variable gespeichert?
-
in Zeile 10 hast du 2 Parameter, gibt aber nur einen an
-
du setzt es doch immer wieder bei OnPasswordHashed auf die aktuelle Zeit, wenn ich esgrade richtig sehe
-
Edit2: In fast allen anderen Befehlen geht das GetDevRang, nur hier nicht.
Ich würde mal account_Scripter, account_Mapper & account_Admin printen lassen und es nochmal probieren, falls Admin nicht 5 ist oder Mapper oder Scripter nicht 1 dann haste direkt den Fehler.
Beachten solltest du auch das wenn Scripter & Mapper auf 1 sind wird nur Mapper angezeigt, da dort keine else abgefrage ist.
-
ist denn die Variable des Mappers/Scriptera account_Admin auf 5? Nur dort fragst du es ja ab
-
Grad nur am Handy aber bist du denn sicher das der jenige die Variable Geschlecht auf 1 oder 2 hat und nicht eventuell standardmäßig auf 0?
-
sehe ich schon die ersten Kommentare unter Serverwerbungen, dass man die ja freundlicher und mit ein wenig Farbe hätte gestalten können.
Das Problem ist es gibt 1 Serverwerbung die wert darauf legt, auf der anderen Seite allerdings 100 Beiträge/Themen, welche es nicht raffen.
-
Gut wäre es noch das man nicht permanent auf diesen Darkmode erzwingen Button drücken muss, ist ja sehr belastend.
-
Finde es jetzt ehrlich gesagt auch irrelevant, selbst wenn sich mal ein Fehler einschleicht, ist es halt so. Wenn ich dies nicht möchte jage ich den Text durch eine Rechtschreibkontrolle und lese ihn mir danach nochmals durch.
Und im Notfall gibt es halt auch die Zitatfunktion, mit welcher ich bestimmte Passagen hervorheben kann.
-
Moin magste das ganze evtl nochmals anpassen, sieht recht belastend aus im Dark Design
-
Ja, der clue ist, vID hier ist nicht die vehicleID, sondern die modelid.
Das kommt wohl dabei raus, wenn man Code schreibt und nach 6 Monaten weitermachen will^^
Danke dir , klappt soweit
-
Alsooo wie sieht dein Code jetzt aus und was sagt crashdetect?
Also nochmal
Code
Alles anzeigen#define GetVehicleName(%0) VehicleNames[GetVehicleModel(%0) - 400] new VehicleNames[][] = { "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel", "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus", "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam", "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection", "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie", "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral", "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder", "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "Berkley's RC Van", "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale", "Oceanic","Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX", "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper", "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking", "Blista Compact", "Police Maverick", "Boxville", "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT", "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt", "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune", "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer", "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent", "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder", "Primo", "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite", "Windsor", "Monster", "Monster", "Uranus", "Jester", "Sultan", "Stratium", "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito", "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper", "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400", "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club", "Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car", "Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha", "Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville", "Tiller", "Utility Trailer" }; public OnPlayerCommandPerformed(playerid, cmdtext[], success) { if(!success) { new string[132]; format(string, sizeof(string), "Fehler: Der Befehl '%s' wurde nicht gefunden!", cmdtext); return SCM(playerid, COLOR_INFO, string); } return 1; } public OnPlayerCommandReceived(playerid, cmdtext[]) { if(!IsLogged(playerid)) { SCM(playerid, COLOR_INFO, "Fehler: Du bist nicht eingeloggt!"); return 0; } return 1; } CMD:veh(playerid, params[]) { if(!IsAdmin(playerid, 4)) return NO_PERM; new vName[18]; if(sscanf(params, "s[18]", vName)) return Usage("Benutzung: /veh [Vehicle Name]"); if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid, COLOR_INFO, "Fehler: Du darfst in keinem Fahrzeug sein!"); new string[128], vID = GetVehicleModelIDFromName(vName), Float:Pos[4]; if(vID < 400 || vID > 611) return SCM(playerid, COLOR_INFO, "Fehler: Das Fahrzeug wurde nicht gefunden!"); GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]); GetPlayerFacingAngle(playerid, Pos[3]); format(string, sizeof(string), "> Du hast dir erfolgreich das Vehicle: %s gespawnt!", GetVehicleName(vID)); SCM(playerid, COLOR_INFO, string); new veh = CreateVehicle(vID, Pos[0], Pos[1], Pos[2], Pos[3], 211, 211, -1, 1); SetVehicleNumberPlate(veh, "ADMIN"); PutPlayerInVehicle(playerid, veh, 0); format(string, sizeof(string), "VEH | %s (%i) WERT NEU: %s (%i) POS: (%0.1f | %0.1f | %0.1f | %0.1f)", GetName(playerid), playerid, vName, vID, Pos[0], Pos[1], Pos[2], Pos[3]); Log("cmd_log", string); return 1; } GetVehicleModelIDFromName(vname[]) { for(new i = 0; i < 211; i++) { if(strfind(VehicleNames[i], vname, true) != -1) return i + 400; } return -1; } /* CRASHDETECT */ [15:16:15] [debug] Run time error 4: "Array index out of bounds" [15:16:15] [debug] Attempted to read/write array element at negative index -400 [15:16:15] [debug] AMX backtrace: [15:16:15] [debug] #0 0000ef60 in public cmd_veh (0, 302964) in x.amx [15:16:15] [debug] #1 native CallLocalFunction () in samp-server.exe [15:16:15] [debug] #2 0000052c in public OnPlayerCommandText (0, 302928) in x.amx
-
Ahhh und wie ist das definiert? :3
Hab ich grade rausgenommen und durch
#define GetVehicleName(%0) VehicleNames[GetVehicleModel(%0) - 400]
ersetzte, geht aber beides net
-
Würdest du mal zeigen, wie das definiert ist?
Code
Alles anzeigennew VehicleNames[][] = { "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel", "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus", "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam", "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection", "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie", "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral", "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder", "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "Berkley's RC Van", "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale", "Oceanic","Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX", "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper", "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking", "Blista Compact", "Police Maverick", "Boxville", "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT", "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt", "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune", "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer", "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent", "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder", "Primo", "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite", "Windsor", "Monster", "Monster", "Uranus", "Jester", "Sultan", "Stratium", "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito", "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper", "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400", "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club", "Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car", "Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha", "Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville", "Tiller", "Utility Trailer" };
-
ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_TABLIST_HEADERS, "Teammitglieder online","Faction ID\tName\tOnline",result,"OK", "");
ShowPlayerDialog hat nur 7 Parameter, du hast 8.
Schau dir mal hier an, wie man die Tablist Headers verwendet: https://wiki.sa-mp.com/wiki/Dialog_Styles
-
Lade mal crashdetect und schau, was dir da so ausgegeben wird
Code: crashdetect ausgabe[13:36:50] [debug] Run time error 4: "Array index out of bounds" [13:36:50] [debug] Attempted to read/write array element at negative index -400 [13:36:50] [debug] AMX backtrace: [13:36:50] [debug] #0 00011af0 in ?? (411) in xxx [13:36:50] [debug] #1 0000ebac in public cmd_veh (0, 302220) in xxx [13:36:50] [debug] #2 native CallLocalFunction () in samp-server.exe [13:36:50] [debug] #3 0000052c in public OnPlayerCommandText (0, 302184) in xxx
OnPlayerCommandText benutze ich nicht, da ich ZCMD nutze.
Code
Alles anzeigenpublic OnPlayerCommandPerformed(playerid, cmdtext[], success) { if(!success) { new string[132]; format(string, sizeof(string), "Fehler: Der Befehl '%s' wurde nicht gefunden!", cmdtext); return SCM(playerid, COLOR_INFO, string); } return 1; } public OnPlayerCommandReceived(playerid, cmdtext[]) { if(!IsLogged(playerid)) { SCM(playerid, COLOR_INFO, "Fehler: Du bist nicht eingeloggt!"); return 0; } return 1; }
-
Moin habe nen kleines Problem mit sscanf. Vielleicht hat da ja einer von euch ne Lösung.
Ich habe ein Command zum Spawnen von Fahrzeugen:
Code
Alles anzeigenCMD:veh(playerid, params[]) { if(!IsAdmin(playerid, 4)) return NO_PERM; new vName[18]; if(sscanf(params, "s[18]", vName)) return Usage("Benutzung: /veh [Vehicle Name]"); if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid, COLOR_INFO, "Fehler: Du darfst in keinem Fahrzeug sein!"); new string[128], vID = GetVehicleModelIDFromName(vName), Float:Pos[4]; if(vID < 400 || vID > 611) return SCM(playerid, COLOR_INFO, "Fehler: Das Fahrzeug wurde nicht gefunden!"); GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]); GetPlayerFacingAngle(playerid, Pos[3]); format(string, sizeof(string), "> Du hast dir erfolgreich das Vehicle: %s gespawnt!", VehicleName(vID)); SCM(playerid, COLOR_INFO, string); new veh = CreateVehicle(vID, Pos[0], Pos[1], Pos[2], Pos[3], 211, 211, -1, 1); SetVehicleNumberPlate(veh, "ADMIN"); PutPlayerInVehicle(playerid, veh, 0); format(string, sizeof(string), "VEH | %s (%i) WERT NEU: %s (%i) POS: (%0.1f | %0.1f | %0.1f | %0.1f)", GetName(playerid), playerid, vName, vID, Pos[0], Pos[1], Pos[2], Pos[3]); Log("cmd_log", string); return 1; } GetVehicleModelIDFromName(vname[]) { for(new i = 0; i < 211; i++) { if(strfind(VehicleNames[i], vname, true) != -1) return i + 400; } return -1; }
Dort habe ich bei Zeile 4 (sscanf Abfrage) das Problem, das ich eine String Länge 's[18]' angeben muss, sonst bekomme ich einen Fehler.
sscanf warning: Strings without a length are deprecated, please add a destination size.
Wenn ich jedoch eine Länge angebe bekomme ich den Fehler das der Befehl nicht gefunden wurde. (Ich nehme an weil die 18 nicht erreicht wurde, sondern ich nur 'inf' eingegeben habe.)
Hat hier jemand eine Lösung, wo mein Fehler ist?