johnkrut
Специалист
Вобщем хочу поставить проверку на транспорт некоторый, что бы в него могли сесть с определенного ранга.
Вот что написал и не прет
Или помогите сделать другую систему
Вот что написал и не прет
PHP:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER) {
pvehicleid[playerid] = GetPlayerVehicleID(playerid);
pmodelid[playerid] = GetVehicleModel(pvehicleid[playerid]);
}
else {
pvehicleid[playerid] = 0;
pmodelid[playerid] = 0;
}
new vehicleid=GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_DRIVER)
{
if (PlayerInfo[playerid][pMember] == 1)
{
if(GetVehicleModel(vehicleid)==520 || GetVehicleModel(vehicleid)==447)
{
new Float:x,
Float:y,
Float:z;
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(playerid, x, y, z+5);
GameTextForPlayer(playerid, "~r~Stunned", 5000, 3);
SendClientMessage(playerid, -1, ""COL_RED"Error: "COL_WHITE"Вы должны быть Пилотом чтобы управлять этим транспортным средством.");
}
}
return 1;
}
GetVehicleWithinDistance( playerid, Float:x1, Float:y1, Float:z1, Float:dist, &vehic){
for(new i = 1; i < MAX_VEHICLES; i++){
if(GetVehicleModel(i) > 0){
if(GetPlayerVehicleID(playerid) != i ){
new Float:x, Float:y, Float:z;
new Float:x2, Float:y2, Float:z2;
GetVehiclePos(i, x, y, z);
x2 = x1 - x; y2 = y1 - y; z2 = z1 - z;
new Float:iDist = (x2*x2+y2*y2+z2*z2);
printf("Vehicle %d is %f", i, iDist);
if( iDist < dist){
vehic = i;
}
}
}
}
}
#pragma unused GetVehicleWithinDistance
