OnPlayerKeyStateChange -
Lidor124 - 13.02.2014
Hi alll..
I need somehelp with OnPlayerKeyStateChange public, when i use if(newkeys & KEY_FIRE), lets take example and i'll explain:
if(newkeys & KEY_FIRE) // /tow command
then the code under it, then after new one using if(newkeys & KEY_FIRE):
if(newkeys & KEY_FIRE) // /untow command
under it code bla bla bla
On game - first press ctrl/fire button the towtruck tows the vehicle but on second time to untow the vehicle doesn't respond
means /untow command key doesn't work, can someone explain me why and tell me what's wrong with that?
Re: OnPlayerKeyStateChange -
$Marco$ - 13.02.2014
pawn Код:
if((newkeys & KEY_FIRE) || (oldkeys & KEY_FIRE))
{
if(PlayerInfo[playerid][Towing] == 1)
{
if(PlayerInfo[playerid][TowingCar] == 1)
{
// untow
PlayerInfo[playerid][TowingCar] = 0;
}
else
{
// tow
PlayerInfo[playerid][TowingCar] = 1;
}
}
}
Change it for your code to fit in.
Re: OnPlayerKeyStateChange -
Threshold - 13.02.2014
Correction:
pawn Код:
if(newkeys & KEY_FIRE)
{
if(!PlayerInfo[playerid][TowingCar])
{
// tow
PlayerInfo[playerid][TowingCar] = 1;
}
else if(PlayerInfo[playerid][TowingCar])
{
// untow
PlayerInfo[playerid][TowingCar] = 0;
}
}
Re: OnPlayerKeyStateChange -
Lidor124 - 13.02.2014
can you help with those brackets? i dont have time for them
+REP if works perfect
Код:
if((newkeys & KEY_FIRE) || (oldkeys & KEY_FIRE)) // tow command
{
if(IsACop(playerid))
if(I!sTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
{
if(IsPlayerInAnyVehicle(playerid))
{
new
carid = GetPlayerVehicleID(playerid);
if(IsATowTruck(carid))
{
new
closestcar = GetClosestCar(playerid, carid);
if(GetDistanceToCar(playerid,closestcar) <= 8 && !IsTrailerAttachedToVehicle(carid)) {
foreach(Player, i) {
if(GetPlayerVehicle(i, closestcar) != -1) {
if(ProxDetectorS(30.0,playerid,i))
SendClientMessageEx(i, COLOR_LIGHTBLUE, "Someone is attempting to tow your vehicle away!");
arr_Towing[playerid] = closestcar;
SendClientMessageEx(playerid, COLOR_GRAD2, "This player owned vehicle is available for impounding.");
return AttachTrailerToVehicle(closestcar,carid);
}
}
SendClientMessageEx(playerid, COLOR_GRAD2, "This vehicle has no registration, it is available for impounding.");
AttachTrailerToVehicle(closestcar,carid);
arr_Towing[playerid] = closestcar;
return 1;
}
}
else SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to tow with this vehicle.");
}
else SendClientMessageEx(playerid, COLOR_GRAD2, "You need to be inside a vehicle to use this command!");
}
else SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
}
else if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
{
SendClientMessageEx(playerid, COLOR_GRAD1,"You have unhooked the vehicle that you were towing.");
arr_Towing[playerid] = INVALID_VEHICLE_ID;
DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
}
else
{
SendClientMessageEx(playerid, COLOR_GRAD1,"You are currently not towing anything.");
}
}
else
{
SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
}
return 1;
}
Re: OnPlayerKeyStateChange -
$Marco$ - 13.02.2014
No way anyone will write the script for you.
You gonna have to do it yourself buddy.
Re: OnPlayerKeyStateChange -
Threshold - 13.02.2014
I guess so..
pawn Код:
if(newkeys & KEY_FIRE) // tow command
{
if(IsACop(playerid))
{
if(GetPlayerState(playerid, PLAYER_STATE_DRIVER)
{
new carid = GetPlayerVehicleID(playerid);
if(!IsTrailerAttachedToVehicle(carid))
{
if(IsATowTruck(carid))
{
new closestcar = GetClosestCar(playerid, carid);
if(GetDistanceToCar(playerid, closestcar) <= 8.0)
{
foreach(Player, i)
{
if(GetPlayerVehicle(i, closestcar) == -1) continue;
if(ProxDetectorS(30.0, playerid, i))
{
SendClientMessageEx(i, COLOR_LIGHTBLUE, "Someone is attempting to tow your vehicle away!");
arr_Towing[playerid] = closestcar;
SendClientMessageEx(playerid, COLOR_GRAD2, "This player owned vehicle is available for impounding.");
return AttachTrailerToVehicle(closestcar,carid);
}
}
SendClientMessageEx(playerid, COLOR_GRAD2, "This vehicle has no registration, it is available for impounding.");
AttachTrailerToVehicle(closestcar,carid);
arr_Towing[playerid] = closestcar;
return 1;
}
}
else SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to tow with this vehicle.");
}
else
{
SendClientMessageEx(playerid, COLOR_GRAD1,"You have unhooked the vehicle that you were towing.");
arr_Towing[playerid] = INVALID_VEHICLE_ID;
DetachTrailerFromVehicle(carid);
}
}
else SendClientMessageEx(playerid, COLOR_GRAD2, "You need to be the driver of a vehicle to use this command!");
}
else SendClientMessageEx(playerid, COLOR_GRAD2, "You are not authorized to use this command.");
return 1;
}