Iphone 5 für die Arbeit und Privat Iphone 6+
Beiträge von _AEROX_
-
-
ok und mein anderes problem weist du was ich da falsch gemacht habe ?
bekomme jetz weil playerid vom stock nicht genutzt wird eine Warning Meldung
von dieser Zeile --->> stock GetPlayerVehicleCount(playerid)
Meldung:
-
Welchen Fehler?
Hups sry vergessen des weiteren mache ich das ganze ja per name anstatt per id in der datebank
jetz habe ich das problem wen ich ein fahrzeug gekauft habe kann ich auch ein neues kaufen was am Ort gespawnt wird
wo man es dann fahren kann das problem wen ich das 2te auto dann parken will kommt vom /parken befehl die meldung dies Fahrzeug gehört nicht dir wie kann ich das lösen ? das es auch beim 2ten fahrzeug funktioniert?Fehlermeldung:
Code
Alles anzeigenC:\Users\\\\\.pwn(12327) : warning 213: tag mismatch C:\Users\\\\\.pwn(12327) : error 001: expected token: ",", but found "[" C:\Users\\\\\.pwn(12327) : error 029: invalid expression, assumed zero C:\Users\\\\\.pwn(12327) : error 091: ambiguous constant; tag override is required (symbol "id_x") C:\Users\\\\\.pwn(12327) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 4 Errors.
Park befehl vom Problem was oben beschrieben ist :
Code
Alles anzeigenCMD:parken(playerid,params[]) { new query[256]; if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,RED,"Du musst im Fahrzeug sitzen!"); for(new i = 0;i<MAX_AUTOS;i++) { if(cInfo[i][id_x] != GetPlayerVehicleID(playerid))continue; if(strcmp(cInfo[i][besitzer],SpielerInfo[playerid][Name])) return SendClientMessage(playerid,RED,"Dieses Auto gehört nicht dir!"); GetVehiclePos(cInfo[i][id_x],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z]); GetVehicleZAngle(cInfo[i][id_x],cInfo[i][c_r]); mysql_format(db, query,sizeof(query),"UPDATE autos SET x='%f',y='%f',z='%f',r='%f',nitro='%i' WHERE besitzer='%e'",cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],cInfo[i][nitro],SpielerInfo[playerid][Name]); mysql_function_query(db,query,false,"",""); SendClientMessage(playerid,GREEN,"Du hast dein Fahrzeug erfolgreich geparkt !"); return 1; } return 1; }
-
Hey undzwar habe ich in diesem Stock den ich für die maximale anzahl von Spielerfahrzeugen habe einen Fehler.
Woran könnte dies liegen ?Code:
Code
Alles anzeigenstock GetPlayerVehicleCount(playerid) { new cars = 0; for(new ci=0;ci<MAX_PLAYER_VEHS;ci++) { if(!strcmp(cInfo[ci][besitzer],SpielerInfo[ci][Name],true)) { if(IsValidVehicle(cInfo[ci][playerid][id_x])) cars++; } } return cars; }
Das ganze möchte ich beim kauf eines Autos einfügen damit man wen man die Maximale Anzahl an fahrzeugen erreicht hat
kein weiteres kaufen kann oder gibt es da eine bessere Methode ?Codeif(GetPlayerVehicleCount(playerid) >= MAX_PLAYER_VEHS) { SendClientMessage(playerid,RED,"Du kannst keine weiteren Fahrzeuge kaufen !"); return 1; }
-
Bei OnPlayerDisconnect musst du die Fahrzeuge des Spielers entfernen lassen.
Wäre dies so richtig?
-
Du fängst mit der Schleife bei 1 an, und die Nachricht kommt immer, egal ob man das Fahrzeug parken darf oder nicht.
Versuche es so:C
Alles anzeigenCMD:parken(playerid,params[]) { new query[256]; if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,RED,"Du musst im Fahrzeug sitzen!"); for(new i = 0;i<MAX_AUTOS;i++) { if(cInfo[i][id_x] != GetPlayerVehicleID(playerid))continue; if(strcmp(cInfo[i][besitzer],SpielerInfo[playerid][Name])) return SendClientMessage(playerid,RED,"Dieses Auto gehört nicht dir!"); GetVehiclePos(cInfo[i][id_x],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z]); GetVehicleZAngle(cInfo[i][id_x],cInfo[i][c_r]); mysql_format(db, query,sizeof(query),"UPDATE autos SET x='%f',y='%f',z='%f',r='%f',nitro='%i' WHERE besitzer='%e'",cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],cInfo[i][nitro],SpielerInfo[playerid][Name]); mysql_function_query(db,query,false,"",""); SendClientMessage(playerid,GREEN,"Du hast dein Fahrzeug erfolgreich geparkt !"); return 1; } return 1; }
Nun parkt er an der neuen Position aber nun stehen 2 gleiche autos auf dem neuen geparkten platz was muss ich da jetz machen muss ich das fahrezeug irwo destroyen ? -
Hey,
print mal den Befehl,
Print ("1"); etc.
So nach einigen Sachen und lass dirgendwie den query ausgeben
Printf("%s",query);Hat ein Spieler mehrere Autos?
Hey der Spieler hat bis jetz nur ein Fahrzeug kannst du mir das mit dem Print mal zeigen wie ich es bei dem Befehl machen soll ?
-
Was sagt denn der MySQL Debug?
Falls nicht, dann lasse dir die Query mal debuggen und schicke die hier.ehm in der mysql_log steht dies:
Code
Alles anzeigen[10:52:02] [DEBUG] Calling callback "OnPlayerCarsLoad".. [10:52:02] [DEBUG] cache_get_data - connection: 1 [10:52:02] [DEBUG] cache_get_field_content_int - row: 0, field_name: "model", connection: 1 [10:52:02] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "model", data: "589" [10:52:02] [DEBUG] cache_get_field_content_int - row: 0, field_name: "besitzer", connection: 1 [10:52:02] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "besitzer", data: "[NLR]Aerox" [10:52:02] [ERROR] cache_get_field_content_int - invalid datatype [10:52:02] [DEBUG] cache_get_field_content_float - row: 0, field_name: "x", connection: 1 [10:52:02] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "x", data: "2148" [10:52:02] [DEBUG] cache_get_field_content_float - row: 0, field_name: "y", connection: 1 [10:52:02] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "y", data: "-1138" [10:52:02] [DEBUG] cache_get_field_content_float - row: 0, field_name: "z", connection: 1 [10:52:02] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "z", data: "25" [10:52:02] [DEBUG] cache_get_field_content_float - row: 0, field_name: "r", connection: 1 [10:52:02] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "r", data: "270" [10:52:02] [DEBUG] cache_get_field_content_int - row: 0, field_name: "nitro", connection: 1 [10:52:02] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "nitro", data: "0" [10:52:02] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
Und der Befehlt sieht momentan so aus :Code
Alles anzeigenCMD:parken(playerid,params[]) { printf("Der Spieler %s hat /parken ausgeführt!",GetName(playerid)); if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,LIGHTRED,"Du sitzt in keinem Fahrzeug !"); if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid,LIGHTRED,"Du bist nicht der Fahrer eines Fahrzeuges !"); SendClientMessage(playerid,GREEN,"Du hast dein Fahrzeug erfolgreich geparkt !"); for(new i = 1;i<MAX_AUTOS;i++) { if(cInfo[i][id_x] != GetPlayerVehicleID(playerid))continue; if(strcmp(cInfo[i][besitzer],SpielerInfo[playerid][Name])) return SendClientMessage(playerid,RED,"Dieses Auto gehört nicht dir!"); GetVehiclePos(cInfo[i][id_x],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z]); GetVehicleZAngle(cInfo[i][id_x],cInfo[i][c_r]); new query[256]; mysql_format(db, query,sizeof(query),"UPDATE autos SET x='%f',y='%f',z='%f',r='%f' WHERE besitzer='%e'",cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],SpielerInfo[playerid][Name]); mysql_function_query(db,query,false,"",""); return 1; } return 1; }
//edit etwas hinzugefügt +
-
@ScriptTv wieso hast du loadPlayerCars(playerid); unter onplayerdisconect ?
Mach loadPlayerCars(playerid); mal unter Onplayerconnect
-
Habe den Befehl jetz so aber wen ich Ingame /parken mach im fahrzeug und es dann quasi parken will und dann off gehe und wieder on steht es wieder da wo es davor war also wurde quasi nicht umgeparkt :O
Aktueller Code von /parken :
Code
Alles anzeigenCMD:parken(playerid,params[]) { new query[256]; if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,RED,"Du musst im Fahrzeug sitzen!"); SendClientMessage(playerid,GREEN,"Du hast dein Fahrzeug erfolgreich geparkt !"); for(new i = 1;i<MAX_AUTOS;i++) { if(cInfo[i][id_x] != GetPlayerVehicleID(playerid))continue; if(strcmp(cInfo[i][besitzer],SpielerInfo[playerid][Name])) return SendClientMessage(playerid,RED,"Dieses Auto gehört nicht dir!"); GetVehiclePos(cInfo[i][id_x],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z]); GetVehicleZAngle(cInfo[i][id_x],cInfo[i][c_r]); mysql_format(db, query,sizeof(query),"UPDATE autos SET x='%f',y='%f',z='%f',r='%f',nitro='%i' WHERE besitzer='%e'",cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],cInfo[i][nitro],SpielerInfo[playerid][Name]); mysql_function_query(db,query,false,"",""); return 1; } return 1; }
-
Hey Community,
undzwar mache ich Ingame /parken und gehe dann off und dann steht das gekaufte Fahrzeug wieder da wo es erstellt wurde beim Autohaus.
Woran könnte das liegen bin grade etwas am verzweifelnCode:
Code
Alles anzeigenCMD:parken(playerid,params[]) { new query[256]; if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,RED,"Du musst im Fahrzeug sitzen!"); SendClientMessage(playerid,GREEN,"Du hast dein Fahrzeug erfolgreich geparkt !"); for(new i = 1;i<MAX_AUTOS;i++) { if(cInfo[i][id_x] != GetPlayerVehicleID(playerid))continue; if(strcmp(cInfo[i][besitzer],SpielerInfo[playerid][Name])) return SendClientMessage(playerid,RED,"Dieses Auto gehört nicht dir!"); GetVehiclePos(cInfo[i][id_x],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z]); GetVehicleZAngle(cInfo[i][id_x],cInfo[i][c_r]); mysql_format(db, query,sizeof(query),"UPDATE autos SET x='%f',y='%f',z='%f',r='%f',nitro='%i' WHERE besitzer='%e",cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],cInfo[i][nitro],SpielerInfo[playerid][Name]); mysql_function_query(db,query,false,"",""); return 1; } return 1; }
-
Danke das war der Fehler
-
Bei deinem saveCarToDB stock ist das query mit 128 zu klein. Erhöhe das.
habe es jetz so aber es geht immer noch nicht muss wohl irgendwo anders dran liegen
Code:
CodesaveCarToDB(playerid,hehe) { new query[256]; mysql_format(db, query,sizeof(query),"INSERT INTO autos (besitzer,model,x,y,z,r,nitro) VALUES ('%e','%i','%i','%f','%f','%f','%f','%i')",SpielerInfo[playerid][Name],cInfo[hehe][model],cInfo[hehe][c_x],cInfo[hehe][c_y],cInfo[hehe][c_z],cInfo[hehe][c_r],cInfo[hehe][nitro]); mysql_function_query(db,query,true,"carSavedToDB","i",hehe); return 1; }
-
Hey undzwar trägt er kein Fahrzeug in die Tabelle ein wen ich ein Fahrzeug gekauft habe.
Hier mal die Codes:
Datenbank Struktur:
CodeCREATE TABLE IF NOT EXISTS `autos` ( `besitzer` varchar(24) NOT NULL, `model` int(11) NOT NULL, `x` int(11) NOT NULL, `y` int(11) NOT NULL, `z` int(11) NOT NULL, `r` int(11) NOT NULL, `nitro` int(11) NOT NULL, PRIMARY KEY (`besitzer`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=91 ;
Code
Alles anzeigenforward OnPlayerCarsLoad(playerid); public OnPlayerCarsLoad(playerid) { new num_fields,num_rows; cache_get_data(num_rows,num_fields,db); if(!num_rows)return 1; for(new i=0; i<num_rows; i++) { new id=getFreeCarID(); cInfo[id][model]=cache_get_field_content_int(i,"model",db); cInfo[id][besitzer]=cache_get_field_content_int(i,"besitzer",db); cInfo[id][c_x]=cache_get_field_content_float(i,"x",db); cInfo[id][c_y]=cache_get_field_content_float(i,"y",db); cInfo[id][c_z]=cache_get_field_content_float(i,"z",db); cInfo[id][c_r]=cache_get_field_content_float(i,"r",db); cInfo[id][nitro]=cache_get_field_content_int(i,"nitro",db); cInfo[id][id_x]=CreateVehicle(cInfo[id][model],cInfo[id][c_x],cInfo[id][c_y],cInfo[id][c_z],cInfo[id][c_r],-1,-1,-1); } return 1; }
Code
Alles anzeigencreatePlayerCar(playerid,modelid,Float:x,Float:y,Float:z,Float:r) { for(new i=0; i<sizeof(cInfo); i++) { if(cInfo[i][id_x]!=0)continue; cInfo[i][besitzer]=SpielerInfo[playerid][Name]; cInfo[i][c_x]=x; cInfo[i][c_y]=y; cInfo[i][c_z]=z; cInfo[i][c_r]=r; cInfo[i][nitro]=0; cInfo[i][model]=modelid; cInfo[i][id_x] = CreateVehicle(modelid,x,y,z,r,-1,-1,-1); /*new string[128]; format(string,sizeof(string),"Das Auto cInfo[%i] wurde erstellt.",i); SendClientMessage(COLOR_RED,string);*/ saveCarToDB(playerid,i); return 1; } return 1; }
CodesaveCarToDB(playerid,hehe) { new query[128]; mysql_format(db, query,sizeof(query),"INSERT INTO autos (besitzer,model,x,y,z,r,nitro) VALUES ('%e','%i','%i','%f','%f','%f','%f','%i')",SpielerInfo[playerid][Name],cInfo[hehe][model],cInfo[hehe][c_x],cInfo[hehe][c_y],cInfo[hehe][c_z],cInfo[hehe][c_r],cInfo[hehe][nitro]); mysql_function_query(db,query,true,"carSavedToDB","i",hehe); return 1; }
CodeloadPlayerCars(playerid) { new query[128]; mysql_format(db, query,sizeof(query),"SELECT * FROM autos WHERE besitzer='%e'",SpielerInfo[playerid][Name]); mysql_function_query(db,query,true,"OnPlayerCarsLoad","i",playerid); return 1; }
-
Das bedeutet, dass du nichts richtig abrufen kannst (bspw via ID), wenn du beispielsweise anhand des Besitzers auslesen willst, aber dort mehrere Autos drin hast, werden alle ausgelesen, oder per ASC und DESC nur das erste / letzte
Also was muss ich jetz machen das ich die Spalten direkt öffnen kann und die werte ändern kann ?
-
Hey ich habe keine Bearbeitungsfunktion die sachen werden zwar gespeichert aber kann sie nicht direkt bearbeiten wie muss ich das nochmal machen?
Meldung bei Phpymyadmin:
CodeDie aktuelle Markierung enthält keine eindeutige ("unique") Spalte. Gitter-Bearbeitungsfunktion, Kontrollkästchen, Bearbeiten, Kopieren und Löschen von Links sind nicht verfügbar.
Aufbau der Struktur :
-
-
Hey undzwar wollte ich mir den Server eben auch mal angucken jetz war ich beim Tutorial grade bei 9/12 und habe auf weiter geklickt plötzlich you are banned from this server dann bin ich vom server gegangen und habe erneut versucht zu spielen aber es ging nicht woran liegt das den habe nichts gemacht warum ich gebannt werden könnte :O
-
RayZerHD könntest du mal bitte aufhören den Thread unnötig voll zu spammen ?
-
Wie hast du cInfo deklariert? Hast du das mit MAX_AUTOS deklariert? Wenn nicht, mache das.
so sind die sachen deklariet Jeffry:
Code
Alles anzeigen//Autohaus & Carsystem enum carEnum{ id_x, model, besitzer, Float:c_x, Float:c_y, Float:c_z, Float:c_r, //Noch nicht in der Datebank carlock, key1, key2, key3, color1, color2, nitro } enum autohausEnum{ Float:s_x, Float:s_y, Float:s_z, Float:s_r } enum autohauscarEnum{ model, Float:c_x, Float:c_y, Float:c_z, Float:c_r, c_preis, ah_id, id_x } new cInfo[50][carEnum]; new ahInfo[][autohausEnum] = { {2148.1672,-1138.4470,25.1911,269.5529},//autohaus 1 ( ID: 0 ) Gekauftes Auto spawn ! {189.8910,-263.3446,1.2829,180.6895}//autohaus 2 ( ID: 1 ) Gekauftes Auto spawn ! }; new ahCars[][autohauscarEnum] = { {560,2118.7126,-1147.1604,24.1730,297.5481,50000,0},//Autohaus-Hubert-Sultan wäre Für Autohaus 1 das Fahrzeug {402,2118.4863,-1141.6115,24.7204,298.9327,50000,0},//Autohaus-Hubert-Buffalo {439,2118.6980,-1135.6320,25.1155,299.3066,50000,0},//Autohaus-Hubert-Stallion {496,2118.6128,-1130.6963,24.9985,300.7458,50000,0},//Autohaus-Hubert-BlistaCompact {542,2135.7947,-1146.3422,24.4005,61.1627,50000,0},//Autohaus-Hubert-Clover {550,2136.1079,-1141.1279,25.0449,61.2820,50000,0},//Autohaus-Hubert-Sunrise {587,2136.0935,-1135.4814,25.4157,56.5371,50000,0},//Autohaus-Hubert-Euros {589,2136.4507,-1129.7111,25.2959,58.0007,50000,0},//Autohaus-Hubert-Club {400,204.8894,-265.4756,1.2866,354.1406,50000,1}//wäre für Autohaus 2 das Fahrzeug };