/enter
#1

how to make if player enter a interior he will be freeze for like 3 or 5 seconds. please help me some here.

pawn Код:
if(newkeys & 16 && !IsPlayerInAnyVehicle(playerid))
    {
        if(PlayerTemp[playerid][key_enter] == 2)
        {
            CheckExit(playerid);
            CheckEnter(playerid);
        }
        for( new i; i < sizeof(setting_TP); i++)
        {
            if(setting_TP[i][tEnterX] == 0.0) continue;
            if(IsPlayerInRangeOfPoint(playerid, 2.0, setting_TP[i][tEnterX],setting_TP[i][tEnterY], setting_TP[i][tEnterZ]))
            {
                if(GetPlayerInterior(playerid) == setting_TP[i][tEnterINT] && GetPlayerVirtualWorld(playerid) == setting_TP[i][tEnterVW])
                {
                    SetPlayerPosEx(playerid,setting_TP[i][tExitX],setting_TP[i][tExitY],setting_TP[i][tExitZ],setting_TP[i][tExitINT],setting_TP[i][tExitVW]);
                }
            }
            if(IsPlayerInRangeOfPoint(playerid, 2.0, setting_TP[i][tExitX],setting_TP[i][tExitY],setting_TP[i][tExitZ]))
            {
                if(GetPlayerInterior(playerid) == setting_TP[i][tExitINT] && GetPlayerVirtualWorld(playerid) == setting_TP[i][tExitVW])
                {
                    SetPlayerPosEx(playerid,setting_TP[i][tEnterX],setting_TP[i][tEnterY], setting_TP[i][tEnterZ], setting_TP[i][tEnterINT],setting_TP[i][tEnterVW]);
                }
            }
        }
    }
Reply
#2

create a timer.
Reply
#3

how?
Reply
#4

When using a timer you set the amount of time it takes and then what it runs like so:
Код:
if(newkeys & 16 && !IsPlayerInAnyVehicle(playerid))
    {
        if(PlayerTemp[playerid][key_enter] == 2)
        {
            CheckExit(playerid);
            CheckEnter(playerid);
        }
        for( new i; i < sizeof(setting_TP); i++)
        {
            if(setting_TP[i][tEnterX] == 0.0) continue;
            if(IsPlayerInRangeOfPoint(playerid, 2.0, setting_TP[i][tEnterX],setting_TP[i][tEnterY], setting_TP[i][tEnterZ]))
            {
                if(GetPlayerInterior(playerid) == setting_TP[i][tEnterINT] && GetPlayerVirtualWorld(playerid) == setting_TP[i][tEnterVW])
                {
                    SetPlayerPosEx(playerid,setting_TP[i][tExitX],setting_TP[i][tExitY],setting_TP[i][tExitZ],setting_TP[i][tExitINT],setting_TP[i][tExitVW]);
                    TogglePlayerControllable(playerid, 0); // This freezes the player once he gets moved
                    SetTimerEx("Unfreeze",3000,false,"i",playerid); // This will unfreeze the player after 3 seconds
                }
            }
            if(IsPlayerInRangeOfPoint(playerid, 2.0, setting_TP[i][tExitX],setting_TP[i][tExitY],setting_TP[i][tExitZ]))
            {
                if(GetPlayerInterior(playerid) == setting_TP[i][tExitINT] && GetPlayerVirtualWorld(playerid) == setting_TP[i][tExitVW])
                {
                    SetPlayerPosEx(playerid,setting_TP[i][tEnterX],setting_TP[i][tEnterY], setting_TP[i][tEnterZ], setting_TP[i][tEnterINT],setting_TP[i][tEnterVW]);
                    TogglePlayerControllable(playerid, 0); // This freezes the player once he gets moved
                    SetTimerEx("Unfreeze",3000,false,"i",playerid); // This will unfreeze the player after 3 seconds
                }
            }
        }
    }
This goes down near the bottom, it will unfreeze the player.
Код:
forward Unfreeze(playerid);
public Unfreeze(playerid)
{
TogglePlayerControllable(playerid,1);
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)