Beiträge von German_ScripterHD
-
-
Mysql Log im Anhang.. (Hier ist es nicht übersichtlich)
-
Hallo Brotfische,
Die Tuningteile der Fraktionsfahrzeuge werden nicht gespeichert... Also in der Datenbank sind keine Einträge...
Codes:
Speichern der Fahrzeuge:
C
Alles anzeigenforward SaveAllFracVehs(); public SaveAllFracVehs() { new query[256]; for(new i=0; i<MAX_FRAC_VEHICLES; i++) { if(fracVehicle[i][e_modelID] >= 400 && fracVehicle[i][e_modelID] <= 611) { GetVehiclePos(fracVehicle[i][e_vID], fracVehicle[i][e_x], fracVehicle[i][e_y], fracVehicle[i][e_z]); GetVehicleZAngle(fracVehicle[i][e_vID], fracVehicle[i][e_a]); format(query, sizeof(query), "UPDATE FracVehicles SET ModelID = '%d', Color1 = '%d', Color2 = '%d', FracID = '%d', Rang = '%d' WHERE ID = '%d'", fracVehicle[i][e_modelID],fracVehicle[i][e_color1], fracVehicle[i][e_color2], fracVehicle[i][e_fracID], fracVehicle[i][e_rang],i); mysql_tquery(dbhandle, query); format(query, sizeof(query), "UPDATE FracVehicles SET tuning0 = %d", GetVehicleComponentInSlot(fracVehicle[i][e_vID] , 0)); for(new s=1; s<14; s++) { format(query, sizeof(query), "%s, tuning%d = %d ", query, i, GetVehicleComponentInSlot(fracVehicle[i][e_vID] , s)); } format(query, sizeof(query), "%sWHERE ID = %d", i); mysql_pquery(dbhandle, query); } } return 1; }
Ich hoffe ihr könnt mir helfenMfG
-
-
Hallo Brotfische,
Die Kennzeichen werden nicht in der Datenbank gespeichert.
Enum:
SavePlayerCar:
C
Alles anzeigensavePlayerCar(i) { new query[3000]; format(query,sizeof(query),"UPDATE `autos` SET`spoiler`='%i',`hood`='%i',`roof`='%i', `sideskirt`='%i',`lamps`='%i',`nitro`='%i',`wheels`='%i',`stereo`='%i',`hydraulics`='%i', `frontbumper`='%i',`rearbumper`='%i',`exhaust`='%i',`ventright`='%i', `ventleft`='%i',`paintjob`='%i',`color1`='%i',`color2`='%i',`fuel`='%i',`kmstand`='%i', `kennzeichen`='%s' WHERE `id`='%i'", cInfo[i][Car_Spoiler],cInfo[i][Car_Hood], cInfo[i][Car_Roof],cInfo[i][Car_Sideskirt],cInfo[i][Car_Lamps],cInfo[i][Car_Nitro], cInfo[i][Car_Wheels],cInfo[i][Car_Stereo],cInfo[i][Car_Hydraulics], cInfo[i][Car_FrontBumper],cInfo[i][Car_RearBumper],cInfo[i][Car_Exhaust], cInfo[i][Car_VentRight],cInfo[i][Car_VentLeft],cInfo[i][Car_PaintJob], cInfo[i][Car_Color1],cInfo[i][Car_Color2],cInfo[i][car_tank],cInfo[i][Car_Meter], cInfo[i][kennzeichen],cInfo[i][db_id]); mysql_function_query(dbhandle, query, false, "", ""); }
Befehl:C
Alles anzeigenocmd:setplate(playerid,params[]) { if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid,C_Error,"Du bist nicht der Fahrer!"); { new plate[35], string[220]; new vehid = GetPlayerVehicleID(playerid); if (sscanf(params, "s[20]", plate)) return SendClientMessage(playerid,-1,"/setplate [plate]"); if (strlen(plate) > 20 || strlen(plate) < 1) return SendClientMessage(playerid,-1," /setplate [plate] (länge 0-20)"); format(string,128,"Das Kennzeichen wurde auf %s erfolgreich geändert.",plate); SetVehicleNumberPlate(vehid, plate); SetVehicleToRespawn(vehid); cInfo[vehid][kennzeichen]=plate; savePlayerCar(vehid); SendClientMessage(playerid,C_Blau,"Dein Kennzeichen wurde gespeichert."); return 1; }
Fahrzeuge laden:Ccache_get_field_content(i,"kennzeichen",cInfo[id][kennzeichen],dbhandle,16); SetVehicleNumberPlate(cInfo[id][id_x],cInfo[id][kennzeichen]); SetVehicleToRespawn(cInfo[id][id_x]);
Ich hoffe ihr könnt mir helfenMfG
-
//Edit:
Stimmt, hatte den Server log nicht richtig war genommen... tut mir leid. -
Only Time von Enya
Externer Inhalt www.youtube.comInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt. -
Bei dem Tutorial bei DINI hast du erklärt wie man die Tuningteile speichern kann.
Wäre super wenn du das hier auch machen könntestMfG
-
Habe es jetzt so geschrieben:
Cpublic LoadHousesBesitzer(id) { new num_rows = cache_get_row_count(); if(!num_rows)return 1; cache_get_field_content(0, "username", hInfo[id][h_besitzer], dbhandle, MAX_PLAYER_NAME); new printstring[90]; format(printstring,sizeof(printstring),"i = %d - id = %d - MySQLID: %d - Besitzer: %s", id, id, hInfo[id][h_id],hInfo[id][h_besitzer]); print(printstring); return 1; }
print: -
@Jeffry Danke erstmal
Ich habe ein weitere Problem.. Ich spawne zwar jetzt am Haus, aber alle Häuser stehen zum verkauf.. und bei Besitzer steht garnichts...
Code:
OnHousesLoad:
C
Alles anzeigenpublic OnHousesLoad() { new num_fields,num_rows; cache_get_data(num_rows,num_fields); if(!num_rows)return 1; for(new i = 0; i < num_rows; i++) { new id = getFreeHausID(); new string[24],query[128]; hInfo[id][h_x] = cache_get_field_content_float(i, "h_x", dbhandle); hInfo[id][h_y] = cache_get_field_content_float(i, "h_y", dbhandle); hInfo[id][h_z] = cache_get_field_content_float(i, "h_z", dbhandle); if(hInfo[id][h_x] == 0 && hInfo[id][h_y] == 0 && hInfo[id][h_z] == 0)continue; hInfo[id][ih_x] = cache_get_field_content_float(i, "ih_x", dbhandle); hInfo[id][ih_y] = cache_get_field_content_float(i, "ih_y", dbhandle); hInfo[id][ih_z] = cache_get_field_content_float(i, "ih_z", dbhandle); hInfo[id][h_interior] = cache_get_field_content_int(i, "h_interior", dbhandle); //cache_get_field_content(i, "besitzer", string); //format(hInfo[id][h_besitzer], sizeof(string), string); //if(!strcmp(hInfo[id][h_besitzer], "Staat", true))return 1; hInfo[id][h_besitzerID] = cache_get_field_content_int(i, "h_besitzerID", dbhandle); format(query, sizeof(query), "SELECT username FROM user WHERE id='%d'", hInfo[id][h_besitzerID]); mysql_pquery(dbhandle, query, "LoadHousesBesitzer", "d", id); hInfo[id][h_id] = cache_get_field_content_int(i, "id", dbhandle); hInfo[id][h_preis] = cache_get_field_content_int(i, "h_preis", dbhandle); hInfo[id][h_mietpreis] = cache_get_field_content_int(i, "h_mietpreis", dbhandle); hInfo[id][h_maxmieter] = cache_get_field_content_int(i, "h_maxmieter", dbhandle); new printstring[90]; format(printstring,sizeof(printstring),"i = %d - id = %d - MySQLID: %d - Besitzer: %s", i, id, hInfo[id][h_id],hInfo[id][h_besitzer]); print(printstring); } print("Zweite Schleife:"); new highid = getFreeHausID(); for(new i = 0; i < highid; i++) { updateHaus(i); } return 1; }
print(printstring) momentan:C
Alles anzeigen[16:44:07] i = 0 - id = 0 - MySQLID: 1 - Besitzer: [16:44:07] i = 1 - id = 1 - MySQLID: 5 - Besitzer: [16:44:07] i = 2 - id = 2 - MySQLID: 7 - Besitzer: [16:44:07] i = 3 - id = 3 - MySQLID: 8 - Besitzer: [16:44:07] i = 4 - id = 4 - MySQLID: 9 - Besitzer: [16:44:07] i = 5 - id = 5 - MySQLID: 10 - Besitzer: [16:44:07] i = 6 - id = 6 - MySQLID: 11 - Besitzer: [16:44:07] i = 7 - id = 7 - MySQLID: 12 - Besitzer: [16:44:07] i = 8 - id = 8 - MySQLID: 13 - Besitzer: [16:44:07] i = 9 - id = 9 - MySQLID: 14 - Besitzer: [16:44:07] i = 10 - id = 10 - MySQLID: 15 - Besitzer: [16:44:07] i = 11 - id = 11 - MySQLID: 16 - Besitzer: [16:44:07] i = 12 - id = 12 - MySQLID: 19 - Besitzer:
Ich hoffe du kannst mir nochmal helfen Jeffry, wäre echt superMfG
-
Ich habe es jetzt mal mit dem JOIN probiert aber ich blick da noch nicht ganz durch
Daher funktioniert das auch nicht ganz was ich gemacht habe.Datenbank:
DB (houses)DB (houses struktur)
DB(user)
DB(user struktur)
Codes: (Noch nicht fertig... Denkfehler und Co. )
Häuser Laden:
C
Alles anzeigenpublic OnHousesLoad() { new num_fields,num_rows; cache_get_data(num_rows,num_fields); if(!num_rows)return 1; for(new i = 0; i < num_rows; i++) { new id = getFreeHausID(); new string[24]; hInfo[id][h_x] = cache_get_field_content_float(i, "h_x", dbhandle); hInfo[id][h_y] = cache_get_field_content_float(i, "h_y", dbhandle); hInfo[id][h_z] = cache_get_field_content_float(i, "h_z", dbhandle); if(hInfo[id][h_x] == 0 && hInfo[id][h_y] == 0 && hInfo[id][h_z] == 0)continue; hInfo[id][ih_x] = cache_get_field_content_float(i, "ih_x", dbhandle); hInfo[id][ih_y] = cache_get_field_content_float(i, "ih_y", dbhandle); hInfo[id][ih_z] = cache_get_field_content_float(i, "ih_z", dbhandle); hInfo[id][h_interior] = cache_get_field_content_int(i, "h_interior", dbhandle); /*cache_get_field_content(i, "besitzer", string); format(hInfo[id][h_besitzer], sizeof(string), string); (So habe ich es sonnst immer geladen h_besitzer)*/ //Ich habe mit JOIN usw. angefangen aber kapiere es nicht ganz... new query[256]; format(query, sizeof(query), "SELECT houses.besitzer FROM houses INNER JOIN user ON (user.id=user.besitzer AND houses.besitzer='%d');", id); mysql_tquery(dbhandle, query, "LoadHousesBesitzer", "d", id);
Ich hoffe es kann mir jemand helfen ... ich bin am verzweifeln
MfG
-
-
-
Im Userenum habe ich "sInfo[playerid][db_id]"...
Nun möchte ich, wenn man ein Haus kauft die ID in die Datenbank eingetragen wird. Wenn die Häuser dann geladen werden, soll bei Besitzer nicht "55" (Bsp. 55 ist die db_id.. ) stehn sondern Besitzer: GrandTheft.
Also die Funktion soll die db_id auslesen und mir den name des Spielers wiedergeben. -
Ich weiße jetzt woran der Fehler liegt, undzwar am Namen.... hInfo[i][h_besitzer] wird der name gespeichert... wenn jetzt wie in meinem Fall ein Nameschange stattfindet funktioniert das ja nicht...
Jetzt möchte ich noch eine Funktion bauen... GetUserNameFromDB.. wie mach ich das am besten?
MfG
-
Hallo Brotfische,
Ich habe das Problem das mir die Variable "HausSpawnID" immer folgenden Wert ausgibt : "11"
Das das stimmt auch, aber ich werde nicht in das Haus mit der ID 11 gesetzt. Ich habe es auch bereits mit anderen Zahlen probiert. Ich Spawn also immer am Bauernhof (Blueberry 0.0,0.0, 0.0)Code:
Spieler laden:
C
Alles anzeigenHausIDspawn[playerid] = cache_get_field_content_int(0,"spawnpunkt",dbhandle); printf("* %s Spawnt im Haus mit der ID (%d)",getPlayerName(playerid),HausIDspawn[playerid]); if(HausIDspawn[playerid]>0) { for(new i=0; i<sizeof(hInfo); i++) { if(hInfo[i][h_id]==HausIDspawn[playerid]) { if(!hInfo[i][h_id])continue; if(!strlen(hInfo[i][h_besitzer]))continue; if(strcmp(hInfo[i][h_besitzer], getPlayerName(playerid), true))continue; if(hInfo[i][ih_x] != 0.0) { //Im Haus spawnen SetPlayerPos(playerid, hInfo[i][ih_x], hInfo[i][ih_y], hInfo[i][ih_SetPlayerInterior(playerid, hInfo[i][h_interior]); SetPlayerVirtualWorld(playerid, hInfo[i][h_id]); SetPlayerFacingAngle(playerid,182.9345); SetCameraBehindPlayer(playerid); } else { //Vorm Haus Spawnen SetPlayerPos(playerid, hInfo[i][h_x], hInfo[i][h_y], hInfo[i][h_z]); SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); SetPlayerFacingAngle(playerid,182.9345); SetCameraBehindPlayer(playerid); } } } } else if(HausIDspawn[playerid]==0) { SetSpawnInfo(playerid,0,sInfo[playerid][skin],ZiviSpawn,270.9820,0,0,0,0,0,0); SpawnPlayer(playerid); }
Ich hoffe ihr könnt mir helfenMfG
-
Guten Abend Brotfische,
Ich möchte meinen "/Goto" Befehl erweitern, undzwar wenn ich momentan /goto eintippe komme ich zu der ID wo ich hinwollte, nun möchte ich abfragen ob der Spieler in einem Fahrzeug sitzt, wenn ja: Möchte ich, das ich in das Auto des Spieler teleportiert werde, aber auf einen Freien Platz... Wenn keine Plätze mehr frei sind dann soll kommen "Das Fahrzeug des Spielers '%s' ist leider voll.".
Meine eigentliche Frage ist also wie sollte der stock GetFreeSeatID aussehen?
Ich hoffe ihr könnt mir helfen =)
MfG
-
Meinst du wie man ein Fahrzeug abschließen kann?
Wenn ja:
C
Alles anzeigenocmd:motoron(playerid) { new vID,tmp_engine,tmp_lights,tmp_alarm,tmp_doors,tmp_bonnet,tmp_boot,tmp_objective; vID = GetPlayerVehicleID(playerid); if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return SendClientMessage(playerid,-1,"Du bist nicht der Fahrer des Fahrzeugs!"); GetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective); if(tmp_engine==1) { tmp_engine = 0; } else { tmp_engine = 1; } SetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective); return 1; }
MfG -
-
Bild 1: (Dialog) kannst du so schreiben:
C
Alles anzeigenocmd:admins(playerid) { new string[300]; for(new i; i<MAX_PLAYERS; i++) { if(pInfo[i][pAdmin] > 0) { format(string, sizeof(string), "%s\n%s",string,getPlayerName(i)); ShowPlayerDialog(playerid,DIALOG_ADMINLIST,0,"Admins:",string,"Schließen",""); } } return 1; }
Bitte ans Script anpassen
MfG