Raised This Month: $ Target: $400
 0% 

I can't get my plugin to work


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
Reel mafioso
Member
Join Date: Oct 2014
Location: wouldn't you like to kno
Old 02-04-2015 , 15:31   I can't get my plugin to work
Reply With Quote #1

So hey, it's me again (If you don' know me, be glad) I attempted to make a plugin that changes cvars based on player amount, and failed yet again.
I've tried dozens of combinations, some loops cause immediate server crash, while others increase ping massively.
Here's the code I hope someone could rewrite or help me with :
Code:
/*************************Dynamic cvar changer by Reel Mafioso (Cpl.-ChAoS-)***************************/
/*----------------------------------------------------------------------------------------------------*/
/*****************YOU MAY DISTRIBUTE AND MODIFY AS LONG AS YOU DO NOT MODIFIY THE AUTHOR***************/
#include <amxmodx> 
#include <cstrike> 
public plugin_init()
{
	register_plugin("Change cvars", "1.01", "Reel Mafioso")
	register_event("enforcer", "enforc","a")//Same	
}
public enforcer()
{
	reset:
	get_playersnum()
	if (get_playersnum() == 0)
	{
		goto reset
	}
	else 
	{
		goto switx
	}
	switx:
	switch (get_playersnum())//A switch loop which fires a set of operations based on the returned value from our previous function
	{
		case 1: //In our case, when there is 1 player, execute these operations:
		{
		set_cvar_num("z_health", 400);
		set_cvar_num("z_speed", 290);
		server_cmd("bot_quota 7");
		server_cmd("mp_limitteams 7");
		client_cmd(0, "gamma", "0.1");
		client_cmd(0, "brightness", "0.1");
		server_exec();
		goto reset //Once the cvars are changed, proceed back to begining, in order to continually scan for changes
		}
		case 2: //For 2 players etc.
		{
		set_cvar_num("z_health", 450);
		set_cvar_num("z_speed", 300);
		server_cmd("bot_quota 8");
		server_cmd("mp_limitteams 8");
		server_exec();
		client_cmd(0, "gamma", "0.1");
		client_cmd(0, "brightness", "0.1");
		goto reset
		}
		case 3:
		{
		set_cvar_num("z_health", 450);
		set_cvar_num("z_speed", 300);
		server_cmd("bot_quota 9");
		server_cmd("mp_limitteams 9");
		server_exec();
		client_cmd(0, "gamma", "0.1");
		client_cmd(0, "brightness", "0.1");
		goto reset
		}
		case 4:
		{
		set_cvar_num("z_health", 500);
		set_cvar_num("z_speed", 310);
		server_cmd("bot_quota 10");
		server_cmd("mp_limitteams 10");
		server_exec();
		client_cmd(0, "gamma", "0.1");
		client_cmd(0, "brightness", "0.1");
		goto reset
		}
		case 5:
		{
		set_cvar_num("z_health", 550);
		set_cvar_num("z_speed", 310);
		server_cmd("bot_quota 11");
		server_cmd("mp_limitteams 11");
		server_exec();
		client_cmd(0, "gamma", "0.1");
		client_cmd(0, "brightness", "0.1");
		goto reset
		}
		case 6:
		{
		set_cvar_num("z_health", 600);
		set_cvar_num("z_speed", 320);
		server_cmd("bot_quota 12");
		server_cmd("mp_limitteams 12");
		server_exec();
		client_cmd(0, "gamma", "0.1");
		client_cmd(0, "brightness", "0.1");
		goto reset
		}
		case 7:
		{
		set_cvar_num("z_health", 650);
		set_cvar_num("z_speed", 320);
		server_cmd("bot_quota 13");
		server_cmd("mp_limitteams 13");
		server_exec();
		client_cmd(0, "gamma", "0.1");
		client_cmd(0, "brightness", "0.1");
		goto reset
		}
		case 8:
		{
		set_cvar_num("z_health", 700);
		set_cvar_num("z_speed", 330);
		server_cmd("bot_quota 14");
		server_cmd("mp_limitteams 14");
		server_exec();
		client_cmd(0, "gamma", "0.1");
		client_cmd(0, "brightness", "0.1");
		goto reset
		}
		case 9:
		{
		set_cvar_num("z_health", 750);
		set_cvar_num("z_speed", 330);
		server_cmd("bot_quota 15");
		server_cmd("mp_limitteams 15");
		server_exec();
		client_cmd(0, "gamma", "0.1");
		client_cmd(0, "brightness", "0.1");
		goto reset
		}
		case 10:
		{
		set_cvar_num("z_health", 700);
		set_cvar_num("z_speed", 350);
		server_cmd("bot_quota 16");
		server_cmd("mp_limitteams 16");
		server_exec();
		client_cmd(0, "gamma", "0.1");
		client_cmd(0, "brightness", "0.1");
		goto reset
		}
		case 11:
		{
		set_cvar_num("z_health", 700);
		set_cvar_num("z_speed", 360);
		server_cmd("bot_quota 17");
		server_cmd("mp_limitteams 17");
		server_exec();
		client_cmd(0, "gamma", "0.1");
		client_cmd(0, "brightness", "0.1");
		goto reset
		}
		default: //When no other cases match, this one is used
		{
		set_cvar_num("z_health", 1100);
		set_cvar_num("z_speed", 380);
		server_cmd("bot_quota 6");
		server_cmd("mp_limitteams 6");
		server_exec();
		client_cmd(0, "gamma", "0.1");
		client_cmd(0, "brightness", "0.1");
		goto reset
		}
	}
}
The brutal use of goto is there because any indefinite loop would crash the server. set_task would heavily lag, then cause a crash.
EDIT: Second code i wrote, which also doesn't work :<

Code:
#include <amxmodx> 
#include <cstrike> 
public plugin_init()
{
	register_plugin("Change cvars", "1.01", "Reel Mafioso")
}
public counter()
{
get_playersnum()
}
public enforcer()
{
	get_playersnum();
	if(get_playersnum()==0)
	{
		counter();
	}
	else if(get_playersnum()==1)
	{
		do
		{
			console_print(0, "Level 1 difficulty loaded")
			set_cvar_num("z_health", 400);
			set_cvar_num("z_speed", 290);
			server_cmd("bot_quota 7");
			server_cmd("mp_limitteams 7");
			engclient_cmd(0, "gamma", "0.1");
			engclient_cmd(0, "brightness", "0.1");
		}
		while(get_playersnum() == 1)
	}
	else 
	{
		do 
		{
			console_print(0, "Level 2 difficulty loaded")
			set_cvar_num("z_health", 450);
			set_cvar_num("z_speed", 300);
			server_cmd("bot_quota 8");
			server_cmd("mp_limitteams 8");
			engclient_cmd(0, "gamma", "0.1");
			engclient_cmd(0, "brightness", "0.1");
		}
		while (get_playersnum() != 1)
	}
}

Last edited by Reel mafioso; 02-05-2015 at 13:57. Reason: more info n stuff
Reel mafioso is offline
 



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 20:30.


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