enum pInfo
{
pPass,
}
new PlayerInfo[MAX_PLAYERS][pInfo];
forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
INI_Int("Password",PlayerInfo[playerid][pPass]);
return 1;
}
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Password",udb_hash(inputtext));
INI_Close(File);
I don't understand, do you wanna save the vehicle model and the position with ini ?. If so I edit this message to give you an example, if it is not that did not understand.
|
https://sampforum.blast.hk/showthread.php?tid=282801
Use this and when you have done your mappings go to "Show Codes" and copy those codes paste it in your gamemode under OnGameModeInit. |
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#define FILTERSCRIPT
#if defined FILTERSCRIPT
#include <a_samp>
#include <YSI\y_ini>
#include <YSI\y_inline>
enum InfoVehicles
{
vehicle,
model,
world,
interior,
Float:x_,
Float:y_,
Float:z_
};
new vInfo[MAX_PLAYERS][InfoVehicles];
public OnPlayerConnect(playerid)
{
if(fexist(FolderVehicles(playerid)))
{
inline loadvehicle(string:name[], string:value[])
{
INI_Int("model", vInfo[playerid][model]);
INI_Int("world", vInfo[playerid][world]);
INI_Int("interior", vInfo[playerid][interior]);
INI_Float("pos:x", vInfo[playerid][x_]);
INI_Float("pos:y", vInfo[playerid][y_]);
INI_Float("pos:z", vInfo[playerid][z_]);
}
INI_ParseFile(FolderVehicles(playerid), "loadvehicle");
vInfo[playerid][vehicle] = 1;
}
else if(!fexist(FolderVehicles(playerid)))
{
vInfo[playerid][vehicle] = 0;
}
return true;
}
public OnPlayerDisconnect(playerid, reason)
{
if(vInfo[playerid][vehicle] != 0)
{
new Float:pos[3];
GetVehiclePos(vInfo[playerid][vehicle], pos[0], pos[1], pos[2]);
PutPlayerInVehicle(playerid, vInfo[playerid][vehicle], 0);
new INI:File = INI_Open(FolderVehicles(playerid));
INI_SetTag(File, "Info vehicle");
INI_WriteInt(File, "model", vInfo[playerid][model]);
INI_WriteInt(File, "world", GetVehicleVirtualWorld(vInfo[playerid][vehicle]));
INI_WriteInt(File, "interior", GetPlayerInterior(playerid));
INI_WriteFloat(File, "pos:x", pos[0]);
INI_WriteFloat(File, "pos:y", pos[1]);
INI_WriteFloat(File, "pos:z", pos[2]);
INI_Close(File);
//..
DestroyVehicle(vInfo[playerid][vehicle]);
}
return true;
}
public OnPlayerRequestSpawn(playerid)
{
if(vInfo[playerid][vehicle] != 0)
{
vInfo[playerid][vehicle] = CreateVehicle(vInfo[playerid][model], vInfo[playerid][x_], vInfo[playerid][y_], vInfo[playerid][z_], 3, random(126), random(126), (60*60));
SetVehicleVirtualWorld(vInfo[playerid][vehicle], vInfo[playerid][world]);
LinkVehicleToInterior(vInfo[playerid][vehicle], vInfo[playerid][interior]);
}
return true;
}
FolderVehicles(playerid)
{
new string[80], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "/vehicles/%s.ini", name);
return string;
}
#endif
command(playerid, params[])
{
if(sscanf(params, "i", params[0])) return true;
vInfo[playerid][vehicle] = CreateVehicle(params[0], pos[0], pos[1], pos[2], 3, random(126), random(126), (60*60));
LinkVehicleToInterior(vInfo[playerid][vehicle], GetPlayerInterior(playerid));
SetVehicleVirtualWorld(vInfo[playerid][vehicle], GetPlayerVirtualWorld(playerid));
vInfo[playerid][model] = params[0];
return true;
}
// To this you must give value to identify the vehicle that will be saved by each player by a certain creates a folder named "vehicles" when you try this.
vInfo[playerid][model] = MODELID
vInfo[playerid][vehicle] = VEHICLE
CMD:vehicles(playerid, params[])
{
if(sscanf(params, "i", params[0]))
return SendClientMessage(playerid, -1, "usage: /cars [id 1-7].");
switch(params[0])
{
case 1:
{
if(GetPlayerMoney(playerid) < 1200000)
return SendClientMessage(playerid, 0, "You don't have enough cash to buy this car!");
GivePlayerMoney(playerid, -1200000);
new Float:p[4];
GetPlayerPos(playerid, p[0], p[1], p[2]);
GetPlayerFacingAngle(playerid, p[3]);
CreateVehicle(541, p[0], p[1], p[2], p[3]+90, -1, -1, 9999999);
}
case 2:
{
if(GetPlayerMoney(playerid) < 1900000)
return SendClientMessage(playerid, 0, "You don't have enough cash to buy this car!");
GivePlayerMoney(playerid, -1900000);
new Float:p[4];
GetPlayerPos(playerid, p[0], p[1], p[2]);
GetPlayerFacingAngle(playerid, p[3]);
CreateVehicle(411, p[0], p[1], p[2], p[3]+90, -1, -1, 9999999);
}
case 3:
{
if(GetPlayerMoney(playerid) < 4000000)
return SendClientMessage(playerid, 0, "You don't have enough cash to buy this car!");
GivePlayerMoney(playerid, -4000000);
new Float:p[4];
GetPlayerPos(playerid, p[0], p[1], p[2]);
GetPlayerFacingAngle(playerid, p[3]);
CreateVehicle(494, p[0], p[1], p[2], p[3]+90, -1, -1, 9999999);
}
case 4:
{
if(GetPlayerMoney(playerid) < 22000)
return SendClientMessage(playerid, 0, "You don't have enough cash to buy this car!");
GivePlayerMoney(playerid, -22000);
new Float:p[4];
GetPlayerPos(playerid, p[0], p[1], p[2]);
GetPlayerFacingAngle(playerid, p[3]);
CreateVehicle(409, p[0], p[1], p[2], p[3]+90, -1, -1, 9999999);
}
case 5:
{
if(GetPlayerMoney(playerid) < 460000)
return SendClientMessage(playerid, 0, "You don't have enough cash to buy this car!");
GivePlayerMoney(playerid, -460000);
new Float:p[4];
GetPlayerPos(playerid, p[0], p[1], p[2]);
GetPlayerFacingAngle(playerid, p[3]);
CreateVehicle(560, p[0], p[1], p[2], p[3]+90, -1, -1, 9999999);
}
case 6:
{
if(GetPlayerMoney(playerid) < 600000)
return SendClientMessage(playerid, 0, "You don't have enough cash to buy this car!");
GivePlayerMoney(playerid, -600000);
new Float:p[4];
GetPlayerPos(playerid, p[0], p[1], p[2]);
GetPlayerFacingAngle(playerid, p[3]);
CreateVehicle(506, p[0], p[1], p[2], p[3]+90, -1, -1, 9999999);
}
case 7:
{
if(GetPlayerMoney(playerid) < 5000000)
return SendClientMessage(playerid, 0, "You don't have enough cash to buy this car!");
GivePlayerMoney(playerid, -5000000);
new Float:p[4];
GetPlayerPos(playerid, p[0], p[1], p[2]);
GetPlayerFacingAngle(playerid, p[3]);
CreateVehicle(521, p[0], p[1], p[2], p[3]+90, -1, -1, 9999999);
}
}
return true;
}
i see this code and perfect
![]() i want adding in it the save vehicles and pos all u made it ![]() PHP код:
|
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#define FILTERSCRIPT
#if defined FILTERSCRIPT
#include <a_samp>
#include <sscanf2>
#include <YSI\y_ini>
#include <YSI\y_inline>
#include <YSI\y_commands> // or zcmd
enum InfoVehicles
{
vehicle,
model,
world,
interior,
Float:x_,
Float:y_,
Float:z_
};
new vInfo[MAX_PLAYERS][InfoVehicles];
public OnPlayerConnect(playerid)
{
if(fexist(FolderVehicles(playerid)))
{
inline loadvehicle(string:name[], string:value[])
{
INI_Int("model", vInfo[playerid][model]);
INI_Int("world", vInfo[playerid][world]);
INI_Int("interior", vInfo[playerid][interior]);
INI_Float("pos:x", vInfo[playerid][x_]);
INI_Float("pos:y", vInfo[playerid][y_]);
INI_Float("pos:z", vInfo[playerid][z_]);
}
INI_ParseFile(FolderVehicles(playerid), "loadvehicle");
vInfo[playerid][vehicle] = 1;
}
else if(!fexist(FolderVehicles(playerid)))
{
vInfo[playerid][vehicle] = 0;
}
return true;
}
public OnPlayerDisconnect(playerid, reason)
{
if(vInfo[playerid][vehicle] != 0)
{
new Float:pos[3];
GetVehiclePos(vInfo[playerid][vehicle], pos[0], pos[1], pos[2]);
PutPlayerInVehicle(playerid, vInfo[playerid][vehicle], 0);
new INI:File = INI_Open(FolderVehicles(playerid));
INI_SetTag(File, "Info vehicle");
INI_WriteInt(File, "model", vInfo[playerid][model]);
INI_WriteInt(File, "world", GetVehicleVirtualWorld(vInfo[playerid][vehicle]));
INI_WriteInt(File, "interior", GetPlayerInterior(playerid));
INI_WriteFloat(File, "pos:x", pos[0]);
INI_WriteFloat(File, "pos:y", pos[1]);
INI_WriteFloat(File, "pos:z", pos[2]);
INI_Close(File);
//..
DestroyVehicle(vInfo[playerid][vehicle]);
}
return true;
}
public OnPlayerRequestSpawn(playerid)
{
if(vInfo[playerid][vehicle] != 0)
{
vInfo[playerid][vehicle] = CreateVehicle(vInfo[playerid][model], vInfo[playerid][x_], vInfo[playerid][y_], vInfo[playerid][z_], 3, random(126), random(126), (60*60));
SetVehicleVirtualWorld(vInfo[playerid][vehicle], vInfo[playerid][world]);
LinkVehicleToInterior(vInfo[playerid][vehicle], vInfo[playerid][interior]);
}
return true;
}
FolderVehicles(playerid)
{
new string[80], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "/vehicles/%s.ini", name);
return string;
}
CMD:cars(playerid, params[])
{
if(sscanf(params, "i", params[0]))
return SendClientMessage(playerid, -1, "usage: /cars [vehicle 1-7].");
if(vInfo[playerid][vehicle] != 0)
{
DestroyVehicle(vInfo[playerid][vehicle]);
}
//..
new Float:pos[4];
GetPlayerFacingAngle(playerid, pos[3]);
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
//..
switch(params[0])
{
case 1:
{
if(GetPlayerMoney(playerid) < 1200000)
return SendClientMessage(playerid, 0, "You don't have enough cash to buy this car!");
vInfo[playerid][vehicle] = CreateVehicle(541, pos[0], pos[1], pos[2], pos[3], random(126), random(126), (60*60));
GivePlayerMoney(playerid, -1200000);
vInfo[playerid][model] = 541;
}
case 2:
{
if(GetPlayerMoney(playerid) < 1900000)
return SendClientMessage(playerid, 0, "You don't have enough cash to buy this car!");
vInfo[playerid][vehicle] = CreateVehicle(411, pos[0], pos[1], pos[2], pos[3], random(126), random(126), (60*60));
GivePlayerMoney(playerid, -1900000);
vInfo[playerid][model] = 411;
}
case 3:
{
if(GetPlayerMoney(playerid) < 4000000)
return SendClientMessage(playerid, 0, "You don't have enough cash to buy this car!");
vInfo[playerid][vehicle] = CreateVehicle(494, pos[0], pos[1], pos[2], pos[3], random(126), random(126), (60*60));
GivePlayerMoney(playerid, -4000000);
vInfo[playerid][model] = 494;
}
case 4:
{
if(GetPlayerMoney(playerid) < 22000)
return SendClientMessage(playerid, 0, "You don't have enough cash to buy this car!");
vInfo[playerid][vehicle] = CreateVehicle(409, pos[0], pos[1], pos[2], pos[3], random(126), random(126), (60*60));
GivePlayerMoney(playerid, -22000);
vInfo[playerid][model] = 409;
}
case 5:
{
if(GetPlayerMoney(playerid) < 460000)
return SendClientMessage(playerid, 0, "You don't have enough cash to buy this car!");
vInfo[playerid][vehicle] = CreateVehicle(560, pos[0], pos[1], pos[2], pos[3], random(126), random(126), (60*60));
GivePlayerMoney(playerid, -460000);
vInfo[playerid][model] = 560;
}
case 6:
{
if(GetPlayerMoney(playerid) < 600000)
return SendClientMessage(playerid, 0, "You don't have enough cash to buy this car!");
vInfo[playerid][vehicle] = CreateVehicle(506, pos[0], pos[1], pos[2], pos[3], random(126), random(126), (60*60));
GivePlayerMoney(playerid, -600000);
vInfo[playerid][model] = 506;
}
case 7:
{
if(GetPlayerMoney(playerid) < 5000000)
return SendClientMessage(playerid, 0, "You don't have enough cash to buy this car!");
vInfo[playerid][vehicle] = CreateVehicle(521, pos[0], pos[1], pos[2], pos[3], random(126), random(126), (60*60));
GivePlayerMoney(playerid, -5000000);
vInfo[playerid][model] = 521;
}
}
return true;
}
#endif
public OnPlayerConnect(playerid)
{
if(fexist(FolderVehicles(playerid)))
{
inline loadvehicle(string:name[], string:value[])
{
INI_Int("model", vInfo[playerid][model]);
INI_Int("world", vInfo[playerid][world]);
INI_Int("interior", vInfo[playerid][interior]);
INI_Float("pos:x", vInfo[playerid][x_]);
INI_Float("pos:y", vInfo[playerid][y_]);
INI_Float("pos:z", vInfo[playerid][z_]);
}
INI_ParseFile(FolderVehicles(playerid), "loadvehicle");
vInfo[playerid][vehicle] = 1;
}
else if(!fexist(FolderVehicles(playerid)))
{
vInfo[playerid][vehicle] = 0;
}
return true;
}