Ребят, в каких случаях может не срабатывать
OnPlayerKeyStateChange ( в авто )? Категорически не хочет брать Клавиши - KEY_WALK и KEY_SPRINT
Код:
if(newkeys & KEY_WALK)
{
if(GetPlayerState(playerid) == PlAYER_STATE_DRIVER)
{
new en,li,al,doors,bon,boot,ob;
new veh = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(veh,en,li,al,doors,bon,boot,ob);
if(Cardvig[veh][1] == 0) {SetVehicleParamsEx(veh,en,1,al,doors,bon,boot,ob);Cardvig[veh][1] = 1;}
else if(Cardvig[veh][1] == 1) {SetVehicleParamsEx(veh,en,0,al,doors,bon,boot,ob);Cardvig[veh][1] = 0;}
}
Может где рука скривила?
P.S. Делал подобное шаманство:
Код:
if(newkeys & KEY_WALK)
{
printf("Test 1!");
if(IsPlayerInAnyVehicle(playerid))
{
printf("Test 2!");
new en,li,al,doors,bon,boot,ob;
new veh = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(veh,en,li,al,doors,bon,boot,ob);
if(Cardvig[veh][1] == 0) {SetVehicleParamsEx(veh,en,1,al,doors,bon,boot,ob);Cardvig[veh][1] = 1;}
else if(Cardvig[veh][1] == 1) {SetVehicleParamsEx(veh,en,0,al,doors,bon,boot,ob);Cardvig[veh][1] = 0;}
return 1;
}
итог: ON_FOOT => Тест 1 замечательно проходит , 2ой и не должен. А вот с Водилой траблы. Даже 1ая проверка не проходит.