Disable player keys
#1

Hi guys. I made a /goafk command. I want to disable the player keys when he is afk, so the only thing he can do is typing in chat. How can i do that?

Her is what i already made:
pawn Код:
if (strcmp("/goafk", cmdtext, true, 10) == 0)
    {
        currentvw = GetPlayerVirtualWorld(playerid);
        currentcolor = GetPlayerColor(playerid);
        SetPlayerColor(playerid, COLOR_GREY);
        SetPlayerVirtualWorld(playerid, 5);
        return 1;
    }
   
    if (strcmp("/back", cmdtext, true, 10) == 0)
    {
        SetPlayerColor(playerid, currentcolor);
        SetPlayerVirtualWorld(playerid, currentvw);
        return 1;
    }
And when you type /back, keys will be enabled again.
And i added:
pawn Код:
new currentvw;
new currentcolor;
above.

Hope someone can help me. Thank you.
Reply
#2

Add TogglePlayerControllable to your script. It would be like this:

Код:
if (strcmp("/goafk", cmdtext, true, 10) == 0)
    {
        currentvw = GetPlayerVirtualWorld(playerid);
        currentcolor = GetPlayerColor(playerid);
        SetPlayerColor(playerid, COLOR_GREY);
        SetPlayerVirtualWorld(playerid, 5);
        TogglePlayerControllable(playerid,1);
        return 1;
    }
    
    if (strcmp("/back", cmdtext, true, 10) == 0)
    {
        SetPlayerColor(playerid, currentcolor);
        SetPlayerVirtualWorld(playerid, currentvw);
        TogglePlayerControllable(playerid,0)
        return 1;
    }
Reply
#3

Quote:
Originally Posted by Libra_PL
Посмотреть сообщение
Add TogglePlayerControllable to your script. It would be like this:

Код:
if (strcmp("/goafk", cmdtext, true, 10) == 0)
    {
        currentvw = GetPlayerVirtualWorld(playerid);
        currentcolor = GetPlayerColor(playerid);
        SetPlayerColor(playerid, COLOR_GREY);
        SetPlayerVirtualWorld(playerid, 5);
        TogglePlayerControllable(playerid,1);
        return 1;
    }
    
    if (strcmp("/back", cmdtext, true, 10) == 0)
    {
        SetPlayerColor(playerid, currentcolor);
        SetPlayerVirtualWorld(playerid, currentvw);
        TogglePlayerControllable(playerid,0)
        return 1;
    }
Thank you man! I love you!
Reply
#4

TogglePlayerControllable(playerid, false); This will freeze the player so that his keys gets disabled. But he can chat.

TogglePlayerControllable(playerid, true); This will unfreeze the player so that his keys gets enabled.

More info? TogglePlayerControllable
Reply
#5

Quote:
Originally Posted by deather
Посмотреть сообщение
TogglePlayerControllable(playerid, false); This will freeze the player so that his keys gets disabled. But he can chat.

TogglePlayerControllable(playerid, true); This will unfreeze the player so that his keys gets enabled.

More info? TogglePlayerControllable
Thank you very much!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)