19.09.2017, 13:51
Am incercat sa modific locatia unde sa se execute OnPlayerUseVendinMachine, insa nu merge, ca sa folosesc dozatorul trebuie sa fiu in el practic, nu in fata lui. Am incercat sa sterg si IsPlayerInDynamicArea insa tot nu merge. trebuie sa fiu practic in locul unde el pozitionat X,Y,Z, nu in fata lui.
Folosesc include-ul vending.inc
Cum pot rezolva?
Folosesc include-ul vending.inc
Cum pot rezolva?
Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if((newkeys & KEY_SECONDARY_ATTACK) && (GetPlayerAnimationIndex(playerid) != 1660)) { for(new i; i < MAX_MACHINES; i++) { if(!IsValidVendingMachine(i)) continue; #if defined Streamer_IncludeFileVersion if(!IsPlayerInDynamicArea(playerid, g_eVendingData[i][E_VENDING_AREA])) continue; #else new Float:x, Float:y; GetXYInFrontOfVending(i, x, y, 0.5); if(!IsPlayerInRangeOfPoint(playerid, 1, 1552.5898, -1683.4698, 13.5504)) continue; #endif SetPlayerFacingAngle(playerid, g_eVendingData[i][E_VENDING_RZ]); if(OnPlayerUseVendingMachine(playerid, i) != 0) { if(g_eVendingData[i][E_VENDING_TYPE] == MACHINE_SNACK) { ApplyAnimation(playerid, "FOOD", "EAT_Burger", 3.0, 0, 0, 0, 0, 0, 1); PlayerPlaySound(playerid, 42601, 0.0, 0.0, 0.0); } else { ApplyAnimation(playerid, "VENDING", "VEND_USE", 3.0, 0, 0, 0, 0, 0, 1); PlayerPlaySound(playerid, 42600, 0.0, 0.0, 0.0); SetTimerEx("OnAnimationDrink", 1800, false, "i", playerid); } #if !defined NO_SPRUNK_ACTION if(g_eVendingData[i][E_VENDING_TYPE] == MACHINE_SPRUNK) SetTimerEx("ven_SetPlayerAnimation", 2500, false, "i", playerid); #endif } else ClearAnimations(playerid); } } #if !defined NO_SPRUNK_ACTION else if((newkeys & KEY_FIRE) && g_eLastDrink[playerid] < GetTickCount() && (GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DRINK_SPRUNK)) { OnPlayerDrinkSprunk(playerid); g_eLastDrink[playerid] = GetTickCount() + 2350; } #endif #if defined inc_Ven_OnPlayerKeyStateChange return inc_Ven_OnPlayerKeyStateChange(playerid, newkeys, oldkeys); #else return 0; #endif }