hi brotfische,
ich benutze das SimpleVEH von blackfox
und hätte gerne ein fs, bei dem ich mit
/savecar [preis] [Name vom 3dText über Vehicle] die zeile speicher :
so müsste das dann in der ausgegebenen datei aussehen :
{"Stallion",0,439,-1,30000,3000,783.0,-1335.0,13.2,121.1},,
{name,autohaus,modelid,carid,-1,preis,repair preis,x,y,z,a},
und das dann irgendwie in einer datei speichern....
Wäre Super wenn einer zeit hätte.
/savecar
- TommyAkaServus
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Das sollte glaub gar nicht so schwer sein,
also unter OnPlayerCommandText folgendes:
public OnPlayerCommandText(playerid, cmdtext[])
{
new tmp[256],cmd[256],idx; // das nur einfügen, wenn es nicht schon vorhanden ist
cmd = strtok(cmdtext, idx); // das nur einfügen, wenn es nicht schon vorhanden ist
if(!strcmp("/savecar", cmd, true))
{
new preis;
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, GREY, "Benutze: /savecar [preis] [Name vom 3D Text über Vehicle]");
return 1;
}
preis = strval(tmp);
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, GREY, "Benutze: /savecar [preis] [Name vom 3D Text über Vehicle]");
return 1;
}
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, GREY, "Benutze: /savecar [preis] [Name vom 3D Text über Vehicle]");
return 1;
}
if(IsPlayerInAnyVehicle(playerid))
{
new Float:vx,Float:vy,Float:vz,Float:va;
new string[128];
GetVehiclePos(vx,vy,vz);
GetVehicleZAngle(va);
new File:autohaus=fopen("Autohaus Autos.txt", io_append);
format(string,"{'%s',0,%d,-1,%d,%d,%f,%f,%f,%f},\n",(result),GetVehicleModel(GetPlayerVehicleID(playerid)),preis,preis/10,vx,vy,vz,va);
fwrite(autohaus, string);
fclose(autohaus);
}
else
{
return SCM(playerid,/*DEINE FARBE*/,"Du bist in keinem Fahrzeug! Du musst dich in einem Fahrzeug befinden!");
}
}
return 0;
}So würde aber das auto immer andem Autohaus 0 spawnen, wenn du z. B. möchtest, dass man das auch noch aussuchen kann, kannste es so machen:
public OnPlayerCommandText(playerid, cmdtext[])
{
new tmp[256],cmd[256],idx; // das nur einfügen, wenn es nicht schon vorhanden ist
cmd = strtok(cmdtext, idx); // das nur einfügen, wenn es nicht schon vorhanden ist
if(!strcmp("/savecar", cmd, true))
{
new preis, autohaus;
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, GREY, "Benutze: /savecar [preis] [Autohaus] [Name vom 3D Text über Vehicle]");
return 1;
}
preis = strval(tmp);
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, GREY, "Benutze: /savecar [preis] [Autohaus] [Name vom 3D Text über Vehicle]");
return 1;
}
autohaus = strval(tmp);
if(autohaus < 0 || autohaus > 2)
{
return SCM(playerid,/*DEINE FARBE*/,"Du kannst nur zwischen Autohaus 0 bis 2 entscheiden!"); // wenn du willst, dass es nur z. B. 1 bis 3 Autohäuser gibt, dann mach oben aus der 2 eine 3. (autohaus > 2) zu (autohaus > 3)
}
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, GREY, "Benutze: /savecar [preis] [Autohaus] [Name vom 3D Text über Vehicle]");
return 1;
}
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, GREY, "Benutze: /savecar [preis] [Autohaus] [Name vom 3D Text über Vehicle]");
return 1;
}
if(IsPlayerInAnyVehicle(playerid))
{
new Float:vx,Float:vy,Float:vz,Float:va;
new string[128];
GetVehiclePos(vx,vy,vz);
GetVehicleZAngle(va);
new File:autohaus=fopen("Autohaus Autos.txt", io_append);
format(string,"{'%s',%d,%d,-1,%d,%d,%f,%f,%f,%f},\n",(result),autohaus,GetVehicleModel(GetPlayerVehicleID(playerid)),preis,preis/10,vx,vy,vz,va);
fwrite(autohaus, string);
fclose(autohaus);
}
else
{
return SCM(playerid,/*DEINE FARBE*/,"Du bist in keinem Fahrzeug! Du musst dich in einem Fahrzeug befinden!");
}
}
return 0;
}MFG luckyguy
-
Ich habs versucht es selbst zu verändern da ich anderes autosys nutze aber ich steig da nicht duch:
//model,x,y,z,a,farbe1,farbe2,Preis,id = immer -1 , Fahrzeug Name
kann mir das einer machen
danke im vorraus -
breadfish.de
Hat das Thema geschlossen.