Quantcast
Channel: SA-MP Forums
Viewing all articles
Browse latest Browse all 18226

Vending Machine

$
0
0
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?

Code:

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
}


Viewing all articles
Browse latest Browse all 18226

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>