Beiträge von HighSociety
-
-
ah haha bin ich doof ich habe das return versehentlich entfernt
-
Den Befehl
Code
Alles anzeigenocmd:createcardealer(playerid,params[]) { new name[32],price,level,Float:xPos[3]; if(pInfo[playerid][pAdmin] != 5)return 1; if(sscanf(params,"dds[32]",price,level,name))return SendClientMessage(playerid,COLOR_GREY,"Benutze: /createcardealer [Preis] [Level] [Name]"); for(new i;i<MAX_AUTOHAUS;i++) { if(AHInfo[i][zCreated])continue; new str[256]; GetPlayerPos(playerid,xPos[0],xPos[1],xPos[2]); format(str,sizeof str,"INSERT INTO `Cardealers` (`Owner`, `PosX`, `PosY`, `PosZ`, `Name`, `Price`, `Level`, `LPosX`, `LPosY`, `LPosZ`) VALUES ('Niemand', '%f', '%f', '%f', '%s', '%d', '%d', '%f', '%f', '%f')",xPos[0],xPos[1],xPos[2],name,price,level,xPos[0],xPos[1],xPos[2]); mysql_query(str); KillCarDealer(i); LoadCarDealer(i); } return 1; }
kann ich einmal InGame eingeben. Danach wird er erstellt allerdings aber 1000 fach. Was habe ich da falsch gemacht ?
Codestock KillCarDealer(id) { SaveCarDealer(id); DestroyPickup(AHInfo[id][zPickup]); Delete3DTextLabel(AHInfo[id][zLabel]); AHInfo[id][zCreated] = false; return 1; }
Codestock SaveCarDealer(id) { new query[512]; format(query,sizeof query,"UPDATE `Cardealers` SET `Owner` = '%s', `Name` = '%s', `Bank` = '%d', `OrderCap` = '%d', `StoreCap` = '%d', `LPosX` = '%f', `LPosY` = '%f', `LPosZ` = '%f' WHERE `ID` = '%d'",AHInfo[id][zOwner],AHInfo[id][zName],AHInfo[id][zBank],AHInfo[id][zOrderCap],AHInfo[id][zStoreCap],AHInfo[id][zLPosX],AHInfo[id][zLPosY],AHInfo[id][zLPosZ],AHInfo[id][zID]); mysql_query(query); return 1; }
-
Haha da weht der Wind her. Es war die Max Autohaus.
Danke DJ DEAGLE zum Glück ist das ding von dir
-
-
Mach bitte die -1 weg bei mysql_insert_id wenn du eine spalte hast die auf auto_increment gesetzt wurde wird genau die ID zurückgegeben des neuen Datensatzes sollte dieser Beispiel 8 sein subtrahierst du gerade 1 und versuchst daher den Datensatz mit der ID 7 auszulesen anstatt 8
entfernt
Logs geben noch immer nichts aus
-
Leider gibt es dabei nichts aus außer klar, das der Server gestartet wurde und gejoint wurde
Also
Code
Alles anzeigen---------- Loaded log file: "server_log.txt". ---------- SA-MP Dedicated Server ---------------------- v0.3.7-R2, (C)2005-2015 SA-MP Team [11:20:27] [11:20:27] Server Plugins [11:20:27] -------------- [11:20:27] Loading plugin: mysql.so [11:20:27] > MySQL plugin R5 successfully loaded. [11:20:27] Loaded. [11:20:27] Loading plugin: streamer.so [11:20:27] Loaded. [11:20:27] Loading plugin: sscanf.so [11:20:27] [11:20:27] =============================== [11:20:27] sscanf plugin loaded. [11:20:27] Version: 2.8.1 [11:20:27] (c) 2012 Alex "Y_Less" Cole [11:20:27] =============================== [11:20:27] Loaded. [11:20:27] Loading plugin: nativechecker.so [11:20:27] Loaded. [11:20:27] Loaded 4 plugins. [11:20:27] [11:20:27] Filterscripts [11:20:27] --------------- [11:20:27] Loaded 0 filterscripts. [11:20:27] <-| [MYSQL] Verbindung zur Datenbank wurde erfolgreich hergestellt! [11:20:27] Setting server password to: "shanfjdshfjsdhfjkdshfsd" [11:20:27] [11:20:27] Alle Maps wurden erfolgreich geladen! [11:20:27] [11:20:27] Filterscript 'Maps.amx' loaded. [11:20:27] [11:20:27] SCRIPT - (c) by Zinne [11:20:27] [11:20:27] Number of vehicle models: 0 [11:20:27] [connection] 127.0.0.1:37027 requests connection cookie. [11:20:27] [connection] 127.0.0.1:59348 requests connection cookie. [11:20:28] [connection] incoming connection: 127.0.0.1:37027 id: 0 [11:20:28] [connection] incoming connection: 127.0.0.1:59348 id: 1 [11:20:28] [npc:join] Marihuanasamendealer has joined the server (0:127.0.0.1) [11:20:28] [npc:join] Kokainsamendealer has joined the server (1:127.0.0.1) [11:20:37] Server password has been removed. [11:20:58] [connection] 84.185.193.166:65125 requests connection cookie. [11:20:59] [connection] incoming connection: 84.185.193.166:65125 id: 2 [11:20:59] [join] ForestMile has joined the server (2:84.185.193.166)
-
Bin scheinbar zu blöd dafür.
Hab des nun so gemacht
Code
Alles anzeigenocmd:createcardealer(playerid,params[]) { new name[32],price,level,Float:xPos[3]; if(pInfo[playerid][pAdmin] != 5)return 1; if(sscanf(params,"dds[32]",price,level,name))return SendClientMessage(playerid,COLOR_GREY,"Benutze: /createcardealer [Preis] [Level] [Name]"); for(new i;i<MAX_AUTOHAUS;i++) { if(AHInfo[i][zCreated])continue; new str[256]; GetPlayerPos(playerid,xPos[0],xPos[1],xPos[2]); format(str,sizeof str,"INSERT INTO `Cardealers` (`Owner`, `PosX`, `PosY`, `PosZ`, `Name`, `Price`, `Level`, `LPosX`, `LPosY`, `LPosZ`) VALUES ('Niemand', '%f', '%f', '%f', '%s', '%d', '%d', '%f', '%f', '%f')",xPos[0],xPos[1],xPos[2],name,price,level,xPos[0],xPos[1],xPos[2]); print(str); mysql_query(str); return LoadCarDealer(mysql_insert_id()-1); } return 1; }
Es wird mir nichts in den Logs angegeben daher vermute ich einfach das ich zu blöd dafür bin
-
Wie mache ich dies genau ?
Also den Print ausgeben lassen?
-
Leider zeigt dies bei mir keinerlei Erfolg. Es wird kein Pickup erstellt lediglich in der Datenbank eingetragen.
Nach einen restart des Servers wird der Pickup sichtbar. Das soll er aber sofort
-
Code
Alles anzeigenocmd:createcardealer(playerid,params[]) { new name[32],price,level,Float:xPos[3]; if(pInfo[playerid][pAdmin] != 5)return 1; if(sscanf(params,"dds[32]",price,level,name))return SendClientMessage(playerid,COLOR_GREY,"Benutze: /createcardealer [Preis] [Level] [Name]"); for(new i;i<MAX_AUTOHAUS;i++) { if(AHInfo[i][zCreated])continue; new str[256]; GetPlayerPos(playerid,xPos[0],xPos[1],xPos[2]); format(str,sizeof str,"INSERT INTO `Cardealers` (`Owner`, `PosX`, `PosY`, `PosZ`, `Name`, `Price`, `Level`, `LPosX`, `LPosY`, `LPosZ`) VALUES ('Niemand', '%f', '%f', '%f', '%s', '%d', '%d', '%f', '%f', '%f')",xPos[0],xPos[1],xPos[2],name,price,level,xPos[0],xPos[1],xPos[2]); mysql_query(str); return LoadCarDealer(i); } return 1; }
Code
Alles anzeigenstock LoadCarDealer(id) { new q[256]; format(q,256,"SELECT * FROM `Cardealers` WHERE `ID` = '%d'",id+1); mysql_query(q); mysql_store_result(); if(mysql_num_rows() == 1) { new str[512]; while(mysql_fetch_row(str)) { for(new i;i<MAX_AUTOHAUS;i++) { if(AHInfo[i][zCreated])continue; new string[256]; sscanf(str, "e<p<|>ds[32]fffds[24]ddddfff>",AHInfo[i]); if((!strcmp(AHInfo[i][zOwner],"Niemand",true))) { AHInfo[i][zPickup]=CreatePickup(1273,1,AHInfo[i][zPosX],AHInfo[i][zPosY],AHInfo[i][zPosZ],0); format(string,128,"** %s **\nDieses Autohaus ist zu verkaufen!\nPreis: %s€\nLevel: %d\nAutohaus kaufen: /buybiz",AHInfo[i][zName],inspoints(AHInfo[i][zPrice]),AHInfo[i][zLevel]); AHInfo[i][zLabel]=Create3DTextLabel(string,COLOR_AHLABEL,AHInfo[i][zPosX],AHInfo[i][zPosY],AHInfo[i][zPosZ],10,0,1); AHInfo[i][zCreated] = true; } else { AHInfo[i][zPickup]=CreatePickup(1272,1,AHInfo[i][zPosX],AHInfo[i][zPosY],AHInfo[i][zPosZ],0); format(string,128,"** %s **\nBesitzer: %s",AHInfo[i][zName],AHInfo[i][zOwner]); AHInfo[i][zLabel]=Create3DTextLabel(string,COLOR_AHLABEL,AHInfo[i][zPosX],AHInfo[i][zPosY],AHInfo[i][zPosZ],10,0,1); AHInfo[i][zCreated] = true; } return 1; } } mysql_free_result(); } return 1; }
-
Danke euch
kann geschlossen werden
-
Die Zeile ist vorhanden. Deswegen verwundert mich das ganze ja
-
Code
stock SaveCarDealer(id) { new query[512]; format(query,sizeof query,"UPDATE `Cardealers` SET `Owner` = '%s', `Name` = '%s', `Bank` = '%d', `OrderCap` = '%d', `StoreCap` = '%d', `LPosX` = '%f', `LPosY` = '%f', ` LPosZ` = '%f' WHERE `ID` = '%d'",AHInfo[id][zOwner],AHInfo[id][zName],AHInfo[id][zBank],AHInfo[id][zOrderCap],AHInfo[id][zStoreCap],AHInfo[id][zLPosX],AHInfo[id][zLPosY],AHInfo[id][zLPosZ],AHInfo[id][zID]); mysql_query(query); return 1; }
-
Code
[15:57:42] ::: MySQL Query Error ::: [15:57:42] ErrorID: 1054 [15:57:42] Error: Unknown column ' LPosZ' in 'field list' [15:57:42] ResultID: -1 [15:57:42] ExtraID: -1 [15:57:42] Callback: NULL [15:57:42] Query: UPDATE `Cardealers` SET `Owner` = 'ForestMile', `Name` = '1', `Bank` = '0', `OrderCap` = '1', `StoreCap` = '1', `LPosX` = '638.132019', `LPosY` = '-1342.890014', ` LPosZ` = '13.382800' WHERE `ID` = '2' [15:57:42] ConnectionHandle: 1
-
Einmal den stock LoadCarDealers
Code
Alles anzeigenstock LoadCarDealers() { mysql_query("SELECT * FROM `Cardealers`"); mysql_store_result(); new rows = mysql_num_rows(); if(rows != 0 && rows <= 5) { new str[1024],idx=0; while(mysql_fetch_row(str)) { new string[256]; sscanf(str, "e<p<|>ds[32]fffds[24]ddddfff>",AHInfo[idx]); if((!strcmp(AHInfo[idx][zOwner],"Niemand",true))) { AHInfo[idx][zPickup]=CreatePickup(1273,1,AHInfo[idx][zPosX],AHInfo[idx][zPosY],AHInfo[idx][zPosZ],0); format(string,128,"** %s **\nDieses Autohaus ist zu verkaufen!\nPreis: %s€\nLevel: %d\nAutohaus kaufen: /buybiz",AHInfo[idx][zName],inspoints(AHInfo[idx][zPrice]),AHInfo[idx][zLevel]); AHInfo[idx][zLabel]=Create3DTextLabel(string,COLOR_AHLABEL,AHInfo[idx][zPosX],AHInfo[idx][zPosY],AHInfo[idx][zPosZ],10,0,1); AHInfo[idx][zCreated] = true; } else { AHInfo[idx][zPickup]=CreatePickup(1272,1,AHInfo[idx][zPosX],AHInfo[idx][zPosY],AHInfo[idx][zPosZ],0); format(string,128,"** %s **\nBesitzer: %s",AHInfo[idx][zName],AHInfo[idx][zOwner]); AHInfo[idx][zLabel]=Create3DTextLabel(string,COLOR_AHLABEL,AHInfo[idx][zPosX],AHInfo[idx][zPosY],AHInfo[idx][zPosZ],10,0,1); AHInfo[idx][zCreated] = true; } idx++; } mysql_free_result(); } return 1; }
-
Danke das hat im ersten schonmal geklappt.
Leider habe ich nun beim kaufen noch den Fehler das er nicht in die Tabelle Cardealers speichert (MySQL)
Code
Alles anzeigenocmd:buybiz(playerid,params[]) { if(pInfo[playerid][pAH] != -1 && pInfo[playerid][pBiz] != -1)return SendClientMessage(playerid,COLOR_LIGHTRED,"Du hast bereits ein Unternehmen!"); for(new i;i<MAX_AUTOHAUS;i++) { if(!AHInfo[i][zCreated])continue; if(IsPlayerInRangeOfPoint(playerid,3,AHInfo[i][zPosX],AHInfo[i][zPosY],AHInfo[i][zPosZ])) { if((!strcmp(AHInfo[i][zOwner],"Niemand",true))) { if(pInfo[playerid][pMoney] >= AHInfo[i][zPrice]) { if(GetPlayerScore(playerid) >= AHInfo[i][zLevel]) { GetPlayerName(playerid,sendername,sizeof sendername); pInfo[playerid][pMoney] -= AHInfo[i][zPrice]; pInfo[playerid][pAH] = i; format(AHInfo[i][zOwner],24,"%s",sendername); SendClientMessage(playerid,COLOR_LIGHTGREEN,"Du hast dir das Autohaus erfolgreich gekauft!"); SendClientMessage(playerid,COLOR_GREY,"Autohaus verwalten: /cardealer"); KillCarDealer(i); return LoadCarDealer(i); } else { return SendClientMessage(playerid,COLOR_LIGHTRED,"Dein Level reicht nicht aus, um dieses Autohaus zu kaufen!"); } } else { return SendClientMessage(playerid,COLOR_LIGHTRED,"Du hast nicht genug Geld, um dieses Autohaus zu kaufen!"); } } else { return SendClientMessage(playerid,COLOR_LIGHTRED,"Dieses Autohaus ist nicht zu verkaufen!"); } } }
-
Ich bitte nochmal um Hilfe bei diesen Befehl.
Sobald ich diesen Eingebe
Code
Alles anzeigenocmd:createcardealer(playerid,params[]) { new name[32],price,level,Float:xPos[3]; if(pInfo[playerid][pAdmin] != 5)return 1; if(sscanf(params,"dds[32]",price,level,name))return SendClientMessage(playerid,COLOR_GREY,"Benutze: /ccd [Preis] [Level] [Name]"); for(new i;i<MAX_AUTOHAUS;i++) { if(AHInfo[i][zCreated])continue; new str[256]; GetPlayerPos(playerid,xPos[0],xPos[1],xPos[2]); format(str,sizeof str,"INSERT INTO `Cardealers` (`Owner`, `PosX`, `PosY`, `PosZ`, `Name`, `Price`, `Level`, `LPosX`, `LPosY`, `LPosZ`) VALUES ('Niemand', '%f', '%f', '%f', '%s', '%d', '%d', '%f', '%f', '%f')",xPos[0],xPos[1],xPos[2],name,price,level,xPos[0],xPos[1],xPos[2]); mysql_query(str); return LoadCarDealer(i); } return 1; }
gibt er mir benutze ccd preis level aus. Diesen Befehl gibt es aber nicht. Und es muss eine andere Lösung geben. Jedenfalls ist dieser Befehl iwo falsch
-
Hej Jeffry danke dir es funktioniert =) auf dich ist verlass
-
Ich vermute mal ganz stark das du meinst sobald der User Joint das mache ich mit einem String
CodeMoneystring[playerid] = CreatePlayerTextDraw(playerid, 606.400268, 79.644401, "123.456.789.999"); PlayerTextDrawLetterSize(playerid, Moneystring[playerid], 0.265599, 1.570134); PlayerTextDrawAlignment(playerid, Moneystring[playerid], 3); PlayerTextDrawColor(playerid, Moneystring[playerid], -1); PlayerTextDrawSetShadow(playerid, Moneystring[playerid], 0); PlayerTextDrawSetOutline(playerid, Moneystring[playerid], 1); PlayerTextDrawBackgroundColor(playerid, Moneystring[playerid], 51); PlayerTextDrawFont(playerid, Moneystring[playerid], 2); PlayerTextDrawSetProportional(playerid, Moneystring[playerid], 1);
Code
Alles anzeigenpublic Speedometer() { for(new i;i<MAX_PLAYERS;i++) { if(!IsPlayerNPC(i)) { if(IsPlayerConnected(i) && GetPVarInt(i,"Eingeloggt") == 1) { new str[156]; format(str,sizeof str,"%s",inspoints(pInfo[i][pMoney])); PlayerTextDrawSetString(i, Moneystring[i], str); if(GM[i]){ SetPlayerHealth(i,100); } if(IsPlayerInAnyVehicle(i) && GetPlayerVehicleSeat(i) == 0) { new Float:CarHealth,string[256],kmh,veh,Float:Distance; veh=GetPlayerVehicleID(i); GetVehicleHealth(veh,CarHealth); CarHealth=CarHealth-250; CarHealth=CarHealth/10; CarHealth=CarHealth/75; CarHealth=CarHealth*100; kmh=GetPlayerSpeed(i, true); if(Handbrake[veh] == 1 && kmh > 6){ SetVehicleSpeed(veh,22); } if(Motor[veh] == true){ format(str,sizeof str,"~g~Motor "); } else { format(str,sizeof str,"~r~Motor "); } if(Handbrake[veh] == 1){ strcat(str,"~g~Handbremse "); } else { strcat(str,"~r~Handbremse "); } if(Licht[veh] == true){ strcat(str,"~g~Licht"); } else { strcat(str,"~r~Licht"); } PlayerTextDrawSetString(i,Tacho1[i],str); GetVehiclePos(veh,pNewKM[0][i],pNewKM[1][i],pNewKM[2][i]); Distance=GetVehicleDistanceFromPoint(veh,pOldKM[0][i],pOldKM[1][i],pOldKM[2][i]); if(Distance>150){Distance=0;} KM[veh] += Distance/900; pOldKM[0][i] = pNewKM[0][i]; pOldKM[1][i] = pNewKM[1][i]; pOldKM[2][i] = pNewKM[2][i]; format(string,sizeof string,"%0.1f KM",KM[veh]); switch(Tank[veh]/(MaxTank[GetVehicleModel(veh)-400]/10)) { case 10,11: format(string,sizeof string,"Geschwingidkeit: %d km/h~n~Tankinhalt: ~g~I I I I I I I I I I~w~ (%d/%dL)~n~Zustand: %d%%~n~Fahrzeug: %s~n~Kilometer: %s",kmh,Tank[veh],MaxTank[GetVehicleModel(veh)-400],floatround(CarHealth,floatround_floor),PlayerVehicle[GetVehicleModel(veh) - 400],string); case 9: format(string,sizeof string,"Geschwingidkeit: %d km/h~n~Tankinhalt: ~g~I I I I I I I I I ~r~I~w~ (%d/%dL)~n~Zustand: %d%%~n~Fahrzeug: %s~n~Kilometer: %s",kmh,Tank[veh],MaxTank[GetVehicleModel(veh)-400],floatround(CarHealth,floatround_floor),PlayerVehicle[GetVehicleModel(veh) - 400],string); case 8: format(string,sizeof string,"Geschwingidkeit: %d km/h~n~Tankinhalt: ~g~I I I I I I I I ~r~I I~w~ (%d/%dL)~n~Zustand: %d%%~n~Fahrzeug: %s~n~Kilometer: %s",kmh,Tank[veh],MaxTank[GetVehicleModel(veh)-400],floatround(CarHealth,floatround_floor),PlayerVehicle[GetVehicleModel(veh) - 400],string); case 7: format(string,sizeof string,"Geschwingidkeit: %d km/h~n~Tankinhalt: ~g~I I I I I I I ~r~I I I~w~ (%d/%dL)~n~Zustand: %d%%~n~Fahrzeug: %s~n~Kilometer: %s",kmh,Tank[veh],MaxTank[GetVehicleModel(veh)-400],floatround(CarHealth,floatround_floor),PlayerVehicle[GetVehicleModel(veh) - 400],string); case 6: format(string,sizeof string,"Geschwingidkeit: %d km/h~n~Tankinhalt: ~g~I I I I I I ~r~I I I I~w~ (%d/%dL)~n~Zustand: %d%%~n~Fahrzeug: %s~n~Kilometer: %s",kmh,Tank[veh],MaxTank[GetVehicleModel(veh)-400],floatround(CarHealth,floatround_floor),PlayerVehicle[GetVehicleModel(veh) - 400],string); case 5: format(string,sizeof string,"Geschwingidkeit: %d km/h~n~Tankinhalt: ~g~I I I I I ~r~I I I I I~w~ (%d/%dL)~n~Zustand: %d%%~n~Fahrzeug: %s~n~Kilometer: %s",kmh,Tank[veh],MaxTank[GetVehicleModel(veh)-400],floatround(CarHealth,floatround_floor),PlayerVehicle[GetVehicleModel(veh) - 400],string); case 4: format(string,sizeof string,"Geschwingidkeit: %d km/h~n~Tankinhalt: ~g~I I I I ~r~I I I I I I~w~ (%d/%dL)~n~Zustand: %d%%~n~Fahrzeug: %s~n~Kilometer: %s",kmh,Tank[veh],MaxTank[GetVehicleModel(veh)-400],floatround(CarHealth,floatround_floor),PlayerVehicle[GetVehicleModel(veh) - 400],string); case 3: format(string,sizeof string,"Geschwingidkeit: %d km/h~n~Tankinhalt: ~g~I I I ~r~I I I I I I I~w~ (%d/%dL)~n~Zustand: %d%%~n~Fahrzeug: %s~n~Kilometer: %s",kmh,Tank[veh],MaxTank[GetVehicleModel(veh)-400],floatround(CarHealth,floatround_floor),PlayerVehicle[GetVehicleModel(veh) - 400],string); case 2: format(string,sizeof string,"Geschwingidkeit: %d km/h~n~Tankinhalt: ~g~I I ~r~I I I I I I I I~w~ (%d/%dL)~n~Zustand: %d%%~n~Fahrzeug: %s~n~Kilometer: %s",kmh,Tank[veh],MaxTank[GetVehicleModel(veh)-400],floatround(CarHealth,floatround_floor),PlayerVehicle[GetVehicleModel(veh) - 400],string); case 1: format(string,sizeof string,"Geschwingidkeit: %d km/h~n~Tankinhalt: ~g~I ~r~I I I I I I I I I~w~ (%d/%dL)~n~Zustand: %d%%~n~Fahrzeug: %s~n~Kilometer: %s",kmh,Tank[veh],MaxTank[GetVehicleModel(veh)-400],floatround(CarHealth,floatround_floor),PlayerVehicle[GetVehicleModel(veh) - 400],string); case 0: format(string,sizeof string,"Geschwingidkeit: %d km/h~n~Tankinhalt: ~r~I I I I I I I I I I~w~ (%d/%dL)~n~Zustand: %d%%~n~Fahrzeug: %s~n~Kilometer: %s",kmh,Tank[veh],MaxTank[GetVehicleModel(veh)-400],floatround(CarHealth,floatround_floor),PlayerVehicle[GetVehicleModel(veh) - 400],string); } PlayerTextDrawSetString(i, Tacho0[i], string); } } } } for(new v;v<MAX_VEHICLES;v++) { new Float:ch; if(GetVehicleHealth(v,ch) > 1000) { SetVehicleHealth(v,1000); } for(new i; i<sizeof NagelBand; i++) { if(NagelBand[i][nErstellt]) { if(IsVehicleInRangeOfPoint(v, 4, NagelBand[i][NagelBandX], NagelBand[i][NagelBandY], NagelBand[i][NagelBandZ])) { new panels, tires; GetVehicleDamageStatus(v, panels, doors, lights, tires); tires = encode_tires(1, 1, 1, 1); UpdateVehicleDamageStatus(v, panels, doors, lights, tires); } } } } return 1; }