Fiz pra vocк uma forma usando OnPlayerEnverVehicle, й um simples FS que fiz de testes talvez sirva como exemplo.
Se for testar, precisa da ysi e sscanf.
pawn Код:
#include < a_samp >
#include < sscanf2 >
#include < YSI\y_commands >
#define MAX_VEHICLE_HELPERS (11)
new bool:IsPlayerHelpers[MAX_PLAYERS];
new VeiculoHelpers[MAX_VEHICLE_HELPERS];
public OnFilterScriptInit( ) {
VeiculoHelpers[0] = AddStaticVehicleEx(535,1562.8000500,-1897.0999800,13.4000000,270.0000000,98,68,15); //Slamvan
VeiculoHelpers[1] = AddStaticVehicleEx(567,1563.3000500,-1893.0000000,13.5000000,270.0000000,174,155,15); //Savanna
VeiculoHelpers[2] = AddStaticVehicleEx(400,1563.0000000,-1889.0000000,13.7000000,270.0000000,38,55,15); //Landstalker
VeiculoHelpers[3] = AddStaticVehicleEx(500,1562.6999500,-1885.0000000,13.8000000,269.5000000,32,32,15); //Mesa
VeiculoHelpers[4] = AddStaticVehicleEx(495,1573.5000000,-1896.9000200,14.1000000,90.0000000,31,37,15); //Sandking
VeiculoHelpers[5] = AddStaticVehicleEx(424,1573.8000500,-1893.3000500,13.4000000,90.0000000,81,84,15); //BF Injection
VeiculoHelpers[6] = AddStaticVehicleEx(461,1574.5000000,-1884.1999500,13.2000000,90.0000000,109,40,15); //PCJ-600
VeiculoHelpers[7] = AddStaticVehicleEx(463,1574.5999800,-1885.5999800,13.2000000,90.0000000,76,117,15); //Freeway
VeiculoHelpers[8] = AddStaticVehicleEx(581,1574.4000200,-1887.0000000,13.3000000,88.5000000,109,24,15); //BF-400
VeiculoHelpers[9] = AddStaticVehicleEx(471,1574.6999500,-1888.5999800,13.1000000,90.0000000,52,26,15); //Quad
VeiculoHelpers[10] = AddStaticVehicleEx(471,1574.6999500,-1890.6999500,13.1000000,90.0000000,52,26,15); //Quad
return 1;
}
YCMD:carhelper(playerid,params[],help) {
SetPlayerPos(playerid,1562.8000500,-1897.0999800,13.4000000);
return 1;
}
YCMD:sethelper(playerid,params[],help) {
new bool:ishelper,id;
if(sscanf(params,"ul",id,ishelper)) return SendClientMessage(playerid,-1,"Use /sethelper <playerid/part name> <true/false>");
if(ishelper == true)
{
IsPlayerHelpers[id] = true;
SendClientMessage(id,0x00FF00FF,#Vocк foi adicionado ao grupo Helpers!);
}
else if(ishelper == false)
{
IsPlayerHelpers[id] = false;
SendClientMessage(id,0xFF0000FF,#Vocк foi removido ao grupo Helpers!);
}
return 1;
}
/*
Nova forma de bloquear a entrada de um player em um veiculo.
Usando a callback OnPlayerEnterVehicle
Por: [iPs]iShock
*/
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) {
for(new i; i < MAX_VEHICLE_HELPERS; i++) {
if(VeiculoHelpers[i] != vehicleid) continue;
if(vehicleid == VeiculoHelpers[i]) {
if(IsPlayerHelpers[playerid] == true) {
SendClientMessage(playerid,-1,#Bem vindo ao veiculo usado por helpers!);
}
else {
SendClientMessage(playerid,-1,#Este veiculo nгo й autorizado para seu uso! <Somente Helpers>);
TogglePlayerControllable(playerid,false);
TogglePlayerControllable(playerid,true);
}
return 1;
}
}
return 1;
}