28.04.2013, 11:49
Are you asking for help, or for making script for you?
It makes difference.
Altought I shouldn't, I decided to make very simple script, which should work as you wrote in your post.
I don't know if it's working as I havent tested it.
Enjoy.
There are also some differer ways to do such commands, but.. Figure them on your own :P
Greetz,
LetsOWN
It makes difference.
Altought I shouldn't, I decided to make very simple script, which should work as you wrote in your post.
I don't know if it's working as I havent tested it.
Enjoy.
pawn Код:
#define MAX_GIVEN_VEHICLES 100 // How many vehicles can admin spawn
new vehArray[MAX_VEHICLES]; // Array used for 'deletecars'
new Vehicles; // Integer holding how many cars has been spawned
new ppveh[MAX_PLAYERS]; // For /givecar
COMMAND:givecar(playerid, params[])
{
if(!IsPlayerAdmin(playerid))
{
return 0; // Return 0, so that if player is not RCON admin he will get Unknown Command message.
}
new forplayer, carid;
if(sscanf(params, "ui", forplayer, carid))
{
SendClientMessage(playerid, 0xFFFFFFFF, "error: Type /givecar [id/PartOfName] [CarId]");
return 1;
}
if(carid < 400 || carid > 611)
{
SendClientMessage(playerid, 0xFFFFFFFF, "error: Wrong vehicle id.");
return 1;
}
if(forplayer == INVALID_PLAYER_ID || !IsPlayerConnecter(playerid))
{
SendClientMessage(playerid, 0xFFFFFFFF, "error: This player is not connected.");
return 1;
}
if(vehicles > MAX_GIVEN_VEHICLES)
{
SendClientMessage(playerid, 0xFFFFFFFF, "error: You cant spawn anymore vehicles.");
return 1;
}
new
Float:Pos[4]
;
GetPlayerPos(forplayer, Pos[0], Pos[1], Pos[2]);
GetPlayerFacingAngle(forplayer, Pos[3]);
if(IsPlayerInAnyVehicle(forplayer)){ .
new tmp_vid;
tmp_vid = GetPlayerVehicleID(forplayer);
if(ppveh[forplayer] == tmp_vid) // if player is in vehicle which has been given to him by admin (using /givecar command, ofc)
{
RemovePlayerFromVehicle(forplayer);
DestroyVehicle(tmp_vid);
Vehicles--;
}
else // if not.. respawn vehicle.
{
RemovePlayerFromVehicle(forplayer);
SetVehicleToRespawn(tmp_vid);
}
}
ppveh[forplayer] = CreateVehicle(carid, Pos[0], Pos[1], Pos[2], Pos[3], -1, -1, -1);
PutPlayerInVehicle(playerid, ppveh[forplayer], 0);
new tmp_vid;
GetPlayerVehicleID(tmp_vid);
vehArray[tmp_vid] = 1;
Vehicles++;
return 1;
}
COMMAND:deletecars(playerid, params[])
{
if(!IsPlayerAdmin(playerid))
{
return 0; // Return 0, so that if player is not RCON admin he will get Unknown Command message.
}
for(new i = 0; i != MAX_VEHICLES; i++)
{
if(vehArray[i] == 1)
{
if(IsPlayerInVehicle(playerid, i){
RemovePlayerFromVehicle(playerid);
}
DestroyVehicle(i);
}
return 1;
}
Greetz,
LetsOWN