SA-MP Forums Archive
timer - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: timer (/showthread.php?tid=594568)



timer - sanamalik400 - 20.11.2015

how can i show timer for player like GameTextForPlayer +rep for help
PHP код:
forward JailPlayer(player1);
public 
JailPlayer(player1)
{
    
ResetPlayerWeapons(player1);
    
SetPlayerInterior(player1, 3);
    
TogglePlayerControllable(player1,true);
    
SetPlayerPos(player1,197.6661,173.8179,1003.0234);
    
SetCameraBehindPlayer(player1);
    
JailTimer[player1] = SetTimerEx("JailRelease",PlayerInfo[player1][JailTime],0,"d",player1);
    
PlayerInfo[player1][Jailed] = 1;
} 



Re: timer - iGetty - 20.11.2015

pawn Код:
new plTimer[MAX_PLAYERS], plSeconds[MAX_PLAYERS];

public OnPlayerDisconnect(playerid, reason){
    KillTimer(plTimer[playerid]);
    return 1;
}

public OnPlayerConnect(playerid){
    plTimer[playerid] = SetTimerEx("secondTimer", 1000, true, "i", playerid);
    plSeconds[playerid] = 0;
    return 1;
}

forward secondTimer(playerid);
public secondTimer(playerid){
    new str[30];
    plSeconds[playerid] ++;
   
    format(str, sizeof(str), "%d seconds", plSeconds[playerid]);
    GameTextForPlayer(playerid, str, 3000, 5);
    return 1;
}
There's an example for you.


Re: timer - Sew_Sumi - 20.11.2015

Quote:
Originally Posted by iGetty
Посмотреть сообщение
There's an example for you.
pawn Код:
GameTextForPlayer(playerid, str, 1000, 5);
3000 will be 3 seconds shown, for a 1 second need.


Re: timer - iGetty - 20.11.2015

Style 5
Displays for 3 seconds, regardless of what time you set. Will refuse to be shown if it is 'spammed'.

https://sampwiki.blast.hk/wiki/GameTextStyle


Re: timer - Sew_Sumi - 20.11.2015

Should use 3 or 4 then huh...


Re: timer - sanamalik400 - 20.11.2015

igetty ur code not working ..i mean have some bugs but my code have jail time ..it just not showing me text..just want to make text which shows to player
Quote:

forward Jail1(player1);
public Jail1(player1)
{
TogglePlayerControllable(player1,false);
new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z);
SetPlayerCameraPos(player1,x+10,y,z+10);SetPlayerC ameraLookAt(player1,x,y,z);
Jail2(player1);
}

forward Jail2(player1);
public Jail2(player1)
{
new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z);
SetPlayerCameraPos(player1,x+7,y,z+5); SetPlayerCameraLookAt(player1,x,y,z);
if(GetPlayerState(player1) == PLAYER_STATE_ONFOOT) SetPlayerSpecialAction(player1,SPECIAL_ACTION_HAND SUP);
GameTextForPlayer(player1,"~r~Busted By Admins",3000,3);
Jail3(player1);
}

forward Jail3(player1);
public Jail3(player1)
{
new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z);
SetPlayerCameraPos(player1,x+3,y,z); SetPlayerCameraLookAt(player1,x,y,z);
}

forward JailPlayer(player1);
public JailPlayer(player1)
{
ResetPlayerWeapons(player1);
SetPlayerInterior(player1, 3);
TogglePlayerControllable(player1,true);
SetPlayerPos(player1,197.6661,173.8179,1003.0234);
SetCameraBehindPlayer(player1);
JailTimer[player1] = SetTimerEx("JailRelease",PlayerInfo[player1][JailTime],0,"d",player1);
PlayerInfo[player1][Jailed] = 1;
}
forward MutePlayer(player1);
public MutePlayer(player1)
{
MuteTimer[player1] = SetTimerEx("Muteoff",PlayerInfo[player1][MuteTime],0,"d",player1);
PlayerInfo[player1][Muted] = 1;
}
forward Muteoff(player1);
public Muteoff(player1)
{
KillTimer( MuteTimer[player1] );
PlayerInfo[player1][MuteTime] = 0; PlayerInfo[player1][Muted] = 0;
PlayerPlaySound(player1,1057,0.0,0.0,0.0);

GameTextForPlayer(player1,"~r~unmuted",3000,3);
}

forward JailRelease(player1);
public JailRelease(player1)
{
KillTimer( JailTimer[player1] );
PlayerInfo[player1][JailTime] = 0; PlayerInfo[player1][Jailed] = 0;
SetPlayerInterior(player1,0); SetPlayerPos(player1, 0.0, 0.0, 0.0); SpawnPlayer(player1);
PlayerPlaySound(player1,1057,0.0,0.0,0.0);

GameTextForPlayer(player1,"~g~Released ~n~From Jail",3000,3);
}




Re: timer - Sew_Sumi - 20.11.2015

You need to make some of those, parts of the commands that fire them.

Amalgamate things a bit, and use correct indentation...


Re: timer - sanamalik400 - 20.11.2015

here is jail cmd..can u make.. i m newbie..and i just need a gametext and u couldnt
Quote:

CMD:jail(playerid,params[]) {
if(PlayerInfo[playerid][LoggedIn] == 1) {
if(PlayerInfo[playerid][Level] >= 1) {
new tmp[256], tmp2[256], tmp3[256], Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index), tmp3 = strtok(params,Index);
if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /jail [playerid] [minutes] [reason]");
new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
player1 = strval(tmp);

if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
if(PlayerInfo[player1][Jailed] == 0) {
GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
new jtime = strval(tmp2);
if(jtime == 0) jtime = 9999;

CMDMessageToAdmins(playerid,"JAIL");
PlayerInfo[player1][JailTime] = jtime*1000*60;
SetTimerEx("JailPlayer",5000,0,"d",player1);
SetTimerEx("Jail1",1000,0,"d",player1);
PlayerInfo[player1][Jailed] = 1;
PlayerPlaySound(player1,1057,0.0,0.0,0.0);

if(jtime == 9999) {
if(!strlen(params[strlen(tmp2)+1])) format(string,sizeof(string),"Administrator %s has jailed %s ",adminname, playername);
else format(string,sizeof(string),"Administrator %s has jailed %s [reason: %s]",adminname, playername, params[strlen(tmp)+1] );
} else {
if(!strlen(tmp3)) format(string,sizeof(string),"Administrator %s has jailed %s for %d minutes",adminname, playername, jtime);
else format(string,sizeof(string),"Administrator %s has jailed %s for %d minutes [reason: %s]",adminname, playername, jtime, params[strlen(tmp2)+strlen(tmp)+1] );
}
return SendClientMessageToAll(blue,string);
} else return SendClientMessage(playerid, red, "Player is already in jail");
} else return SendClientMessage(playerid, red, "Player is not connected or is the highest level admin");
} else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
} else return SendClientMessage(playerid,red,"ERROR: You must be logged in to use this commands");
}