Geht es nicht einfach löschbar per Map-Editor?
Beiträge von weyauu
-
-
Ich glaube er will nur die einzeln Objekte löschen einer Map, da er nicht weiß welche Objekte das sind, würde er das gerne umwandeln. Wenn ich das so richtig verstanden habe. @Jeff_Hardy
Genau, sind so viele, ist unmöglich das alles genau vom Script auszulöschen.
-
Hey,
ich habe in meinem Reallife-Script einige Maps.
Diese möchte ich einzeln löschen, nicht per Script sondern per Map-Editor ( CreateObjects nicht kommentiert )
Ich habe im Map-Editor die .pwn importet und dann alle mit Anklicken und Delete gelöscht, habe dies Rebuilded und wieder versucht welches leider nicht klappt und die Mapping immernoch da waren ingame.
Habe es auch mit Export .pwn versucht, jedoch spuckt diese nur eine .Pwn-Datei mit den Removes und CreateObjects aus.
Kann mir einer detalliert es beschreiben?
-
Habe ein Linux-Server, presse da einfach Restart-Button ( Control Panel ).
//////////////////////////////
Klappt, lag an dem auskommentierten SetTimer und die Dauer, danke an Michi für die Hilfe
-
Also unter GameModeExit habe ich folgendes gefunden :
Code
Alles anzeigennew did; for(new i=0; i<MAX_VEHICLES; i++) { if(IsFrakCar[i]!=0) { did=FrakCars[i][db_id]; mysql_SetInt_ID("frakcars", "tank", vTank[i], "db_id", did); mysql_SetFloat_ID("frakcars", "parkx", FrakCars[i][parkx], "db_id", did); mysql_SetFloat_ID("frakcars", "parky", FrakCars[i][parky], "db_id", did); mysql_SetFloat_ID("frakcars", "parkz", FrakCars[i][parkz], "db_id", did); mysql_SetFloat_ID("frakcars", "parkr", FrakCars[i][parkr], "db_id", did); printf("[SAVE] Fraktionsfahrzeug %d wurde gespeichert.",i); } }
-
Bruh xD
Funktioniert immernoch nicht, habe 3 Min nach dem Erstellen gewartet und dann den Server restarted.
Leider kenne ich mich mit den Timern nicht so ganz gut aus, was genau ist denn 10*60000 ?Heißt dass das er erst alle 10 Minuten speichert? Wenn ja, versuche ich das dann nochmal nach 10 Minuten Restart nach dem Erstellen.
///////// PS , muss da eigentlich kein return 1; hin?
-
Bruh,
unter GameModeInit war //SetTimer("FrakSave", 10*60000, true); -> kommentiert.
Ich versuchs gleich nochmal und gebe dann eine Rückmeldung
-
Klappt nicht, nach Restart Tank leer.
-
Code
Alles anzeigenforward PlayerSave(savestate); forward FrakSave(); public FrakSave() { for(new i=0; i<sizeof(FrakInfo); i++) { if(i==0)continue; mysql_SetInt_ID("fraktionen", "kasse", FrakInfo[i][kasse], "frakid", i); mysql_SetString_ID("fraktionen", "rang1", FrakRangs[i][rang1], "frakid", i); mysql_SetString_ID("fraktionen", "rang2", FrakRangs[i][rang2], "frakid", i); mysql_SetString_ID("fraktionen", "rang3", FrakRangs[i][rang3], "frakid", i); mysql_SetString_ID("fraktionen", "rang4", FrakRangs[i][rang4], "frakid", i); mysql_SetString_ID("fraktionen", "rang5", FrakRangs[i][rang5], "frakid", i); mysql_SetString_ID("fraktionen", "rang6", FrakRangs[i][rang6], "frakid", i); mysql_SetString_ID("fraktionen", "rang7", FrakRangs[i][rang7], "frakid", i); mysql_SetString_ID("fraktionen", "rang8", FrakRangs[i][rang8], "frakid", i); mysql_SetString_ID("fraktionen", "rang9", FrakRangs[i][rang9], "frakid", i); mysql_SetString_ID("fraktionen", "rang10", FrakRangs[i][rang10], "frakid", i); mysql_SetString_ID("fraktionen", "rang11", FrakRangs[i][rang11], "frakid", i); mysql_SetInt_ID("fraktionen", "gehalt1", FrakRangs[i][gehalt1], "frakid", i); mysql_SetInt_ID("fraktionen", "gehalt2", FrakRangs[i][gehalt2], "frakid", i); mysql_SetInt_ID("fraktionen", "gehalt3", FrakRangs[i][gehalt3], "frakid", i); mysql_SetInt_ID("fraktionen", "gehalt4", FrakRangs[i][gehalt4], "frakid", i); mysql_SetInt_ID("fraktionen", "gehalt5", FrakRangs[i][gehalt5], "frakid", i); mysql_SetInt_ID("fraktionen", "gehalt6", FrakRangs[i][gehalt6], "frakid", i); mysql_SetInt_ID("fraktionen", "gehalt7", FrakRangs[i][gehalt7], "frakid", i); mysql_SetInt_ID("fraktionen", "gehalt8", FrakRangs[i][gehalt8], "frakid", i); mysql_SetInt_ID("fraktionen", "gehalt9", FrakRangs[i][gehalt9], "frakid", i); mysql_SetInt_ID("fraktionen", "gehalt10", FrakRangs[i][gehalt10], "frakid", i); mysql_SetInt_ID("fraktionen", "gehalt11", FrakRangs[i][gehalt11], "frakid", i); mysql_SetInt_ID("fraktionen", "drugs", FrakInfo[i][drogen], "frakid", i); mysql_SetInt_ID("fraktionen", "mats", FrakInfo[i][mats], "frakid", i); } for(new i=0; i<MAX_VEHICLES; i++) { if(i==INVALID_VEHICLE_ID || IsFrakCar[i]==0)continue; new did=FrakCars[i][db_id]; mysql_SetInt_ID("frakcars", "tank", vTank[i], "db_id", did); mysql_SetFloat_ID("frakcars", "parkx", FrakCars[i][parkx], "db_id", did); mysql_SetFloat_ID("frakcars", "parky", FrakCars[i][parky], "db_id", did); mysql_SetFloat_ID("frakcars", "parkz", FrakCars[i][parkz], "db_id", did); mysql_SetFloat_ID("frakcars", "parkr", FrakCars[i][parkr], "db_id", did); } PlayerSave(1); }
Den hier?
In der Datenbank existiert die Spalte also hier :
-
Hey,
nach dem ich Fraktionssfahrzeuge erstelle , spawnen sie ganz normal mit 500/75 wie auch im Script gemacht.
Nach dem ich den Server restarte , hat es 0/75 ( die erstellten ).
Ich habe ein paar ältere Fraktionssfahrzeuge ( SAPD etc. ) bei denen der Tank normal ist und auch nicht leer gehtr nach einem Serverrestart.
Jedoch wenn ich ein paar erstelle sind sie nach Restart leer.
Der Befehl zum erstellen :
Code
Alles anzeigenocmd:createfcar(playerid,params[]) { if(!IsAdmin(playerid,3))return noaccess new mdid, cc1, cc2, fid; if(sscanf(params,"dddd",mdid,cc1,cc2,fid))return SendClientMessage(playerid,GRAU,"Verwendung: /createfcar (ModelID) (Color1) (Color2) (FraktionsID)"); if(mdid>599 || mdid<400)return SendClientMessage(playerid,GRAU,"Fehler: Inakzeptable Modell ID."); new query[256],Name[MAX_PLAYER_NAME]; GetPlayerName(playerid, Name, MAX_PLAYER_NAME); format(query, sizeof(query), "INSERT INTO `frakcars` (`modelid`, `color1`, `color2`, `frakid`) VALUES ('%d', '%d', '%d', '%d')", mdid, cc1, cc2, fid); mysql_query(query); new basic_floats,Float:posr; GetPlayerPos(playerid, x,y,z); GetPlayerFacingAngle(playerid,posr); new ccc=CreateVehicle(mdid, x,y,z, posr, cc1, cc2, -1); vTank[ccc]=CarTanks[mdid-400]; FrakCars[ccc][frakid]=fid; FrakCars[ccc][parkx]=x; FrakCars[ccc][parky]=y; FrakCars[ccc][parkz]=z; FrakCars[ccc][parkr]=posr; mysql_query("SELECT MAX(db_id) FROM frakcars"); mysql_store_result(); FrakCars[ccc][db_id] = mysql_fetch_int(); mysql_free_result(); IsFrakCar[ccc]=fid; new dbid=FrakCars[ccc][db_id]; mysql_SetFloat_ID("frakcars", "parkx", x, "db_id",dbid); mysql_SetFloat_ID("frakcars", "parky", y, "db_id",dbid); mysql_SetFloat_ID("frakcars", "parkz", z, "db_id",dbid); mysql_SetFloat_ID("frakcars", "parkr", posr, "db_id",dbid); new str[128]; format(str,sizeof(str),"Fahrzeug %d für die Fraktion %s erstellt. DB-ID: %d",ccc,FrakInfo[fid][frakname], FrakCars[ccc][db_id]); PutPlayerInVehicle(playerid, ccc, 0); SendClientMessage(playerid,GELB,str); vTank[ccc] = 500; return 1; }
Fraktionsautos laden :
Code
Alles anzeigenprint("============= FRAKTIONS AUTOS ============="); //Frakfahrzeuge laden for(new i=0; i<MAX_VEHICLES; i++) { if(FrakCarExists(i)==0)continue; new ccc=CreateVehicle(mysql_GetInt_ID("frakcars", "modelid", "db_id",i), mysql_GetFloat_ID("frakcars", "parkx", "db_id",i), mysql_GetFloat_ID("frakcars", "parky", "db_id",i), mysql_GetFloat_ID("frakcars", "parkz", "db_id",i), mysql_GetFloat_ID("frakcars", "parkr", "db_id",i), mysql_GetInt_ID("frakcars", "color1", "db_id",i), mysql_GetInt_ID("frakcars", "color2", "db_id",i), -1); FrakCars[ccc][parkx]=mysql_GetFloat_ID("frakcars", "parkx", "db_id",i); FrakCars[ccc][parky]=mysql_GetFloat_ID("frakcars", "parky", "db_id",i); FrakCars[ccc][parkz]=mysql_GetFloat_ID("frakcars", "parkz", "db_id",i); FrakCars[ccc][parkr]=mysql_GetFloat_ID("frakcars", "parkr", "db_id",i); FrakCars[ccc][db_id]=i; FrakCars[ccc][frakid]=mysql_GetInt_ID("frakcars", "frakid", "db_id",i); vTank[ccc]=mysql_GetInt_ID("frakcars", "tank", "db_id",i); IsFrakCar[ccc]=mysql_GetInt_ID("frakcars", "frakid", "db_id",i); printf("%s | %s | %d",CarName[GetVehicleModel(ccc)-400],FrakInfo[FrakCars[ccc][frakid]][frakname], ccc); } print("======================================");
Script ist nicht meins
Nützliches :
Code
Alles anzeigenforward VehicleTankUpdate(vehicleid); public VehicleTankUpdate(vehicleid) { if(vehicleid==INVALID_VEHICLE_ID)return 1; new tmp_engine,tmp_lights,tmp_alarm,tmp_doors,tmp_bonnet,tmp_boot,tmp_objective; GetVehicleParamsEx(vehicleid , tmp_engine,tmp_lights,tmp_alarm,tmp_doors,tmp_bonnet,tmp_boot,tmp_objective); if(tmp_engine==1) { if(vTank[vehicleid]!=0) { if(vTank[vehicleid]==5000)return 1; vTank[vehicleid]=vTank[vehicleid]-1; } else { tmp_engine=0; KillTimer(TankTimer[vehicleid]); SetVehicleParamsEx(vehicleid , tmp_engine,tmp_lights,tmp_alarm,tmp_doors,tmp_bonnet,tmp_boot,tmp_objective); for(new i=0; i<GetMaxPlayers(); i++) { if(GetVehicleDriver(vehicleid)==i) { SendClientMessage(i,0x8080FFFF,"Der Tank ist leer. Eine Tankstelle ist auf der Karte mit einem T markiert."); } } } } return 1; }
-
Hab ehrlich gesagt kein einziges Wort verstanaden was du gesagt ist.. xD
-
Ich benutze GetPlayerFPS als Stock in einem Include, da ich viele gescriptete Codes in meinem persönlichem Include verpacke, um es in weiteren Gamemodes zu verwenden.
-
Ja,
hier der Code :
Code
Alles anzeigenforward TVTdUpdate(playerid); public TVTdUpdate(playerid) { if(!PlayerOnline(playerid) || gpv(playerid,"TV")!=1)return 1; new str[350], Float:fl[2], pid=gpv(playerid,"SpectateID"); GetPlayerHealth(pid, fl[0]); GetPlayerArmour(pid, fl[1]); format(str,sizeof(str),"~y~Name: %s~n~Level: %d~n~Geschwindigkeit: %d km/h~n~Bargeld: %d$~n~Leben: %f~n~Armour: %f~n~Paketloss:%d%%~n~Verbindungsdauer: %d Minuten\nFPS: %d ~n~Ping: %d ~n~Wanteds: %d", PlayerName(pid), pInfo[pid][level], GetPlayerSpeed(pid), GetPlayerMoney(pid), fl[0], fl[1], NetStats_PacketLossPercent(pid), (NetStats_GetConnectedTime(pid) / 1000) / 60, GetPlayerFPS(pid), <---------------------------- GetPlayerPing(pid), GetPlayerWantedLevel(pid)); PlayerTextDrawSetString(playerid, TvTd[playerid], str); SetTimerEx("TVTdUpdate", 1000, false, "i", playerid); return 1; }
-
Hey,
ausirgendeinem Grund will GetPlayerFPS nicht funktionieren... Es wird immer die "0" ausgegeben beim Befehl /id
Hier der Befehl :
Codeocmd:id(playerid,params[]) { new pid; if(sscanf(params,"u",pid))return SendClientMessage(playerid,WEIß,"Verwendung: /id [Spieler-ID]"); new str[128]; format(str,sizeof(str),"{FFFFFF}Informationen von %s",PlayerName(pid)); format(str,sizeof(str),"Spieler : %s Ping : %d FPS : %d",PlayerName(pid),GetPlayerPing(pid),GetPlayerFPS(pid)); SendClientMessage(playerid, GRAU, str); return 1; }
Das komische ist, bei meinem /tv-Textdraw funktioniert GetPlayerFPS ganz normal.
Hier auch der Stock für GetPlayerFPS :
Code
Alles anzeigenstock GetPlayerFPS(playerid) { SetPVarInt(playerid, "DrunkL", GetPlayerDrunkLevel(playerid)); if(GetPVarInt(playerid, "DrunkL") < 100) SetPlayerDrunkLevel(playerid, 2000); else{ if(GetPVarInt(playerid, "LDrunkL") != GetPVarInt(playerid, "DrunkL")) { SetPVarInt(playerid, "FPS", (GetPVarInt(playerid, "LDrunkL") - GetPVarInt(playerid, "DrunkL"))); SetPVarInt(playerid, "LDrunkL", GetPVarInt(playerid, "DrunkL")); if((GetPVarInt(playerid, "FPS") > 0) && (GetPVarInt(playerid, "FPS") < 256)) { return GetPVarInt(playerid, "FPS") - 1; } } } return 0; }