#include <a_samp>
#include <YSI\y_ini>
#include <foreach>
#include <sscanf2>
#include <zcmd>
#define MAX_CARS 500
new Iterator:aAutos<MAX_CARS>;
enum InfoAutos
{
aModelo,
Float:aPosX,
Float:aPosY,
Float:aPosZ,
Float:aRotacion,
aColor1,
aColor2,
aRespawn
};
new InformacionA[MAX_CARS][InfoAutos];
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
CMD:crearauto(playerid, params[])
{
new modelo, color1, color2, respawn;
new Float:x, Float:y, Float:z, Float:angulo;
new i = SlotAutoLibre();
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "No eres administrador");
if(sscanf(params,"iiii",modelo,color1,color2,respawn)) return SendClientMessage(playerid, -1, "/crearauto (Modelo) (Color1) (Color2) (Tiempo de respawn)");
if(modelo < 400 || modelo > 611) return SendClientMessage(playerid, -1, "El modelo ingresado es invalido.");
if(i == -1) return SendClientMessage(playerid, -1, "No se pueden crear mбs coches");
{
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, angulo);
InformacionA[i][aModelo] = modelo;
InformacionA[i][aPosX] = x;
InformacionA[i][aPosY] = y;
InformacionA[i][aPosZ] = z;
InformacionA[i][aRotacion] = angulo;
InformacionA[i][aColor1] = color1;
InformacionA[i][aColor2] = color2;
InformacionA[i][aRespawn] = respawn;
CreateVehicle(modelo, x, y, z, angulo, color1, color2, respawn);
Iter_Add(aAutos,i);
ActualizarAutos(i);
}
return 1;
}
stock ActualizarAutos(i)
{
new BArch[19];
format(BArch,sizeof(BArch),"Autos/%d.ini",i);
new INI:Arch = INI_Open(BArch);
INI_SetTag(Arch,"data");
INI_WriteInt(Arch,"Modelo",InformacionA[i][aModelo]);
INI_WriteFloat(Arch,"PosX",InformacionA[i][aPosX]);
INI_WriteFloat(Arch,"PosY",InformacionA[i][aPosY]);
INI_WriteFloat(Arch,"PosZ",InformacionA[i][aPosZ]);
INI_WriteFloat(Arch,"Rotacion",InformacionA[i][aRotacion]);
INI_WriteInt(Arch,"Color1",InformacionA[i][aColor1]);
INI_WriteInt(Arch,"Color2",InformacionA[i][aColor2]);
INI_WriteInt(Arch,"Tiempo respawn",InformacionA[i][aRespawn]);
INI_Close(Arch);
return 1;
}
stock CargarAutos()
{
new BArch[22],i;
print("Cargando autos...\n");
while(i < MAX_CARS)
{
format(BArch,sizeof(BArch),"Autos/%d.ini",i);
if(fexist(BArch))
{
INI_ParseFile(BArch,"CargarAutos_data",.bExtra = true, .extra = i);
printf("Coche modelo: %i",InformacionA[i][aModelo]);
Iter_Add(aAutos, i);
CreateVehicle(InformacionA[i][aModelo], InformacionA[i][aPosX], InformacionA[i][aPosY], InformacionA[i][aPosZ], InformacionA[i][aRotacion], InformacionA[i][aColor1], InformacionA[i][aColor2], InformacionA[i][aRespawn]);
}
i++;
}
return 1;
}
forward CargarAutos_data(vehicleid,name[],value[]);
public CargarAutos_data(vehicleid,name[],value[])
{
INI_Int("Modelo",InformacionA[vehicleid][aModelo]);
INI_Float("PosX",InformacionA[vehicleid][aPosX]);
INI_Float("PosY",InformacionA[vehicleid][aPosY]);
INI_Float("PosZ",InformacionA[vehicleid][aPosZ]);
INI_Float("Rotacion",InformacionA[vehicleid][aRotacion]);
INI_Int("Color1",InformacionA[vehicleid][aColor1]);
INI_Int("Color2",InformacionA[vehicleid][aColor2]);
INI_Int("Tiempo respawn",InformacionA[vehicleid][aRespawn]);
return 0;
}
stock SlotAutoLibre()
{
for(new i; i < MAX_CARS; i++)
{
if(!strlen(InformacionA[i][aModelo]) && !InformacionA[i][aPosX] && !InformacionA[i][aPosZ])
{
return i;
}
}
return -1;
}
"Autos/%d.ini"
Supongo que tienes que crear el archivo 'Autos.ini'
pawn Код:
|
Supongo que tienes que crear el archivo 'Autos.ini'
pawn Код:
|
Los archivos son numerados en la carpeta Autos que se encuentra en Scriptfiles, la cual deben crear ustedes. |
hola soy nuevo en esto, їcomo hago para ke se guarden los autos?
es ke pongo el comando y cuando se crean no se guardan |
Se supone que para que algo se guarde tiene que tener su funciуn de guardado... Tъ en que Gamemode lo estas usando, luego que me respondas eso podrй ayudarte.
|