Actor Robbery System - Problem
#7

If we get 10 meters away from the actor, how can I cancel the robbery?


Код:
public RunActorAnimationSequence(playerid, actorid, animation_pattern)
{
	switch(animation_pattern)
	{
		case 0:
		{
			ClearActorAnimations(actorid);
			ApplyActorAnimation(actorid, "SHOP", "SHP_Rob_HandsUp", 4.1, 0, 1, 1, 1, 0);
		
			SetTimerEx("RunActorAnimationSequence", 1000 * ROBBERY_WAIT_TIME, false, "iii", playerid, actorid, 1);
		
			new Float:x, Float:y, Float:z;
			GetPlayerPos(playerid, x, y, z);
		
			for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
			{
				if(!IsPlayerConnected(i)) { continue; }
				PlayerPlaySound(i, 3401, x, y, z);
			}
		}
		case 1:
		{
			if(!IsPlayerInRangeOfPoint(playerid, 10.0, robbery_data[actorid][actor_x], robbery_data[actorid][actor_y], robbery_data[actorid][actor_z]))
			{
				ClearActorAnimations(actorid);
				ApplyActorAnimation(actorid, "SHOP", "SHP_Rob_GiveCash", 4.1, 0, 1, 1, 1, 0);

				SetTimerEx("RunActorAnimationSequence", 1000 * ROBBERY_WAIT_TIME, false, "iii", playerid, actorid, 2);
			}
			else 
			{
				OnPlayerFinishRobbery(playerid, actorid, 0, TYPE_UNFINISHED);
			}
		}
		case 2:
		{
			ClearActorAnimations(actorid);
			ApplyActorAnimation(actorid, "PED", "DUCK_cower", 4.1, 1, 1, 1, 1, 1);
		
			SetTimerEx("RunActorAnimationSequence", 1000 * 60 * ROBBERY_WAIT_TIME, false, "iii", playerid, actorid, 3);
		
			new 
			robberyChance = random(100);
			if(robberyChance > 40)
			{
				OnPlayerFinishRobbery(playerid, actorid, (random(robbery_data[actorid][money_max] - robbery_data[actorid][money_min]) + robbery_data[actorid][money_min]), TYPE_SUCCESS);
			}
			else OnPlayerFinishRobbery(playerid, actorid, 0, TYPE_FAILED);
		}
		case 3:
		{
			ClearActorAnimations(actorid);
			PlayerPlaySound(playerid, 0, 0.0, 0.0, 0.0);
		}

	}
	return 1;
}

public OnPlayerStartRobbery(playerid, actorid, robbed_recently)
{
    new string[128];
    if(robbed_recently)
    {
        format(string, sizeof(string), "ActorID: %i -> has been robbed recently, please try again later!", actorid);
        SendClientMessage(playerid, -1, string);
        return 0;
    }
    else
    {
        new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
        format(string, sizeof(string), "Player %s(%i) has begun robbing actorid: %i", name, playerid, actorid);
        SendClientMessage(playerid, -1, string);
    }
    return 1;
}


public OnPlayerFinishRobbery(playerid, actorid, robbedmoney, type)
{
    new string[128];
    switch(type)
    {
        case TYPE_SUCCESS:
        {
            new robbedmoneyy = random(MAX_MONEY_ROB) + MIN_MONEY_ROB;
			giveMoney(playerid, robbedmoneyy);
   			giveXP(playerid, 5);
			giveScore(playerid, 2);
			format(string, sizeof(string), "[ROBBERY SUCCESS]: You have manage to steal $%i from actorid: %i", robbedmoneyy, actorid);
            SendClientMessage(playerid, -1, string);
            //GivePlayerMoney(playerid, MIN_MONEY_ROB-MAX_MONEY_ROB);
			format(string, sizeof(string), "~w~You stole~n~~g~$%i", robbedmoneyy);
            GameTextForPlayer(playerid, string, 6000, 1);
        }
        case TYPE_FAILED:
        {
            SendClientMessage(playerid, -1, "[ROBBERY FAILED]: Cashier refused to give money!");
            GameTextForPlayer(playerid, "~r~Robbery Failed", 6000, 1);
        }
        case TYPE_UNFINISHED:
        {
            SendClientMessage(playerid, -1, "[ROBBERY FAILED]: You have gone too far away from the actor, he managed to call 911! RUN!");
            GameTextForPlayer(playerid, "~r~Robbery Failed", 6000, 1);
        }
    }
    giveWanted(playerid, 6);
    return 1;
}
Reply


Messages In This Thread
Actor Robbery System - Problem - by BrainDamaged - 26.01.2018, 17:08
Re: Actor Robbery System - Problem - by Fratello - 26.01.2018, 19:34
Re: Actor Robbery System - Problem - by BrainDamaged - 27.01.2018, 09:39
Re: Actor Robbery System - Problem - by wallee - 27.01.2018, 09:43
Re: Actor Robbery System - Problem - by BrainDamaged - 27.01.2018, 10:09
Re: Actor Robbery System - Problem - by OmerKhan - 27.01.2018, 10:15
Re: Actor Robbery System - Problem - by BrainDamaged - 27.01.2018, 10:48

Forum Jump:


Users browsing this thread: 3 Guest(s)