ja
new Float:x,Float:y,Float:z;Float:a
GetVehiclePos(vehicleid,x,y,z);
GetVehicleZAngle(vehicleid,a);
DestroyVehicle(vehicleid);
CreateObject(modelid,x,y,z,a, 0.0000, 0.0000, 0.0000);
nicht getestet modelid vom object musste schon selber reinschreiben^^
Beiträge von Tomi93
-
-
Es gibt 2 Möglichkeiten
du entfernst es komplett vom Server mit DestroyVehicle(vehicleid);
oder wenn das Auto einen schaden unter 300 hat setzt du den Schaden einfach auf 300 dann bleibt das Auto wo es ist und raucht Schwarz kannst
natürlich auch eine Motorschaden Funktion somit ScriptenDas wären die Möglichkeiten die ich kenne bzw. die mir gerade so einfallen^^
-
ach jetzt hab ichs kapiert
Immerhin klappts jetzt vielen Dank Black -
versteh ich nich sry
-
Nein ich habe nun deins genommen genauer durch geschaut und den Fehler gefunden
das was du dachstest was ich entfernen sollte ist FALSCH
also hier mal Dein
if(strcmp(cmd, "/auto", true)==0)
{
if(Account[playerid][Admin] == 3)
{
new modelid,respawn,count;
new Float:isx,Float:isy,Float:isz;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_WHITE, "Benutze: /auto [modelid] [Respawn Time]");
return 1;
}
modelid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_WHITE, "Benutze: /auto [modelid] [Respawn Time]");
return 1;
}
respawn = strval(tmp);
SCM(playerid,COLOR_GREEN,"/////////////////////////////////////////////////");
SCM(playerid,COLOR_LIGHTRED," Auto erstellt ");
SCM(playerid,COLOR_GREEN,"/////////////////////////////////////////////////");
GPP(playerid,Float:isx,Float:isy,Float:isz);
CreateVehicle(modelid,isx,isy,isz,0,0,0,respawn);
while(count<MAX_VEHICLES && !CreateINI(string)){format(string, sizeof(string),"Autos/vehicle_%d.sav",count);count++;}
format(string, sizeof(string),"Autos/vehicle_%d.sav",count);
if(count==MAX_VEHICLES && fexist(string))return 1;
Autos[count][vModel] = modelid;
Autos[count][vEingepackt] = 0;
Autos[count][vArt] = 0;
Autos[count][vX] = isx;
Autos[count][vY] = isy;
Autos[count][vZ] = isz;
Autos[count][vA] = 0;
Autos[count][vFarbe1] = 0;
Autos[count][vFarbe2] = 0;
Autos[count][vVerkauf] = 0;
Autos[count][vPreis] = 0;
Autos[count][vKMStand] = 0;
Autos[count][vRKMStand] = 0;
strmid(Autos[count][vBesitzer], "Niemand", 0, strlen("Niemand"), 255);
strmid(Autos[count][vSch1], "Niemand", 0, strlen("Niemand"), 255);
strmid(Autos[count][vSch2], "Niemand", 0, strlen("Niemand"), 255);
strmid(Autos[count][vSch3], "Niemand", 0, strlen("Niemand"), 255);
Autos[count][vBeschlagnahmt] = 0;
Autos[count][vBX] = isx;
Autos[count][vBY] = isy;
Autos[count][vBZ] = isz;
Autos[count][vBA] = 0;
Autos[count][vRespawn] = respawn;
OnVehicleDataUpdate(count);
}
else
{
SCM(playerid, COLOR_RED, "Du bist kein Admin!");
return 1;
}
return 1;
}Schau dir mal genau Zeile 26-28 an
nun die verbesserte Version von deinem
und mit new count=1 statt new count fangen nun die IDs von 1 an
if(strcmp(cmd, "/auto", true)==0)
{
if(Account[playerid][Admin] == 3)
{
new modelid,respawn,count=1;
new Float:isx,Float:isy,Float:isz;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_WHITE, "Benutze: /auto [modelid] [Respawn Time]");
return 1;
}
modelid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_WHITE, "Benutze: /auto [modelid] [Respawn Time]");
return 1;
}
respawn = strval(tmp);
SCM(playerid,COLOR_GREEN,"/////////////////////////////////////////////////");
SCM(playerid,COLOR_LIGHTRED," Auto erstellt ");
SCM(playerid,COLOR_GREEN,"/////////////////////////////////////////////////");
GPP(playerid,Float:isx,Float:isy,Float:isz);
CreateVehicle(modelid,isx,isy,isz,0,0,0,respawn);
format(string, sizeof(string),"Autos/vehicle_%d.sav",count);
while(count<MAX_VEHICLES && !CreateINI(string))
if(count==MAX_VEHICLES && fexist(string))return 1;
Autos[count][vModel] = modelid;
Autos[count][vEingepackt] = 0;
Autos[count][vArt] = 0;
Autos[count][vX] = isx;
Autos[count][vY] = isy;
Autos[count][vZ] = isz;
Autos[count][vA] = 0;
Autos[count][vFarbe1] = 0;
Autos[count][vFarbe2] = 0;
Autos[count][vVerkauf] = 0;
Autos[count][vPreis] = 0;
Autos[count][vKMStand] = 0;
Autos[count][vRKMStand] = 0;
strmid(Autos[count][vBesitzer], "Niemand", 0, strlen("Niemand"), 255);
strmid(Autos[count][vSch1], "Niemand", 0, strlen("Niemand"), 255);
strmid(Autos[count][vSch2], "Niemand", 0, strlen("Niemand"), 255);
strmid(Autos[count][vSch3], "Niemand", 0, strlen("Niemand"), 255);
Autos[count][vBeschlagnahmt] = 0;
Autos[count][vBX] = isx;
Autos[count][vBY] = isy;
Autos[count][vBZ] = isz;
Autos[count][vBA] = 0;
Autos[count][vRespawn] = respawn;
OnVehicleDataUpdate(count);
}
else
{
SCM(playerid, COLOR_RED, "Du bist kein Admin!");
return 1;
}
return 1;
}Der Fehler lag darin:
Du ladest was aus einem String
anschließend kommt erst der String
dann ladest du wieder was aus einem String
du musstest den string selbst erst ganz nach oben paken^^
man kann ja nicht erst aus einem string laden und ihn dannach erst "erstellen"//edit noch ein mal verbessert läuft nun ohne laggs und speichert optimal
//edit2 doch ein problem
Ich kann nur ein Auto spawnen das wird auch ohne probleme gespeichert
doch wenn ich ein 2. Auto spawne erscheint es nicht aber die Datei wird auf das 2. Auto überschrieben
obwohl für jedes gespawnte Auto extra einen Datei erstellt werden soll -
funktioniert danke euch allen
-
Ich muss schon sagen da habe ich mich wirklich dumm angestellt einfach drauf los ohne nachzu denken^^
jetzt ist das problem ich kann Wörter in die INI speichern aber wie lade ich die wieder?^^
So sollte richtig sein oder?
for(new count;count<MAX_VEHICLES;count++)
{
format(string, sizeof(string),"Autos/vehicle_%d.sav",count);
if(fexist(string))
{
OpenINI(string);
Autos[count][vModel] = ReadIntKey("Model");
Autos[count][vEingepackt] = ReadIntKey("Eingepackt");
Autos[count][vArt] = ReadIntKey("Art");
Autos[count][vX] = ReadFloatKey("X");
Autos[count][vY] = ReadFloatKey("Y");
Autos[count][vZ] = ReadFloatKey("Z");
Autos[count][vA] = ReadFloatKey("A");
Autos[count][vFarbe1] = ReadIntKey("Farbe1");
Autos[count][vFarbe2] = ReadIntKey("Farbe2");
Autos[count][vVerkauf] = ReadIntKey("Verkauf");
Autos[count][vPreis] = ReadIntKey("Preis");
Autos[count][vKMStand] = ReadIntKey("KMStand");
Autos[count][vRKMStand] = ReadIntKey("RKMStand");
/* Autos[count][vBesitzer] = ReadStringKey("Besitzer");
Autos[count][vSch1] = ReadStringKey("Sch1");
Autos[count][vSch2] = ReadStringKey("Sch2");
Autos[count][vSch3] = ReadStringKey("Sch3");*/
Autos[count][vBeschlagnahmt] = ReadIntKey("Art");
Autos[count][vBX] = ReadFloatKey("BX");
Autos[count][vBY] = ReadFloatKey("BY");
Autos[count][vBZ] = ReadFloatKey("BZ");
Autos[count][vBA] = ReadFloatKey("BA");
Autos[count][vRespawn] = ReadIntKey("Respawn");
Autos[count][vZustand] = ReadFloatKey("Zustand");
Autos[count][vMS] = ReadIntKey("MS");
CloseINI();
if (Autos[count][vEingepackt] == 0)
{
if (Autos[count][vBeschlagnahmt] == 0)
{
CreateVehicle(Autos[count][vModel],Autos[count][vX],Autos[count][vY],Autos[count][vZ],Autos[count][vA],Autos[count][vFarbe1],Autos[count][vFarbe2],Autos[count][vRespawn]);
}
else
{
CreateVehicle(Autos[count][vModel],Autos[count][vX],Autos[count][vY],Autos[count][vZ],Autos[count][vA],Autos[count][vFarbe1],Autos[count][vFarbe2],Autos[count][vRespawn]);
}
}
else if (Autos[count][vEingepackt] == 1 && Autos[count][vArt] == 1)
{
CreateVehicle(591,Autos[count][vX],Autos[count][vY],Autos[count][vZ],Autos[count][vA],Autos[count][vFarbe1],Autos[count][vFarbe2],-1);
}
else if (Autos[count][vEingepackt] == 1&& Autos[count][vArt] == 2)
{
CreateVehicle(591,Autos[count][vX],Autos[count][vY],Autos[count][vZ],Autos[count][vA],Autos[count][vFarbe1],Autos[count][vFarbe2],-1);
}
else if (Autos[count][vEingepackt] == 1 && Autos[count][vArt] == 3)
{
CreateVehicle(591,Autos[count][vX],Autos[count][vY],Autos[count][vZ],Autos[count][vA],Autos[count][vFarbe1],Autos[count][vFarbe2],-1);
}
} -
Hallo Leute,
ich habe bei dem BFX_ini Speicher System ein problem beim laden einer Float kommt jeweils eine Warnung
warum? wie kann ich das beheben?
for(new count;count<MAX_VEHICLES;count++)
{
format(string, sizeof(string),"Autos/vehicle_%d.sav",count);
if(fexist(string))
{
ReadIntKey(Autos[count][vModel]);
ReadIntKey(Autos[count][vEingepackt]);
ReadIntKey(Autos[count][vArt]);
ReadFloatKey(Autos[count][vX]);
ReadFloatKey(Autos[count][vY]);
ReadFloatKey(Autos[count][vZ]);
ReadFloatKey(Autos[count][vA]);
ReadIntKey(Autos[count][vFarbe1]);
ReadIntKey(Autos[count][vFarbe2]);
ReadIntKey(Autos[count][vVerkauf]);
ReadIntKey(Autos[count][vPreis]);
ReadIntKey(Autos[count][vKMStand]);
ReadIntKey(Autos[count][vRKMStand]);
ReadStringKey(Autos[count][vBesitzer]);
ReadStringKey(Autos[count][vSch1]);
ReadStringKey(Autos[count][vSch2]);
ReadStringKey(Autos[count][vSch3]);
ReadIntKey(Autos[count][vBeschlagnahmt]);
ReadFloatKey(Autos[count][vBX]);
ReadFloatKey(Autos[count][vBY]);
ReadFloatKey(Autos[count][vBZ]);
ReadFloatKey(Autos[count][vBA]);
ReadIntKey(Autos[count][vRespawn]);
ReadFloatKey(Autos[count][vZustand]);
ReadIntKey(Autos[count][vMS]);
if (Autos[count][vEingepackt] == 0)
{
if (Autos[count][vBeschlagnahmt] == 0)
{
CreateVehicle(Autos[count][vModel],Autos[count][vX],Autos[count][vY],Autos[count][vZ],Autos[count][vA],Autos[count][vFarbe1],Autos[count][vFarbe2],Autos[count][vRespawn]);
}
else
{
CreateVehicle(Autos[count][vModel],Autos[count][vX],Autos[count][vY],Autos[count][vZ],Autos[count][vA],Autos[count][vFarbe1],Autos[count][vFarbe2],Autos[count][vRespawn]);
}
}
else if (Autos[count][vEingepackt] == 1 && Autos[count][vArt] == 1)
{
CreateVehicle(591,Autos[count][vX],Autos[count][vY],Autos[count][vZ],Autos[count][vA],Autos[count][vFarbe1],Autos[count][vFarbe2],-1);
}
else if (Autos[count][vEingepackt] == 1&& Autos[count][vArt] == 2)
{
CreateVehicle(591,Autos[count][vX],Autos[count][vY],Autos[count][vZ],Autos[count][vA],Autos[count][vFarbe1],Autos[count][vFarbe2],-1);
}
else if (Autos[count][vEingepackt] == 1 && Autos[count][vArt] == 3)
{
CreateVehicle(591,Autos[count][vX],Autos[count][vY],Autos[count][vZ],Autos[count][vA],Autos[count][vFarbe1],Autos[count][vFarbe2],-1);
}
}
}
J:\RoA 0.3\gamemodes\RoAneu.pwn(9) : warning 213: tag mismatch
J:\RoA 0.3\gamemodes\RoAneu.pwn(10) : warning 213: tag mismatch
J:\RoA 0.3\gamemodes\RoAneu.pwn(11) : warning 213: tag mismatch
J:\RoA 0.3\gamemodes\RoAneu.pwn(12) : warning 213: tag mismatch
J:\RoA 0.3\gamemodes\RoAneu.pwn(24) : warning 213: tag mismatch
J:\RoA 0.3\gamemodes\RoAneu.pwn(25) : warning 213: tag mismatch
J:\RoA 0.3\gamemodes\RoAneu.pwn(26) : warning 213: tag mismatch
J:\RoA 0.3\gamemodes\RoAneu.pwn(27) : warning 213: tag mismatch
J:\RoA 0.3\gamemodes\RoAneu.pwn(29) : warning 213: tag mismatchmfg Dedi
-
unverändert klappt nach wie vor nicht
//edit so klappts
if(strcmp(cmd, "/auto", true)==0)
{
if(Account[playerid][Admin] == 3)
{
new modelid,respawn,count=1;
new Float:isx,Float:isy,Float:isz;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_WHITE, "Benutze: /auto [modelid] [Respawn Time]");
return 1;
}
modelid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_WHITE, "Benutze: /auto [modelid] [Respawn Time]");
return 1;
}
respawn = strval(tmp);
SCM(playerid,COLOR_GREEN,"/////////////////////////////////////////////////");
SCM(playerid,COLOR_LIGHTRED," Auto erstellt ");
SCM(playerid,COLOR_GREEN,"/////////////////////////////////////////////////");
GPP(playerid,Float:isx,Float:isy,Float:isz);
CreateVehicle(modelid,isx,isy,isz,0,0,0,respawn);
format(string, sizeof(string),"Autos/vehicle_%d.sav",count);
while(count<MAX_VEHICLES && !CreateINI(string))count++;
{
CreateINI(string);
Autos[count][vModel] = modelid;
Autos[count][vEingepackt] = 0;
Autos[count][vArt] = 0;
Autos[count][vX] = isx;
Autos[count][vY] = isy;
Autos[count][vZ] = isz;
Autos[count][vA] = 0;
Autos[count][vFarbe1] = 0;
Autos[count][vFarbe2] = 0;
Autos[count][vVerkauf] = 0;
Autos[count][vPreis] = 0;
Autos[count][vKMStand] = 0;
Autos[count][vRKMStand] = 0;
strmid(Autos[count][vBesitzer], "Niemand", 0, strlen("Niemand"), 255);
strmid(Autos[count][vSch1], "Niemand", 0, strlen("Niemand"), 255);
strmid(Autos[count][vSch2], "Niemand", 0, strlen("Niemand"), 255);
strmid(Autos[count][vSch3], "Niemand", 0, strlen("Niemand"), 255);
Autos[count][vBeschlagnahmt] = 0;
Autos[count][vBX] = isx;
Autos[count][vBY] = isy;
Autos[count][vBZ] = isz;
Autos[count][vBA] = 0;
Autos[count][vRespawn] = respawn;
OnVehicleDataUpdate(count);
count = MAX_VEHICLES;
return 1;
}
}
else
{
SCM(playerid, COLOR_RED, "Du bist kein Admin!");
return 1;
}
}Aber mit einem kleinen lagg der aber nicht so schlimm ist^^
-
Coll danke nur
Fahrzeug wird ohne probleme gespawnt
Die Datei sollte ab ID 1 beginnen nicht ab ID 0
und die Datei ist leer oO nach dem erstellen warum? -
Ich hab das nicht so genau kapiert
meintest du das so???if(strcmp(cmd, "/auto", true)==0)
{
if(Account[playerid][Admin] == 3)
{
new modelid,respawn,count;
new Float:isx,Float:isy,Float:isz;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_WHITE, "Benutze: /auto [modelid] [Respawn Time]");
return 1;
}
modelid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_WHITE, "Benutze: /auto [modelid] [Respawn Time]");
return 1;
}
respawn = strval(tmp);
SCM(playerid,COLOR_GREEN,"/////////////////////////////////////////////////");
SCM(playerid,COLOR_LIGHTRED," Auto erstellt ");
SCM(playerid,COLOR_GREEN,"/////////////////////////////////////////////////");
GPP(playerid,Float:isx,Float:isy,Float:isz);
CreateVehicle(modelid,isx,isy,isz,0,0,0,respawn);
// for(new count=1;count<MAX_VEHICLES;count++)
format(string, sizeof(string),"Autos/vehicle_%d.sav",count);
while(count<MAX_VEHICLES && !CreateINI(string))count++;
{
CreateINI(string);
Autos[count][vModel] = modelid;
Autos[count][vEingepackt] = 0;
Autos[count][vArt] = 0;
Autos[count][vX] = isx;
Autos[count][vY] = isy;
Autos[count][vZ] = isz;
Autos[count][vA] = 0;
Autos[count][vFarbe1] = 0;
Autos[count][vFarbe2] = 0;
Autos[count][vVerkauf] = 0;
Autos[count][vPreis] = 0;
Autos[count][vKMStand] = 0;
Autos[count][vRKMStand] = 0;
strmid(Autos[count][vBesitzer], "Niemand", 0, strlen("Niemand"), 255);
strmid(Autos[count][vSch1], "Niemand", 0, strlen("Niemand"), 255);
strmid(Autos[count][vSch2], "Niemand", 0, strlen("Niemand"), 255);
strmid(Autos[count][vSch3], "Niemand", 0, strlen("Niemand"), 255);
Autos[count][vBeschlagnahmt] = 0;
Autos[count][vBX] = isx;
Autos[count][vBY] = isy;
Autos[count][vBZ] = isz;
Autos[count][vBA] = 0;
Autos[count][vRespawn] = respawn;
OnVehicleDataUpdate(count);
count = MAX_VEHICLES;
return 1;
}
}
else
{
SCM(playerid, COLOR_RED, "Du bist kein Admin!");
return 1;
}
}// Edit überarbeitet
-
Hab ich auch gehabt
auf der pawno.exe
Rechtsklick Kompatibilität auf XP SP 2 stellen und Admin
dann sollte es gehen dann nervt nur noch die ständige Meldung aber die läst sich abstellen^^ -
DA ich auch nummer sicher gehen will
ist da auch alles richtig?
if(strcmp(cmd, "/auto", true)==0)
{
if(Account[playerid][Admin] == 3)
{
new modelid,respawn;
new Float:isx,Float:isy,Float:isz;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_WHITE, "Benutze: /auto [modelid] [Respawn Time]");
return 1;
}
modelid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_WHITE, "Benutze: /auto [modelid] [Respawn Time]");
return 1;
}
respawn = strval(tmp);
SCM(playerid,COLOR_GREEN,"/////////////////////////////////////////////////");
SCM(playerid,COLOR_LIGHTRED," Auto erstellt ");
SCM(playerid,COLOR_GREEN,"/////////////////////////////////////////////////");
GPP(playerid,Float:isx,Float:isy,Float:isz);
CreateVehicle(modelid,isx,isy,isz,0,0,0,respawn);
for(new count=1;count<MAX_VEHICLES;count++)
{
format(string, sizeof(string),"Autos/vehicle_%d.sav",count);
if(!fexist(string))
{
CreateINI(string);
Autos[count][vModel] = modelid;
Autos[count][vEingepackt] = 0;
Autos[count][vArt] = 0;
Autos[count][vX] = isx;
Autos[count][vY] = isy;
Autos[count][vZ] = isz;
Autos[count][vA] = 0;
Autos[count][vFarbe1] = 0;
Autos[count][vFarbe2] = 0;
Autos[count][vVerkauf] = 0;
Autos[count][vPreis] = 0;
Autos[count][vKMStand] = 0;
Autos[count][vRKMStand] = 0;
strmid(Autos[count][vBesitzer], "Niemand", 0, strlen("Niemand"), 255);
strmid(Autos[count][vSch1], "Niemand", 0, strlen("Niemand"), 255);
strmid(Autos[count][vSch2], "Niemand", 0, strlen("Niemand"), 255);
strmid(Autos[count][vSch3], "Niemand", 0, strlen("Niemand"), 255);
Autos[count][vBeschlagnahmt] = 0;
Autos[count][vBX] = isx;
Autos[count][vBY] = isy;
Autos[count][vBZ] = isz;
Autos[count][vBA] = 0;
Autos[count][vRespawn] = respawn;
OnVehicleDataUpdate(count);
count = MAX_VEHICLES;
return 1;
}
}
}
else
{
SCM(playerid, COLOR_RED, "Du bist kein Admin!");
return 1;
}
return 1;
} -
so besser???
public OnVehicleDataUpdate(vehicleid)
{
new str[256];
format(str, sizeof(str),"Autos/vehicle_%d.sav",vehicleid);
if(OpenINI(str))
{
SetKeyInt("Model",Autos[vehicleid][vModel]);
SetKeyInt("Eingepackt",Autos[vehicleid][vEingepackt]);
SetKeyInt("Art",Autos[vehicleid][vArt]);
SetKeyFloat("X",Autos[vehicleid][vX]);
SetKeyFloat("Y",Autos[vehicleid][vY]);
SetKeyFloat("Z",Autos[vehicleid][vZ]);
SetKeyFloat("A",Autos[vehicleid][vA]);
SetKeyInt("Farbe1",Autos[vehicleid][vFarbe1]);
SetKeyInt("Farbe2",Autos[vehicleid][vFarbe2]);
SetKeyInt("Verkauf",Autos[vehicleid][vVerkauf]);
SetKeyInt("Preis",Autos[vehicleid][vPreis]);
SetKeyInt("KMStand",Autos[vehicleid][vKMStand]);
SetKeyInt("RKMStand",Autos[vehicleid][vRKMStand]);
SetKeyString("Besitzer",Autos[vehicleid][vBesitzer]);
SetKeyString("Sch1",Autos[vehicleid][vSch1]);
SetKeyString("Sch2",Autos[vehicleid][vSch2]);
SetKeyString("Sch3",Autos[vehicleid][vSch3]);
SetKeyInt("Beschlagnahmt",Autos[vehicleid][vBeschlagnahmt]);
SetKeyFloat("BX",Autos[vehicleid][vBX]);
SetKeyFloat("BY",Autos[vehicleid][vBY]);
SetKeyFloat("BZ",Autos[vehicleid][vBZ]);
SetKeyFloat("BA",Autos[vehicleid][vBA]);
SetKeyInt("Respawn",Autos[vehicleid][vRespawn]);
SaveINI();
CloseINI();
}
return 1;
} -
Wenn ich das so mache
funktioniert das auch so das es in die richtige Datei speichert?
Kann ich mir i-wie nicht vorstellen
public OnVehicleDataUpdate(vehicleid)
{
SetKeyInt("Model",Autos[vehicleid][vModel]);
SetKeyInt("Eingepackt",Autos[vehicleid][vEingepackt]);
SetKeyInt("Art",Autos[vehicleid][vArt]);
SetKeyFloat("X",Autos[vehicleid][vX]);
SetKeyFloat("Y",Autos[vehicleid][vY]);
SetKeyFloat("Z",Autos[vehicleid][vZ]);
SetKeyFloat("A",Autos[vehicleid][vA]);
SetKeyInt("Farbe1",Autos[vehicleid][vFarbe1]);
SetKeyInt("Farbe2",Autos[vehicleid][vFarbe2]);
SetKeyInt("Verkauf",Autos[vehicleid][vVerkauf]);
SetKeyInt("Preis",Autos[vehicleid][vPreis]);
SetKeyInt("KMStand",Autos[vehicleid][vKMStand]);
SetKeyInt("RKMStand",Autos[vehicleid][vRKMStand]);
SetKeyString("Besitzer",Autos[vehicleid][vBesitzer]);
SetKeyString("Sch1",Autos[vehicleid][vSch1]);
SetKeyString("Sch2",Autos[vehicleid][vSch2]);
SetKeyString("Sch3",Autos[vehicleid][vSch3]);
SetKeyInt("Beschlagnahmt",Autos[vehicleid][vBeschlagnahmt]);
SetKeyFloat("BX",Autos[vehicleid][vBX]);
SetKeyFloat("BY",Autos[vehicleid][vBY]);
SetKeyFloat("BZ",Autos[vehicleid][vBZ]);
SetKeyFloat("BA",Autos[vehicleid][vBA]);
SetKeyInt("Respawn",Autos[vehicleid][vRespawn]);
return 1;
} -
Und wie überprüfe ich mit bfx_ini ob eine bestimmte Datei existiert? wie bei Dini
if(!dini_Exists(string))
ist -
Das bringt mir recht gar nichts.
Gibt es keine Möglichkeit da Performance herauszuholen ohne diese Sachen zu entfernen? -
ja es liegt am OnVehicleDataUpdate
wo ist denn da der Fehler bzw. wie kann ich da mehr leistung rausholen???
public OnVehicleDataUpdate(vehicleid)
{
new str[256];
format(str, sizeof(str),"Autos/vehicle_%d.sav",vehicleid);
dini_IntSet(str,"Model",Autos[vehicleid][vModel]);
dini_IntSet(str,"Eingepackt",Autos[vehicleid][vEingepackt]);
dini_IntSet(str,"Art",Autos[vehicleid][vArt]);
dini_FloatSet(str,"X",Autos[vehicleid][vX]);
dini_FloatSet(str,"Y",Autos[vehicleid][vY]);
dini_FloatSet(str,"Z",Autos[vehicleid][vZ]);
dini_FloatSet(str,"A",Autos[vehicleid][vA]);
dini_IntSet(str,"Farbe1",Autos[vehicleid][vFarbe1]);
dini_IntSet(str,"Farbe2",Autos[vehicleid][vFarbe2]);
dini_IntSet(str,"Verkauf",Autos[vehicleid][vVerkauf]);
dini_IntSet(str,"Preis",Autos[vehicleid][vPreis]);
dini_IntSet(str,"KMStand",Autos[vehicleid][vKMStand]);
dini_IntSet(str,"RKMStand",Autos[vehicleid][vRKMStand]);
dini_Set(str,"Besitzer",Autos[vehicleid][vBesitzer]);
dini_Set(str,"Sch1",Autos[vehicleid][vSch1]);
dini_Set(str,"Sch2",Autos[vehicleid][vSch2]);
dini_Set(str,"Sch3",Autos[vehicleid][vSch3]);
dini_IntSet(str,"Beschlagnahmt",Autos[vehicleid][vBeschlagnahmt]);
dini_FloatSet(str,"BX",Autos[vehicleid][vBX]);
dini_FloatSet(str,"BY",Autos[vehicleid][vBY]);
dini_FloatSet(str,"BZ",Autos[vehicleid][vBZ]);
dini_FloatSet(str,"BA",Autos[vehicleid][vBA]);
dini_IntSet(str,"Respawn",Autos[vehicleid][vRespawn]);
return 1;
}mfg Dedi
-
hab ich gemacht das sieht so aus
if(strcmp(cmd, "/auto", true)==0)
{
if(Account[playerid][Admin] == 3)
{
new modelid,respawn;
new Float:isx,Float:isy,Float:isz;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_WHITE, "Benutze: /auto [modelid] [Respawn Time]");
return 1;
}
modelid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_WHITE, "Benutze: /auto [modelid] [Respawn Time]");
return 1;
}
respawn = strval(tmp);
SCM(playerid,COLOR_GREEN,"/////////////////////////////////////////////////");
SCM(playerid,COLOR_LIGHTRED," Auto erstellt ");
SCM(playerid,COLOR_GREEN,"/////////////////////////////////////////////////");
GPP(playerid,Float:isx,Float:isy,Float:isz);
CreateVehicle(modelid,isx,isy,isz,0,0,0,respawn);
for(new count=1;count<MAX_VEHICLES;count++)
{
format(string, sizeof(string),"Autos/vehicle_%d.sav",count);
if(!dini_Exists(string))
{
dini_Create(string);
Autos[count][vModel] = modelid;
Autos[count][vEingepackt] = 0;
Autos[count][vArt] = 0;
Autos[count][vX] = isx;
Autos[count][vY] = isy;
Autos[count][vZ] = isz;
Autos[count][vA] = 0;
Autos[count][vFarbe1] = 0;
Autos[count][vFarbe2] = 0;
Autos[count][vVerkauf] = 0;
Autos[count][vPreis] = 0;
Autos[count][vKMStand] = 0;
Autos[count][vRKMStand] = 0;
strmid(Autos[count][vBesitzer], "Niemand", 0, strlen("Niemand"), 255);
strmid(Autos[count][vSch1], "Niemand", 0, strlen("Niemand"), 255);
strmid(Autos[count][vSch2], "Niemand", 0, strlen("Niemand"), 255);
strmid(Autos[count][vSch3], "Niemand", 0, strlen("Niemand"), 255);
Autos[count][vBeschlagnahmt] = 0;
Autos[count][vBX] = isx;
Autos[count][vBY] = isy;
Autos[count][vBZ] = isz;
Autos[count][vBA] = 0;
Autos[count][vRespawn] = respawn;
count = MAX_VEHICLES;
OnVehicleDataUpdate(count);
return 1;
}
}
}
else
{
SCM(playerid, COLOR_RED, "Du bist kein Admin!");
return 1;
}
return 1;
}Text "auto erstellt" wird angezeigt
Fahrzeug spawnt nicht
server laggt kurz bzw. spiel ist home dann hmm.
Fahrzeug ist gespawnt
wie könnte ich diesen Befehl auf Performance sozusagen optimieren? -
gut das mit dem return teste ich mal und
die Datei ist doch schon längst erstellt
15-30 sec nach dem die Datei erstellt wurde spawnt er das FZG
//Edit
das mit dem return 1; hat nichts gebracht wie könnte ich das Script verbessen?