Timer Help
#1

i do a dialog when i ban or kick player now when i banned or kicked him not show the dialog
i thinck i have to but times can one help me whit that to set times

ban cmd:
Код:
CMD:ban(playerid,params[]) {
	if(PlayerInfo[playerid][LoggedIn] == 1) {
		if(PlayerInfo[playerid][Level] >= 2) {
	     	new string2[600]; new y, m, d; new h,mi,s;
		    new tmp[256], tmp2[256], Index;		tmp = strtok(params,Index), tmp2 = strtok(params,Index);
		    if(!strlen(params)) return SendClientMessage(playerid, red, "USAGE: /Ban [playerid] [reason]");
			if(!strlen(tmp2)) return SendClientMessage(playerid, red, "USAGE: /Ban [playerid] [reason]");
	    	new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
			player1 = strval(tmp);
		 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
				GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
				new year,month,day,hour,minuite,second; getdate(year, month, day); gettime(hour,minuite,second);
				CMDMessageToAdmins(playerid,"BAN");
				getdate(y,m,d);
				gettime(h,mi,s);
                format(string2, sizeof(string2),"{CD0000}Banned!\n{FFF8DC}Name:{CD0000} %s\n{FFF8DC}Reason: {CD0000}%s\n{FFF8DC}admin banned you:{CD0000} %s\nDate/Time:[%d/%d/%d]-[%d:%d:%d]\n{CD0000}If you think that you are banned for no reason,\n press F8 and MAke unban on forum.\n Web Site:cod-server.mousika.org",playername,params[2],adminname,d,m,y,h,mi,s);
                ShowPlayerDialog(player1, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[Call OF duty banned]",string2, "Ok", "Ok");
				format(string,sizeof(string),"%s has been banned by Administrator %s.",playername,adminname);
				SendClientMessageToAll(red,string);
				format(string,sizeof(string),"[Reason: %s]",params[2]);
				SendClientMessageToAll(red,string);
                SaveToFile("BanLog",string);
				print(string);
                if(udb_Exists(PlayerName2(player1)) && PlayerInfo[player1][LoggedIn] == 1) dUserSetINT(PlayerName2(player1)).("banned",1);
				format(string,sizeof(string),"banned by Administrator %s. Reason: %s", adminname, params[2] );
				return VBanID(playerid,player1,params[2]);
			} else return SendClientMessage(playerid, red, "Player is not connected or is yourself 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");
}
Kick cmd:
Код:
CMD:kick(playerid,params[]) {
	if(PlayerInfo[playerid][LoggedIn] == 1) {
	    if(PlayerInfo[playerid][Level] >= 1 || PlayerInfo[playerid][Helper] == 1) {
		    new tmp[256], tmp2[256], Index;		tmp = strtok(params,Index), tmp2 = strtok(params,Index);
		    if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /kick [playerid] [reason]");
	    	new player1, playername[MAX_PLAYER_NAME], adminname[MAX_PLAYER_NAME], string[128];
			player1 = strval(tmp);

		 	if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid && (PlayerInfo[player1][Level] != ServerInfo[MaxAdminLevel]) ) {
				GetPlayerName(player1, playername, sizeof(playername));		GetPlayerName(playerid, adminname, sizeof(adminname));
				CMDMessageToAdmins(playerid,"KICK");
				if(PlayerInfo[playerid][LoggedIn] == 1)
				{
				if(PlayerInfo[playerid][Level] >= 1)
				{
				new string2[600]; new y, m, d; new h,mi,s;
                format(string2, sizeof(string2),"{CD0000}Kicked!\n{FFF8DC}Name:{CD0000} %s\n{FFF8DC}Reason: {CD0000}%s\n{FFF8DC}admin Kicked you:{CD0000} %s\nDate/Time:[%d/%d/%d]-[%d:%d:%d]\n{CD0000}If you think that you are Kicked for no reason,\n press F8 and MAke unban on forum.\n Web Site:cod-server.mousika.org",playername,params[2],adminname,d,m,y,h,mi,s);
                ShowPlayerDialog(player1, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[Call OF duty Kick]",string2, "Ok", "Ok");
				if(isnull(tmp2)) {
                    format(string,sizeof(string),"%s has been kicked by Administrator %s [reason: No reason given] ",playername,adminname); SendClientMessageToAll(red,string);
					SaveToFile("KickLog",string); print(string); return Kick(player1);
				} else {
					format(string,sizeof(string),"%s has been kicked by Administrator %s [reason: %s] ",playername,adminname,params[2]); SendClientMessageToAll(red,string);
					SaveToFile("KickLog",string); print(string); return Kick(player1); }
				}
			}
		    if(PlayerInfo[playerid][Helper] == 1)
				{
				new string2[600]; new y, m, d; new h,mi,s;
                format(string2, sizeof(string2),"{CD0000}Kicked!\n{FFF8DC}Name:{CD0000} %s\n{FFF8DC}Reason: {CD0000}%s\n{FFF8DC}Operator Kicked you:{CD0000} %s\nDate/Time:[%d/%d/%d]-[%d:%d:%d]\n{CD0000}If you think that you are Kicked for no reason,\n press F8 and MAke unban on forum.\n Web Site:cod-server.mousika.org",playername,params[2],adminname,d,m,y,h,mi,s);
                ShowPlayerDialog(player1, 20000, DIALOG_STYLE_MSGBOX, "{FFF8DC}[Call OF duty Kick]",string2, "Ok", "Ok");
                  if(isnull(tmp2)) {
					format(string,sizeof(string),"%s has been kicked by Help operator %s [no reason given] ",playername,adminname); SendClientMessageToAll(red,string);
					SaveToFile("KickLog",string);
					print(string);
					return Kick(player1);
				} else {
					format(string,sizeof(string),"%s has been kicked by Help operator %s [reason: %s] ",playername,adminname,params[2]); SendClientMessageToAll(red,string);
					SaveToFile("KickLog",string);
					print(string);
					return Kick(player1); }
				}
			} else return SendClientMessage(playerid, red, "Player is not connected or is yourself 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");
	return 1;
}
Reply
#2

NVM im a retard
Reply
#3

Can you make that to this cmd ?
Reply
#4

CAn some one help me ?
Reply
#5

Pls Some one Help me Guys
Reply
#6

thats because when u do the function "Kick(playerid)" it is placed at top priority and is executed first so dialog dont show up
so solution is timer---
pawn Код:
forward KickPlayer(playerid);//on top
KickPlayer(playerid)//on top
{
Kick(playerid);
return 1;
}
/*================================*/
SetTimerEx("KickPlayer",100,false,"i",playerid);//in ban/kick command after the ShowDialogLine
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)