Raised This Month: $51 Target: $400
 12% 

USE BUTTON ONCE SCRIPT ERROR !


Post New Thread Closed Thread   
 
Thread Tools Display Modes
Author Message
Chainz47
Junior Member
Join Date: Jun 2012
Old 07-07-2012 , 20:12   USE BUTTON ONCE SCRIPT ERROR !
#1

L 07/08/2012 - 03:103: Plugin called message_begin with an invalid message id (0).
L 07/08/2012 - 03:103: [AMXX] Displaying debug trace (plugin "use_button_once.amxx")
L 07/08/2012 - 03:103: [AMXX] Run time error 10: native error (native "message_begin")
L 07/08/2012 - 03:103: [AMXX] [0] colorchat.inc::ShowColorMessage (line 83)
L 07/08/2012 - 03:103: [AMXX] [1] colorchat.inc::ColorChat (line 73)
L 07/08/2012 - 03:103: [AMXX] [2] use_button_once.sma::fwButtonUsed (line 269)
L 07/08/2012 - 03:11:07: Plugin called message_begin with an invalid message id (0).
L 07/08/2012 - 03:11:07: [AMXX] Displaying debug trace (plugin "use_button_once.amxx")
L 07/08/2012 - 03:11:07: [AMXX] Run time error 10: native error (native "message_begin")
L 07/08/2012 - 03:11:07: [AMXX] [0] colorchat.inc::ShowColorMessage (line 83)
L 07/08/2012 - 03:11:07: [AMXX] [1] colorchat.inc::ColorChat (line 73)
L 07/08/2012 - 03:11:07: [AMXX] [2] use_button_once.sma::fwButtonUsed (line 269)


wtf ???


My sma:

Code:
/*
Manager of Buttons
for DeathRun

Licence: GPL
Description:
	Allow admin to define how many times every button could be used by Menu.
	Add to game (cvar controlled) FreeRun mode - during round with FR traps can`t 
	be used by defined teams (default Te).

*/
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>
#include <colorchat>

#define PLUGIN "Use button once"
#define VERSION "1.3"
#define AUTHOR "R3X"

#define MAX_BUTTONS 100
#define KeysButtonsMenu (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9) // Keys: 137890
#define KeysOptionsMenu (1<<0)|(1<<1)|(1<<8) //129
#define KeysDelayMenu (1<<0)|(1<<1)|(1<<2)|(1<<8) //1239

#define ANNOUNCE_TASK 10000

#define m_flWait 44

//Main

new gEnt[MAX_BUTTONS];
new gUsed[MAX_BUTTONS];
new giPointer=0;
new gOnStart[MAX_BUTTONS];
new Float:gDefaultDelay[MAX_BUTTONS];
new Float:gDelay[MAX_BUTTONS];

new gInMenu[33];

new gszFile[128];

new giSprite;

new gcvarDefault, gcvarTeam, gcvarFreeRun;
new gcvarLimit, gcvarLimitMode, gcvarPrivilege;
new gcvarMessage, gcvarRestore;

//VOTE

#define TASK_SHOWMENU 432
#define TASK_RES 123

#define MAX_ROUNDS 999

#define KeysFFVote (1<<0)|(1<<1) // Keys: 12

new gcvarFRVoteTime;

new giVoteStart, giVoteTime;

new bool:gbFreeRun=false;
new bool:gbVote=false;

#define VOTE_ON 0
#define VOTE_OFF 1

new giVotes[33][2];

new giRounds=MAX_ROUNDS, giTime=0;

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_dictionary("common.txt");
	register_dictionary("adminvote.txt");
	register_dictionary("use_button_once.txt");
	
	register_menucmd(register_menuid("FRVote"), KeysFFVote, "PressedFRVote");
	register_menucmd(register_menuid("ButtonsMenu"), KeysButtonsMenu, "PressedButtonsMenu");
	register_menucmd(register_menuid("OptionsMenu"), KeysOptionsMenu, "PressedOptionsMenu");
	register_menucmd(register_menuid("DelayMenu"), KeysDelayMenu, "PressedDelayMenu");
	
	register_clcmd("amx_buttons","cmd_amx_buttons",ADMIN_CFG,": Buttons Menu");
	
	//Default count of uses
	gcvarDefault=register_cvar("amx_buttons_default","1");
	//Who plugin analyze
	//0 - anyone(plugin disabled?)
	//1 - Te
	//2 - Ct
	//3 - Te+Ct
	gcvarTeam=register_cvar("amx_buttons_team","1");
	//Enabled FreeRun mode?
	gcvarFreeRun=register_cvar("amx_buttons_freerun","1");
	//Vote time
	gcvarFRVoteTime=register_cvar("amx_freerun_votetime","10");
	
	//Type of limit
	//0 - enabled after 'amx_freerun_limit' rounds
	//1 - enabled after 'amx_freerun_limit' minutes
	gcvarLimitMode=register_cvar("amx_freerun_limit_mode","0");
	//Size of Limit
	gcvarLimit=register_cvar("amx_freerun_limit","5");
	
	//Interval of message
	gcvarMessage=register_cvar("amx_freerun_info","120.0",0,120.0);
	
	//Terrorist`s privilege
	//if he use /free FreeRun will start without vote, can he?
	gcvarPrivilege=register_cvar("amx_freerun_tt_privilege","1");
	
	//restore buttons on new round
	gcvarRestore=register_cvar("amx_restore_buttons","1");
	
	register_clcmd("say /free","cmdVoteFreeRun");
	register_clcmd("say_team /free","cmdVoteFreeRun");
	register_clcmd("say free","cmdVoteFreeRun");
	register_clcmd("say_team free","cmdVoteFreeRun");
	
	register_clcmd("say /freerun","cmdVoteFreeRun");
	register_clcmd("say_team /freerun","cmdVoteFreeRun");
	register_clcmd("say freerun","cmdVoteFreeRun");
	register_clcmd("say_team freerun","cmdVoteFreeRun");
	
	register_clcmd("say /fr","cmdVoteFreeRun");
	register_clcmd("say_team /fr","cmdVoteFreeRun");
	register_clcmd("say fr","cmdVoteFreeRun");
	register_clcmd("say_team fr","cmdVoteFreeRun");
	
	if( engfunc(EngFunc_FindEntityByString,-1 ,"classname", "func_button"))
		RegisterHam(Ham_Use, "func_button", "fwButtonUsed");

	if(engfunc(EngFunc_FindEntityByString,-1 ,"classname","func_rot_button"))
		RegisterHam(Ham_Use, "func_rot_button", "fwButtonUsed");
		
	if(engfunc(EngFunc_FindEntityByString,-1 ,"classname", "button_target"))
		RegisterHam(Ham_Use, "button_target", "fwButtonUsed");
		
	register_logevent( "ResetButtons", 2, "0=World triggered", "1=Round_Start");
	
	fillButtons("func_button");
	fillButtons("func_rot_button");
	fillButtons("button_target");
}
public plugin_cfg(){
	setButtons();
	
	new iLen=0, iMax=charsmax(gszFile);
	iLen=get_configsdir(gszFile, iMax );
	iLen+=copy(gszFile[iLen], iMax-iLen, "/dr_buttons/");
	
	if(!dir_exists(gszFile)){
		set_fail_state("Not found dir: configs/dr_buttons");
		return;
	}
	new szMap[32];
	get_mapname(szMap, 31);
	formatex(gszFile[iLen], charsmax(gszFile)-iLen, "%s.ini", szMap);
	if(!file_exists(gszFile)){
		return;
	}
	new szLine[51];
	new szButton[4], szTimes[3], szDelay[5];
	new Float:fDelay;
	for(new i=0;read_file(gszFile, i, szLine, 50, iLen);i++){
		if(iLen==0) continue;
		trim(szLine);
		if(szLine[0]==';') continue;
		parse(szLine, szButton, 3, szTimes, 2, szDelay, 4);
		fDelay=szDelay[0]?str_to_float(szDelay):-1.0;
		set_start_value(str_to_num(szButton), str_to_num(szTimes), fDelay);
	}
	new Float:fInterval=get_pcvar_float(gcvarMessage);
	if(fInterval > 0.0)
		set_task(120.0, "announceVote",ANNOUNCE_TASK,_,_,"b");
}
public plugin_precache(){
	giSprite=precache_model("sprites/flare1.spr");
	
}
public client_putinserver(id){
	if(!is_user_bot(id))
		eventInGame(id);
}
public client_connect(id){
	giVotes[id][VOTE_ON]=0;
	giVotes[id][VOTE_OFF]=0;
}
public announceVote(){
	if(get_pcvar_num(gcvarFreeRun))
		ColorChat(0,GREEN, "[FreeRun]^x01 %L",LANG_SERVER, "ANNOUNCE");
}
setButtons(){
	new iDef=get_pcvar_num(gcvarDefault);
	for(new i=0;i<giPointer;i++){
		gUsed[i]=iDef;
		gOnStart[i]=iDef;
		gDelay[i]=get_pdata_float(gEnt[i],m_flWait);
		gDefaultDelay[i]=gDelay[i];
	}
}
fillButtons(const szClass[]){
	new ent = -1;
	while((ent = engfunc(EngFunc_FindEntityByString,ent ,"classname", szClass)) != 0){
		gEnt[giPointer++]=ent;
		set_pev(ent, pev_iuser4, giPointer);
	}
}
set_start_value(ent, times, Float:delay){
	new index=get_ent_index(ent);
	if(index!=-1){
		gOnStart[index]=times;
		if(delay>=0.0)
			gDelay[index]=delay;
	}
}
get_ent_index(ent){
	/*
	for(new i=0;i<giPointer;i++)
		if(gEnt[i]==ent) return i;
	return -1;
	*/
	return pev(ent, pev_iuser4)-1;
}
restoreButton(ent){
	if(pev(ent, pev_frame) > 0.0){
		new Float:Life;
		pev(ent, pev_nextthink, Life);
		set_pev(ent, pev_ltime, Life-0.01);
	}
}
public ResetButtons(){
	gbFreeRun=false;
	gbVote=false;
	new bool:bRestore=get_pcvar_num(gcvarRestore)!=0;
	for(new i=0;i<MAX_BUTTONS;i++){
		gUsed[i]=gOnStart[i];
		if(bRestore){
			restoreButton(gEnt[i]);
		}
	}
	giRounds++;
}
public fwButtonUsed(this, idcaller, idactivator, use_type, Float:value){
	if(idcaller!=idactivator) return HAM_IGNORED;
	
	if(pev(this, pev_frame) > 0.0)
		 return HAM_IGNORED;
	new index=get_ent_index(this);
	if(index==-1) 
		return HAM_IGNORED;
	if(get_user_team(idcaller)&get_pcvar_num(gcvarTeam)){
		
		if(gbFreeRun){
			ColorChat(idcaller,GREEN, "[FreeRun]^x01 %L",idcaller, "BUTTON_FREERUN");
			return HAM_SUPERCEDE;
		}
		else if(gUsed[index]<=0 && gOnStart[index]!=-1){
			ColorChat(idcaller,GREEN, "[Info]^x01 %L",idcaller,"BUTTON_NOMORE");
			return HAM_SUPERCEDE;
		}
		else{
			if(gUsed[index]>0)
				if(--gUsed[index]){
					ColorChat(idcaller, GREEN, "[Info]^x01 %L", idcaller, "BUTTON_LEFT", gUsed[index]);
				}else
					ColorChat(idcaller, GREEN, "[Info]^x01 %L", idcaller, "BUTTON_ENDOFLIMIT");
		}
	}
	
	set_task(0.1,"setDelay",this);
	
	return HAM_IGNORED;
}
public setDelay(this){
	new index=get_ent_index(this);
	set_pev(this, pev_nextthink, pev(this, pev_ltime)+gDelay[index]+0.01);
}

//MENU--------------
public cmd_amx_buttons(id, level, cid){
	if(!cmd_access(id, level, cid, 1))
		return PLUGIN_HANDLED;
	if(giPointer==0)
		client_print(id, print_chat, "%L", id,"NO_BUTTONS");
	else
		ShowButtonsMenu(id);
	return PLUGIN_HANDLED;
}
ShowButtonsMenu(id, trace=1){
	if(!is_user_alive(id)){
		client_print(id, print_center, "%L",id, "MUST_B_ALIVE");
		return;
	}
	new iNow=gInMenu[id];
	new iKeys=(1<<0)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<9);
	new szMenu[196], iLen, iMax=(sizeof szMenu) - 1;
	new szNoLimit[32];
	formatex(szNoLimit,31,"(%L)",id,"NOLIMIT");
	iLen=copy(szMenu, iMax,"\yButtons Menu^n");
	iLen+=formatex(szMenu[iLen], iMax-iLen,"\wEnt#%d^n^n",gEnt[iNow]);
	iLen+=formatex(szMenu[iLen], iMax-iLen,"%L: %d %s^n\y1\w. %L ",id, "USAGE",gOnStart[iNow],(gOnStart[iNow]==-1)?szNoLimit:"", id, "MORE");
	
	if(gOnStart[iNow]>=0){
		iLen+=formatex(szMenu[iLen], iMax-iLen,"\y2\w. %L",id, "WORD_LESS");
		iKeys|=(1<<1);
	}else
		iLen+=formatex(szMenu[iLen], iMax-iLen,"\d2. %L\w",id,"WORD_LESS");
	iLen+=formatex(szMenu[iLen], iMax-iLen,"^n^n3. %L^n^n4. %L^n^n",id, "DELAY_EDITOR",id,"OPTIONS");
	
	iLen+=formatex(szMenu[iLen], iMax-iLen,"5. %sNo Clip\w^n",isNoClip(id)?"\r":"");
	iLen+=formatex(szMenu[iLen], iMax-iLen,"6. %sGodMode\w^n",isGodMode(id)?"\r":"");
	
	iLen+=formatex(szMenu[iLen], iMax-iLen,"^n7. \r%L^n\w",id, "WORD_SAVE");
	
	if(iNow>0){
		iLen+=formatex(szMenu[iLen], iMax-iLen,"^n8. %L",id, "BACK");
		iKeys|=(1<<7);
	}
	if(iNow<giPointer-1){
		iLen+=formatex(szMenu[iLen], iMax-iLen,"^n9. %L",id, "WORD_NEXT");
		iKeys|=(1<<8);
	}
	iLen+=formatex(szMenu[iLen], iMax-iLen,"^n0. %L", id, "EXIT");
	show_menu(id, iKeys, szMenu, -1, "ButtonsMenu");
	if(trace){
		new Float:fOrigin[3], Float:fOrigin2[3];
		fm_get_brush_entity_origin(gEnt[gInMenu[id]], fOrigin);
		pev(id, pev_origin, fOrigin2);
		Create_TE_BEAMPOINTS(fOrigin, fOrigin2, giSprite, 0, 10, 20, 5, 1, 255, 0, 0, 100, 50);
	}
}
bool:isNoClip(id)
	return pev(id, pev_movetype)==MOVETYPE_NOCLIP;
	
bool:isGodMode(id)
	return pev(id, pev_takedamage)==0.0;
	
public PressedButtonsMenu(id, key) {
	if(!is_user_alive(id)){
		client_print(id, print_center, "%L",id,"MUST_B_ALIVE");
		return;
	}
	/* Menu:
	* Buttons Menu
	* Ent#<ent>
	* 
	* Uzyc: <ile>
	* 1. Wiecej 2. Mniej
	* 
	* 3. Editor
	*
	* 4. Options
	*
	* 5. NoClip
	* 6. GodMode
	* 
	* 7. Zapisz
	* 
	* 8. Poprzedni
	* 9. Nastepny
	* 0. Wyjdz
	*/
	new trace=0;
	switch (key) {
		case 0: { // 1
			gOnStart[gInMenu[id]]++;
		}
		case 1: { // 2
			gOnStart[gInMenu[id]]--;
		}
		case 2: { // 3
			ShowDelayMenu(id);
			return;
		}
		case 3:{ //4
			ShowOptionsMenu(id);
			return;
		}
		case 4:{ //5
			set_pev(id, pev_movetype, isNoClip(id)?MOVETYPE_WALK:MOVETYPE_NOCLIP);	
		}
		case 5:{ //6
			set_pev(id, pev_takedamage, isGodMode(id)?1.0:0.0);
		}
		case 6: { // 7
			save2File(id);
		}
		case 7: { // 8
			gInMenu[id]--;
			trace=1;
		}
		case 8: { // 9
			gInMenu[id]++;
			trace=1;
		}
		case 9: { // 0
			return;
		}
	}
	ShowButtonsMenu(id, trace);
}
//--------------
ShowOptionsMenu(id){
	if(!is_user_alive(id)){
		client_print(id, print_center, "%L",id,"MUST_B_ALIVE");
		return;
	}
	new szMenu[196], iLen, iMax=(sizeof szMenu) - 1;
	iLen+=formatex(szMenu[iLen], iMax-iLen,"\yOptions^n^n");
	iLen+=formatex(szMenu[iLen], iMax-iLen,"\w1. %L^n",id, "GOTO");
	iLen+=formatex(szMenu[iLen], iMax-iLen,"2. %L^n^n",id, "NEAREST");
	iLen+=formatex(szMenu[iLen], iMax-iLen,"9. %L",id, "BACK");
	show_menu(id, KeysOptionsMenu, szMenu, -1, "OptionsMenu");
}
public PressedOptionsMenu(id, key){
	if(!is_user_alive(id)){
		client_print(id, print_center, "%L",id,"MUST_B_ALIVE");
		return;
	}
	new trace=0;
	switch (key) {
		case 0: { // 1
			go2Button(id);
		}
		case 1: { // 2
			gInMenu[id]=findTheClosest(id);
			trace=1;
		}
	}
	ShowButtonsMenu(id, trace);
}
//-------------
ShowDelayMenu(id){
	if(!is_user_alive(id)){
		client_print(id, print_center, "%L",id,"MUST_B_ALIVE");
		return;
	}
	new iNow=gInMenu[id];
	new iKeys=(1<<0)|(1<<2)|(1<<8);
	new szMenu[196], iLen, iMax=(sizeof szMenu) - 1;
	iLen=copy(szMenu, iMax,"\yDelay Menu^n");
	iLen+=formatex(szMenu[iLen], iMax-iLen,"\wEnt#%d^n^n",gEnt[iNow]);
	iLen+=formatex(szMenu[iLen], iMax-iLen,"%L: %.1f^n",id, "CURRENT_DELAY", gDelay[iNow]);
	iLen+=formatex(szMenu[iLen], iMax-iLen,"\y1\w. %L ",id, "MORE");
	if(gDelay[iNow]>0.0){
		iLen+=formatex(szMenu[iLen], iMax-iLen,"\y2\w. %L",id, "WORD_LESS");
		iKeys|=(1<<1);
	}else
		iLen+=formatex(szMenu[iLen], iMax-iLen,"\d2. %L\w",id,"WORD_LESS");
	iLen+=formatex(szMenu[iLen], iMax-iLen,"^n3. %L",id, "DEFAULT");
	iLen+=formatex(szMenu[iLen], iMax-iLen,"^n^n9. %L",id, "BACK");
	show_menu(id, iKeys, szMenu, -1, "DelayMenu");
}
public PressedDelayMenu(id, key){
	new iNow=gInMenu[id];
	switch(key){
		case 0:{
			gDelay[iNow]+=1.0;
		}
		case 1:{
			gDelay[iNow]-=1.0;
			if(gDelay[iNow] < 0.0)
				gDelay[iNow]=0.0;
		}
		case 2:{
			gDelay[iNow]=gDefaultDelay[iNow];
		}
		case 8:{
			ShowButtonsMenu(id, 0);
			return;
		}
	}
	ShowDelayMenu(id);
}
//-------------
save2File(id){
	if(file_exists(gszFile))
		delete_file(gszFile);
	write_file(gszFile, ";<ent> <count> <delay>");
	new szLine[35];
	for(new i=0;i<giPointer;i++){
		formatex(szLine, 34, "%d %d %.1f",gEnt[i], gOnStart[i], gDelay[i]);
		write_file(gszFile, szLine);
	}
	client_print(id, print_center, "%L!",id,"WORD_SAVED");
}
findTheClosest(id){
	new Float:fPlayerOrig[3];
	pev(id, pev_origin, fPlayerOrig);
	new Float:fOrigin[3];
	fm_get_brush_entity_origin(gEnt[0], fOrigin);
	
	new Float:fRange=get_distance_f(fOrigin, fPlayerOrig), index=0;
	new Float:fNewRange;
	for(new i=1;i<giPointer;i++){
		fm_get_brush_entity_origin(gEnt[i], fOrigin);
		fNewRange=get_distance_f( fOrigin,  fPlayerOrig);
		if(fNewRange < fRange){
			fRange=fNewRange;
			index=i;
		}
	}
	return index;
}
go2Button(id, ent=-1){
	if(ent==-1)
		ent=gInMenu[id];
	ent=gEnt[ent];
	if(!pev_valid(ent)){
		client_print(id, print_center, "%L",id,"NOTARGET");
		return;
	}
	new Float:fOrigin[3];
	fm_get_brush_entity_origin(ent, fOrigin);
	set_pev(id, pev_origin, fOrigin);
	client_print(id, print_chat, "PS. No Clip :)");
}
//FreeRun
public cmdVoteFreeRun(id){
	if(get_pcvar_num(gcvarFreeRun)==0){
		ColorChat(id, GREEN, "[FreeRun]^x01 %L",id,"FREERUN_DISABLED");
		return PLUGIN_HANDLED;
	}
	if(gbVote){
		ColorChat(id, GREEN, "[FreeRun]^x01 %L",id,"FREERUN_VOTE_IS_NOW");
		return PLUGIN_HANDLED;
	}
	if(!is_user_alive(id)){
		client_print(id, print_center, "%L",id, "MUST_B_ALIVE");
		return PLUGIN_HANDLED;
	}
	if(get_pcvar_num(gcvarPrivilege)!=0 && !gbFreeRun && get_user_team(id)==1){
		ColorChat(id, GREEN, "[FreeRun]^x01 %L",id,"FREERUN_TT_DECIDED");
		makeFreeRun(true);
		return PLUGIN_HANDLED;
	}
	new iLimit=get_pcvar_num(gcvarLimit);
	new iOffset=0;
	if(get_pcvar_num(gcvarLimitMode)){
		iOffset = ( giTime + iLimit * 60 )  - get_systime();
		if( iOffset > 0 ){
		 	ColorChat(id, GREEN, "[FreeRun]^x01 %L",id,"FREERUN_NEXT_VOTE_TIME", iOffset/60, iOffset%60);
			return PLUGIN_HANDLED;
		}
	}
	else{
		iOffset =  min(MAX_ROUNDS, iLimit) - giRounds;
		if( iOffset > 0 ){
		 	ColorChat(id, GREEN, "[FreeRun]^x01 %L",id,"FREERUN_NEXT_VOTE_ROUNDS", iOffset);
			return PLUGIN_HANDLED;
		}
	}
	
	makeVote();
	return PLUGIN_CONTINUE;
}
//FREERUN
public makeVote(){
	giVoteTime=get_pcvar_num(gcvarFRVoteTime);
	gbVote=true;
	giVoteStart=get_systime();
	set_task(float(giVoteTime), "resultsOfVote", TASK_RES);
	new Players[32], playerCount;
	new id;
	get_players(Players, playerCount);
	for (new i=0; i<playerCount; i++){
		id = Players[i]; 
		eventInGame(id);
	}
	
}
public resultsOfVote(tid){
	gbVote=false;
	
	new giVotesOn=count(VOTE_ON);
	new giVotesOff=count(VOTE_OFF);
	
	ColorChat(0,GREEN, "[FreeRun]^x01 %L %L(%d) vs %L(%d)",LANG_SERVER,"FREERUN_RESULTS",LANG_SERVER,"YES",giVotesOn,LANG_SERVER,"NO", giVotesOff);
	
	if( giVotesOn == giVotesOff ){
		ColorChat(0,GREEN, "[FreeRun]^x01 %L",LANG_SERVER,"FREERUN_TIE");
		return;
	}
	makeFreeRun((giVotesOn > giVotesOff));
	ColorChat(0,GREEN, "[FreeRun]^x01 %L ^x03%L",LANG_SERVER,"FREERUN_WINOPTION",LANG_SERVER, gbFreeRun?"YES":"NO");
}
makeFreeRun(bool:bFR=true){
	gbFreeRun=bFR;
	reset();
	giRounds=0;
	giTime=get_systime();
	
	if(gbFreeRun){
		set_hudmessage(0, 255, 255, 0.02, -1.0);
		show_hudmessage(0, "FreeRun!");
	}
	
}
count(VOTE_STATE){
	new iCounter=0;
	for(new i=1;i<33;i++)
		if(giVotes[i][VOTE_STATE])
			iCounter++;
	return iCounter;
}
reset(){
	for(new i=1;i<33;i++){
		giVotes[i][VOTE_ON]=0;
		giVotes[i][VOTE_OFF]=0;
	}
}
public show_menu_(tid){
	new id=tid-TASK_SHOWMENU;
	new iTeam=get_user_team(id);
	new menu_id, keys;
	new menuUp = player_menu_info( id, menu_id, keys );
	// Only display menu if another isn't shown
	if ( iTeam && (menuUp <= 0 || menu_id < 0) ){
		new iTime=get_pcvar_num(gcvarFRVoteTime);
		new iOffset=get_systime()-giVoteStart;
		iTime-=iOffset;
		new szMenu[128];
		formatex(szMenu, 127, "\y%L^n^n\w1. %L^n2. %L",id,"FREERUN_VOTEMENU",id,"YES",id,"NO");
		show_menu(id, KeysFFVote, szMenu, iTime, "FRVote");
	}else
		set_task(1.0, "show_menu_", tid);
}
public eventInGame(id){
	if(giVotes[id][VOTE_ON] || giVotes[id][VOTE_OFF])
		return;
	if(gbVote)
		set_task(1.0, "show_menu_", id+TASK_SHOWMENU);
}
public PressedFRVote(id, key) {
	if(gbVote==false) return;
	switch (key) {
		case VOTE_ON: { // 1
			giVotes[id][VOTE_ON]=1;
		}
		case VOTE_OFF: { // 2
			giVotes[id][VOTE_OFF]=1;
		}
		default:{
			return;
		}
	}
	new szName[32];
	get_user_name(id, szName, 31);
	
	client_print(0, print_chat, "* %L",LANG_PLAYER,(key==VOTE_ON)?"VOTED_FOR":"VOTED_AGAINST", szName);
}

stock Create_TE_BEAMPOINTS(Float:start[3], Float:end[3], iSprite, startFrame, frameRate, life, width, noise, red, green, blue, alpha, speed){
	message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
	write_byte( TE_BEAMPOINTS )
	write_coord( floatround(start[0]) )
	write_coord( floatround(start[1]) )
	write_coord( floatround(start[2]) )
	write_coord( floatround(end[0]) )
	write_coord( floatround(end[1]) )
	write_coord( floatround(end[2]) )
	write_short( iSprite )			// model
	write_byte( startFrame )		// start frame
	write_byte( frameRate )			// framerate
	write_byte( life )				// life
	write_byte( width )				// width
	write_byte( noise )				// noise
	write_byte( red)				// red
	write_byte( green )				// green
	write_byte( blue )				// blue
	write_byte( alpha )				// brightness
	write_byte( speed )				// speed
	message_end()
}
stock fm_get_brush_entity_origin(ent, Float:fOrigin[3]){
	new Float:fMins[3], Float:fMaxs[3];
	pev(ent, pev_mins, fMins);
	pev(ent, pev_maxs, fMaxs);
	
	for(new i=0;i<3;i++)
		fOrigin[i]=(fMins[i]+fMaxs[i])/2;
}
please fix this...
Chainz47 is offline
wickedd
Veteran Member
Join Date: Nov 2009
Old 07-07-2012 , 20:33   Re: USE BUTTON ONCE SCRIPT ERROR !
#2

Wrong forum. Post your problem where you got the plugin.
__________________
Just buy the fucking game!!!!
I hate No-Steamers and lazy ass people.
wickedd is offline
Closed Thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 08:13.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode