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

help set max level to use hero


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Brun2Kill.
Member
Join Date: Oct 2011
Old 10-18-2011 , 22:24   help set max level to use hero
Reply With Quote #1

i want to delet some heros form the list in specific lvl's.
in lvl 4 we not need spider-man if we open bat-girl in lvl4 (same just better),
we can give up about spidy... its make much trush in heromenu at max lvl (100heros).

so i wrote in
cstrike\addons\amxmodx\configs\shero\shconfig .cfg
"maxlevel" to spydi :

Code:
//Spiderman
spiderman_level 0
spiderman_maxlevel 4
spiderman_moveacc 300   //How quickly he can move while on the hook
spiderman_reelspeed 400   //How fast hook line reels in
spiderman_hookstyle 2   //1=spacedude, 2=spacedude auto reel (spiderman), 3=cheap kids real (batgirl)
spiderman_teamcolored 1   //1=teamcolored web lines 0=white web lines
spiderman_maxhooks 60
i seen some heros with that command and its work, with spidy no...
so i understood the hero need to know that option on his plugin.
its mean to edit the hero like here?
http://forums.alliedmods.net/showthread.php?t=150350

have'nt other way to clear the heros form the list in specific level's?
without start to edit one by one the heros plugin?! (have 100 !!!! )

Last edited by Brun2Kill.; 10-18-2011 at 22:32.
Brun2Kill. is offline
Jelle
[b]MOAR CANDY[/b]
Join Date: Aug 2009
Location: Denmark
Old 10-19-2011 , 03:24   Re: help set max level to use hero
Reply With Quote #2

Why don't you just leave it to the user to decide if he wants spiderman or not at level 4?
__________________
No idea what to write here...
Jelle is offline
Send a message via MSN to Jelle
The Art of War
Veteran Member
Join Date: Dec 2009
Location: Sweden Rock Festival
Old 10-19-2011 , 03:51   Re: help set max level to use hero
Reply With Quote #3

Do you want a level limit or just remove it from specific levels?..
__________________
The Art of War is offline
Brun2Kill.
Member
Join Date: Oct 2011
Old 10-19-2011 , 07:47   Re: help set max level to use hero
Reply With Quote #4

Jelle

i not want in level 10 the player well 90000HP and 329402492304AR..
i want somthink like in level 1 leet the player to use COLLA LOVER (800HP and 800AR)
and after Auto drop -> Super-man (just 150hp-150ar),
the lower level have sthronger heros but only 1,2 and after 10heros but not too stronger
It seems to me harder and give some proportion...


The Art of War

i need level limit to the heros but i cant think about anther away form edit plug by plug
so i think just to remove him form list at specific level no?
have some solution?

Last edited by Brun2Kill.; 10-19-2011 at 07:53.
Brun2Kill. is offline
The Art of War
Veteran Member
Join Date: Dec 2009
Location: Sweden Rock Festival
Old 10-19-2011 , 09:15   Re: help set max level to use hero
Reply With Quote #5

To my knowledge you could but why.. Just set a level limit on them, and yes, all of them.
__________________
The Art of War is offline
G-Dog
Senior Member
Join Date: Dec 2005
Location: Thunderstorm Central
Old 10-19-2011 , 09:36   Re: help set max level to use hero
Reply With Quote #6

just for the hell of it, modified my central admin restriction plugin to now also include max level limitations to help cut down on these types of requests.

p.s. plugin untested so let me know if you have problems, and just as with the original admin restricter(why I never made an actual thread for the plugin) you have to alter superhero slightly to fix a couple issues, which those changes are listed in a comment at the top of this plugin.
Attached Files
File Type: ini admin_restrict.ini (1.1 KB, 143 views)
File Type: sma Get Plugin or Get Source (sh_adminrestrict.sma - 563 views - 10.1 KB)
__________________
If at first you don't succeed, then skydiving isn't for you.

Last edited by G-Dog; 10-21-2011 at 15:12.
G-Dog is offline
Send a message via AIM to G-Dog
The Art of War
Veteran Member
Join Date: Dec 2009
Location: Sweden Rock Festival
Old 10-19-2011 , 09:59   Re: help set max level to use hero
Reply With Quote #7

Quote:
Originally Posted by G-Dog View Post
just for the hell of it, modified my central admin restriction plugin to now also include max level limitations to help cut down on these types of requests.

p.s. plugin untested so let me know if you have problems, and just as with the original admin restricter(why I never made an actual thread for the plugin) you have to alter superhero slightly to fix a couple issues, which those changes are listed in a comment at the top of this plugin.
But it should be possible to make a similar level check in hero_init and then only make people drop heroes if they are on a certain level right? Been out of the game for a while :/ But yeh can't see the point in having a hero on levels 1-5, then not on levels 6-10, and then on level 11-20 again..
__________________
The Art of War is offline
Brun2Kill.
Member
Join Date: Oct 2011
Old 10-19-2011 , 10:03   Re: help set max level to use hero
Reply With Quote #8

The Art of War

set max limit level ** ( i not want lvl 20 use spiderman and hulk.,. getit?)
edit: i want put spidy 0-5 and nothing more.. ..after batgirl 5-10


G-Dog

mm??
put that plugin and edit sma of heros 1by1 ?
what after ? how excly set the limint ????
(i dont know to program :[ soryy about the lame.)
edit: give me exm on spydi plz (the start lvl i know how to. the max lvl is the problem yes??) -
(if you can mark in red the change's on the code pleas)
Code:
// SPIDERMAN! - BASED ON SPACEDUDE'S NINJA HOOK

/* CVARS - copy and paste to shconfig.cfg

//Spiderman
spiderman_level 0
spiderman_moveacc 140		//How quickly he can move while on the hook
spiderman_reelspeed 400		//How fast hook line reels in
spiderman_hookstyle 2		//1=spacedude, 2=spacedude auto reel (spiderman), 3=cheap kids real	(batgirl)
spiderman_teamcolored 1		//1=teamcolored web lines 0=white web lines
spiderman_maxhooks 60		//Max ammout of hooks allowed (-1 is an unlimited ammount)

*/

#include <amxmod>
#include <Vexd_Utilities>
#include <superheromod>

#if defined AMX98
	#include <xtrafun>  //Only for the constants, doesn't use any functions
#endif

// GLOBAL VARIABLES
#define HOOKBEAMLIFE  100
#define HOOKBEAMPOINT 1
#define HOOKKILLBEAM  99
#define HOOK_DELTA_T  0.1  // units per second

new gHeroName[]="Spider-Man"
new bool:gHasSpiderPower[SH_MAXSLOTS+1]
new g_hookLocation[SH_MAXSLOTS+1][3]
new g_hookLength[SH_MAXSLOTS+1]
new bool:g_hooked[SH_MAXSLOTS+1]
new Float:g_hookCreated[SH_MAXSLOTS+1]
new g_hooksLeft[SH_MAXSLOTS+1]
new g_spriteWeb
//----------------------------------------------------------------------------------------------
public plugin_init()
{
	// Plugin Info
	register_plugin("SUPERHERO Spider-Man","1.18","{HOJ} Batman/JTP10181")

	// DO NOT EDIT THIS FILE TO CHANGE CVARS, USE THE SHCONFIG.CFG
	register_cvar("spiderman_level", "0" )
	register_cvar("spiderman_moveacc", "140" )
	register_cvar("spiderman_reelspeed", "400" )
	register_cvar("spiderman_hookstyle", "2" )
	register_cvar("spiderman_maxhooks", "60" )
	register_cvar("spiderman_teamcolored", "1" )

	// FIRE THE EVENT TO CREATE THIS SUPERHERO!
	shCreateHero(gHeroName, "Web Swing", "Shoot Web to Swing - Jump Reels In, Duck Reels Out", true, "spiderman_level" )

	// REGISTER EVENTS THIS HERO WILL RESPOND TO! (AND SERVER COMMANDS)

	// KEY UP
	register_srvcmd("spiderman_ku",   "spiderman_ku")
	shRegKeyUp(gHeroName, "spiderman_ku")

	// KEY DOWN
	register_srvcmd("spiderman_kd", "spiderman_kd")
	shRegKeyDown(gHeroName, "spiderman_kd")

	// DEATH
	register_event("DeathMsg", "spiderman_death", "a")  // Re-uses KeyUp!

	// INIT
	register_srvcmd("spiderman_init", "spiderman_init")
	shRegHeroInit(gHeroName, "spiderman_init")

	// Reset theHookCounts every round (regardless of spiderpower)
	register_event("ResetHUD","newRound","b")

}
//----------------------------------------------------------------------------------------------
public plugin_precache()
{
	precache_sound("bullchicken/bc_bite2.wav")
	g_spriteWeb = precache_model("sprites/zbeam4.spr")
}
//----------------------------------------------------------------------------------------------
public spiderman_init()
{
	// First Argument is an id
	new temp[6]
	read_argv(1,temp,5)
	new id=str_to_num(temp)

	// 2nd Argument is 0 or 1 depending on whether the id has spiderman powers
	read_argv(2,temp,5)
	new hasPowers = str_to_num(temp)

	gHasSpiderPower[id] = (hasPowers!=0)
	if ( g_hooked[id] ) spiderman_hookOff(id)
}
//----------------------------------------------------------------------------------------------
public spiderman_kd()
{
	new temp[6]
	read_argv(1,temp,5)
	new id = str_to_num(temp)

	if ( g_hooked[id] || !is_user_alive(id) || !gHasSpiderPower[id] || !hasRoundStarted() ) return

	spiderman_hookOn(id)
}
//----------------------------------------------------------------------------------------------
public spiderman_ku()
{
	new temp[10]
	read_argv(1,temp,9)
	new id=str_to_num(temp)

	if ( g_hooked[id] ) spiderman_hookOff(id)
}
//----------------------------------------------------------------------------------------------
public spiderman_death()
{
	new id = read_data(2)
	if ( id < 1 || id > SH_MAXSLOTS) return
	if ( g_hooked[id] ) spiderman_hookOff(id)
}
//----------------------------------------------------------------------------------------------
public spiderman_checkWeb(parm[])
{
	new id=parm[0]
	new style=parm[1]

	if (style==1) spiderman_physics(id, false)
	if (style==2) spiderman_physics(id, true)
	if (style>2 || style < 0 ) spiderman_cheapReel( id )
}
//----------------------------------------------------------------------------------------------
public spiderman_physics(id, bool:autoReel)
{
	new user_origin[3], user_look[3], user_direction[3], move_direction[3]
	new A[3], D[3], buttonadjust[3]
	new acceleration, Float:vTowards_A, Float:DvTowards_A
	new Float:velocity[3], null[3], buttonpress

	if ( !g_hooked[id]  ) return

	if (!is_user_alive(id)) {
		spiderman_hookOff(id)
		return
	}

	if ( g_hookCreated[id] + HOOKBEAMLIFE/10 <= get_gametime() ) {
		beamentpoint(id)
	}

	null[0] = 0
	null[1] = 0
	null[2] = 0

	get_user_origin(id, user_origin)
	get_user_origin(id, user_look, 2)

	Entvars_Get_Vector(id, EV_VEC_velocity, velocity)

	buttonadjust[0] = 0
	buttonadjust[1] = 0

	buttonpress = Entvars_Get_Int(id, EV_INT_button)

	if (buttonpress&IN_FORWARD) {
		buttonadjust[0] += 1
	}
	if (buttonpress&IN_BACK) {
		buttonadjust[0] -= 1
	}
	if (buttonpress&IN_MOVERIGHT) {
		buttonadjust[1] += 1
	}
	if (buttonpress&IN_MOVELEFT) {
		buttonadjust[1] -= 1
	}
	if (buttonpress&IN_JUMP) {
		buttonadjust[2] += 1
	}
	if (buttonpress&IN_DUCK) {
		buttonadjust[2] -= 1
	}

	if (buttonadjust[0] || buttonadjust[1]) {
		user_direction[0] = user_look[0] - user_origin[0]
		user_direction[1] = user_look[1] - user_origin[1]

		move_direction[0] = buttonadjust[0] * user_direction[0] + user_direction[1] * buttonadjust[1]
		move_direction[1] = buttonadjust[0] * user_direction[1] - user_direction[0] * buttonadjust[1]
		move_direction[2] = 0

		velocity[0] += move_direction[0] * get_cvar_float("spiderman_moveacc") * HOOK_DELTA_T / get_distance(null,move_direction)
		velocity[1] += move_direction[1] * get_cvar_float("spiderman_moveacc") * HOOK_DELTA_T / get_distance(null,move_direction)
	}
	if (buttonadjust[2] < 0 || (buttonadjust[2] && g_hookLength[id] >= 60)) {
		g_hookLength[id] -= floatround(buttonadjust[2] * get_cvar_float("spiderman_reelspeed") * HOOK_DELTA_T)
	}
	else if (autoReel && !(buttonpress&IN_DUCK) && g_hookLength[id] >= 200) {
		buttonadjust[2] += 1
		g_hookLength[id] -= floatround(buttonadjust[2] * get_cvar_float("spiderman_reelspeed") * HOOK_DELTA_T)
	}

	A[0] = g_hookLocation[id][0] - user_origin[0]
	A[1] = g_hookLocation[id][1] - user_origin[1]
	A[2] = g_hookLocation[id][2] - user_origin[2]

	D[0] = A[0]*A[2] / get_distance(null,A)
	D[1] = A[1]*A[2] / get_distance(null,A)
	D[2] = -(A[1]*A[1] + A[0]*A[0]) / get_distance(null,A)

	new aDistance = get_distance(null,D) ? get_distance(null,D) : 1
	acceleration = (-get_cvar_num("sv_gravity")) * D[2] / aDistance

	vTowards_A = (velocity[0] * A[0] + velocity[1] * A[1] + velocity[2] * A[2]) / get_distance(null,A)
	DvTowards_A = float((get_distance(user_origin,g_hookLocation[id]) - g_hookLength[id]) * 4)

	if (get_distance(null,D) > 10) {
		velocity[0] += (acceleration * HOOK_DELTA_T * D[0]) / get_distance(null,D)
		velocity[1] += (acceleration * HOOK_DELTA_T * D[1]) / get_distance(null,D)
		velocity[2] += (acceleration * HOOK_DELTA_T * D[2]) / get_distance(null,D)
	}

	velocity[0] += ((DvTowards_A - vTowards_A) * A[0]) / get_distance(null,A)
	velocity[1] += ((DvTowards_A - vTowards_A) * A[1]) / get_distance(null,A)
	velocity[2] += ((DvTowards_A - vTowards_A) * A[2]) / get_distance(null,A)

	Entvars_Set_Vector(id, EV_VEC_velocity, velocity)
}
//----------------------------------------------------------------------------------------------
public spiderman_cheapReel(id)
{
	// Cheat Web - just drags you where you shoot it...

	if ( !g_hooked[id] ) return

	new user_origin[3]
	new Float:velocity[3]

	if (!is_user_alive(id)) {
		spiderman_hookOff(id)
		return
	}

	get_user_origin(id, user_origin)

	Entvars_Get_Vector(id, EV_VEC_velocity, velocity)

	new distance = get_distance( g_hookLocation[id], user_origin )
	if ( distance > 60 ) {
		velocity[0] = (g_hookLocation[id][0] - user_origin[0]) * ( 1.0 * get_cvar_num("spiderman_reelspeed") / distance )
		velocity[1] = (g_hookLocation[id][1] - user_origin[1]) * ( 1.0 * get_cvar_num("spiderman_reelspeed") / distance )
		velocity[2] = (g_hookLocation[id][2] - user_origin[2]) * ( 1.0 * get_cvar_num("spiderman_reelspeed") / distance )
	}
	else {
		velocity[0] = 0.0
		velocity[1] = 0.0
		velocity[2] = 0.0
	}

	Entvars_Set_Vector(id, EV_VEC_velocity, velocity)
}
//----------------------------------------------------------------------------------------------
public spiderman_hookOn(id)
{
	new parm[2], user_origin[3]
	parm[0] = id

	if ( !is_user_alive(id) ) return PLUGIN_HANDLED

	if ( g_hooksLeft[id] == 0 ) {
		playSoundDenySelect(id)
		return PLUGIN_HANDLED
	}

	if ( g_hooksLeft[id] > 0 ) g_hooksLeft[id]--

	if ( g_hooksLeft[id]>=0 && g_hooksLeft[id]<5 ) {
		client_print(id, print_center, "You have %d Spiderman hooks left", g_hooksLeft[id] )
	}

	g_hooked[id] = true
	set_user_info(id,"ROPE","1")
	get_user_origin(id, user_origin)
	get_user_origin(id, g_hookLocation[id], 3)
	g_hookLength[id] = get_distance(g_hookLocation[id],user_origin)
	set_user_gravity(id,0.001)
	beamentpoint(id)
	emit_sound(id, CHAN_STATIC, "bullchicken/bc_bite2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
	parm[1]=get_cvar_num("spiderman_hookstyle")
	set_task(HOOK_DELTA_T, "spiderman_checkWeb", id, parm, 2, "b")

	return PLUGIN_CONTINUE
}
//----------------------------------------------------------------------------------------------
public spiderman_hookOff(id)
{
	g_hooked[id] = false
	set_user_info(id,"ROPE","0")
	killbeam(id)
	if ( is_user_connected(id) ) shSetGravityPower(id)
	remove_task(id)
}
//----------------------------------------------------------------------------------------------
public beamentpoint(id)
{
	message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
	write_byte( HOOKBEAMPOINT )
	write_short( id )
	write_coord( g_hookLocation[id][0] )
	write_coord( g_hookLocation[id][1] )
	write_coord( g_hookLocation[id][2] )
	write_short( g_spriteWeb )// sprite index
	write_byte( 0 )           // start frame
	write_byte( 0 )           // framerate
	write_byte( HOOKBEAMLIFE )// life
	write_byte( 10 )          // width
	write_byte( 0 )           // noise
	if (!get_cvar_num("spiderman_teamcolored")) {
		write_byte( 250 )       // r, g, b
		write_byte( 250 )       // r, g, b
		write_byte( 250 )       // r, g, b
	}
	// Terrorist
	else if (get_user_team(id)==1) {
		write_byte( 255 )     // r, g, b
		write_byte( 0 )       // r, g, b
		write_byte( 0 )       // r, g, b
	}
	// Counter-Terrorist
	else {
		write_byte( 0 )      // r, g, b
		write_byte( 0 )      // r, g, b
		write_byte( 255 )    // r, g, b
	}
	write_byte( 150 )        // brightness
	write_byte( 0 )          // speed
	message_end( )
	g_hookCreated[id] = get_gametime()
}
//----------------------------------------------------------------------------------------------
public killbeam(id)
{
	message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
	write_byte( HOOKKILLBEAM )
	write_short( id )
	message_end()
}
//----------------------------------------------------------------------------------------------
public newRound(id)
{
	g_hooksLeft[id] = get_cvar_num("spiderman_maxhooks")
	if ( g_hooked[id] ) spiderman_hookOff(id)
}
//----------------------------------------------------------------------------------------------
public client_disconnect(id)
{
	// stupid check but lets see
	if ( id <= 0 || id > SH_MAXSLOTS ) return

	// Yeah don't want any left over residuals
	remove_task(id)
}
//----------------------------------------------------------------------------------------------

Last edited by Brun2Kill.; 10-19-2011 at 10:15.
Brun2Kill. is offline
G-Dog
Senior Member
Join Date: Dec 2005
Location: Thunderstorm Central
Old 10-19-2011 , 10:52   Re: help set max level to use hero
Reply With Quote #9

Quote:
Originally Posted by Brun2Kill. View Post
put that plugin and edit sma of heros 1by1 ?
what after ? how excly set the limint ????
whole point of the plugin is you don't have to modify each hero, you make 2 modifications to the superhero core itself and that's basically it. Then use the config file to define the max level groups and copy the config to your configs/shero directory. To make things yet even easier for you here is a zip containing the current version of the superhero core patched and the config file already set to work for spider man.
Attached Files
File Type: zip restrict.zip (197.3 KB, 101 views)
__________________
If at first you don't succeed, then skydiving isn't for you.
G-Dog is offline
Send a message via AIM to G-Dog
Brun2Kill.
Member
Join Date: Oct 2011
Old 10-20-2011 , 08:05   Re: help set max level to use hero
Reply With Quote #10

G-Dog

Ok. load in your plug's:
sh_adminrestrict.amxx
superheromodedited.amxx
and put in sh fol:
admin_restrict

now time to edit sma of spidy and make new sh_spiderman.amxx?
i tryed to without succses ....
cant find mach btween the instructions and the orginal sma..
what exacly need to change X_X?

can help me? make exm to my spidy sma and i will lern to make to all my heros
Brun2Kill. is offline
Reply



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:51.


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