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

[REQ] Make user speed + gravity


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
SnowFake
Senior Member
Join Date: Oct 2012
Old 11-18-2014 , 10:06   [REQ] Make user speed + gravity
Reply With Quote #1

Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>

#pragma semicolon 1

#define PLUGIN "Drx VIP"
#define VERSION "1.0"
#define AUTHOR "SnowFake"

#define ACCES ADMIN_LEVEL_H // Aici schimbati accesul

new g_ScoreAttrib;
new cvar_speed, cvar_gravity;
new Has_Speed[33];
new Has_Chose [ 33 ];

public plugin_init() {
	
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	cvar_gravity = register_cvar("vip_gravity", "500");
	cvar_speed = register_cvar("vip_speed", "500");
	
	RegisterHam(Ham_Spawn, "player", "PlayerSpawm");
	
	register_clcmd("say /vmenu", "drvip_menu");
	register_clcmd("say_team /vmenu", "drvip_menu");
	register_clcmd ("say /vip" , "wantvip" , -1);
	register_clcmd ("say_team /vip" , "wantvip" , -1);
	register_clcmd("say", "handle_say");
	register_clcmd("say_team", "handle_say");
	
	register_event( "CurWeapon", "CurWeapon", "be", "1=1" );
}

public plugin_precache() { 
	precache_model("models/SnowFake/SnowFake.mdl");
	precache_model("models/DivineLife/DivineLife.mdl");
}

public CurWeapon( id )
{
	if( Has_Speed[ id ] )
	{
		set_user_maxspeed( id, get_pcvar_float( cvar_speed ) );
	}
}

public PlayerSpawm(id) {
	
	new iPlayers [ 32 ];
	new iNum;
	
	get_players ( iPlayers, iNum );
	
	for ( new i = 0; i < iNum; i++ )
	{
		Has_Chose [ iPlayers [ i ] ] = 0;
	}
	
	if(!is_user_alive(id))
		return 1;
	
	if(get_user_flags(id) & ACCES)
	{
		new CsTeams:team = cs_get_user_team(id);
		switch(team) 
		{ 
			case CS_TEAM_T:
			{
				set_user_health(id, 250);
        			set_user_armor(id, 150);
				set_user_scoreattrib(id, 4);
				give_item(id, "weapon_hegrenade");
       			 	cs_set_user_bpammo(id, CSW_HEGRENADE, 10);
				give_item(id, "weapon_flashbang");
				give_item(id, "weapon_flashbang");
				cs_set_user_model(id,"DivineLife");
				Has_Speed[id] = false;
				
			}
			case CS_TEAM_CT:
			{
				strip_user_weapons(id);
				set_user_health(id, 250);
        			set_user_armor(id, 150); 
				give_item(id, "weapon_usp");
				cs_set_user_bpammo(id, CSW_USP, 100);
				give_item(id, "weapon_hegrenade");
        			cs_set_user_bpammo(id, CSW_HEGRENADE, 10);
				give_item(id, "weapon_flashbang");
				give_item(id, "weapon_flashbang");
				set_user_scoreattrib(id, 4);
				set_user_gravity(id, get_pcvar_float(cvar_gravity));
				cs_set_user_model(id,"SnowFake");
				Has_Speed[id] = false;
			}
		}
	}
	return 1;
	
}

public drvip_menu(id){
	
	if ( Has_Chose [ id ] == 1 ) {
		ColorChat( id, "^x01Ai folosit deja ^x04meniul ." );
	}
	
	
	if(get_user_team(id) == 2)
	{
		ColorChat(id, "^x01Doar^x04 T^x01 pot folosi meniul");
		return 1;
	}
	
	if(get_user_flags(id) & ACCES)
	{
		new menu = menu_create("\yDrx Vip Menu:\r", "drvip_handler");
		
		menu_additem(menu, "\yAk47", "1", 0);
		menu_additem(menu, "\yM4a1", "2", 0);
		menu_additem(menu, "\yDeagle", "3", 0);
		menu_additem(menu, "\ySpeed", "4", 0);
		menu_additem(menu, "\yGravity", "5", 0);
		
		menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, menu, 0);
	}
	else
	{
		ColorChat(id, "^x01Doar^x04 VIP^x01 pot folosi meniul");
		return 1;
	}
	
	return 1;
}

public drvip_handler(id, menu, item){
	
	if( item == MENU_EXIT )
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	
	new data[6], iName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
	
	new key = str_to_num(data);
	switch(key)
	{
		case 1:
		{
			give_item(id, "weapon_ak47");
			cs_set_user_bpammo(id, CSW_AK47, 90);
			ColorChat(id, "^x01Ai primit %i ^x04Ak47");
			Has_Speed[id] = false;
			Has_Chose[id] ++;
		}
		case 2:
		{
			give_item(id, "weapon_m4a1");
			cs_set_user_bpammo(id, CSW_M4A1, 90);
			ColorChat(id, "^x01Ai primit %i ^x04M4a1");
			Has_Speed[id] = false;
			Has_Chose[id] ++;
		}
		case 3:
		{
			give_item(id, "weapon_deagle");
			cs_set_user_bpammo(id, CSW_DEAGLE, 32);
			ColorChat(id, "^x01Ai primit %i ^x04Deagle");
			Has_Speed[id] = false;
			Has_Chose[id] ++;
		}
		case 4:
		{
			set_user_maxspeed(id, get_pcvar_float(cvar_speed));
			ColorChat(id, "^x01Ai primit %i ^x04Speed");
			Has_Speed[id] = true;
			Has_Chose[id] ++;
		}
		
		case 5:
		{
			set_user_gravity(id, get_pcvar_float(cvar_gravity) / 800);
			ColorChat(id, "^x01Ai primit ^x04Gravity");
			Has_Speed[id] = false;
			Has_Chose[id] ++;
		}	
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public print_adminlist(user) {
	new adminnames[33][32];
	new message[256];
	new id, count, x, len;
	
	for(id = 1 ; id <= get_maxplayers() ; id++)
		if(is_user_connected(id))
		if(get_user_flags(id) & ACCES)
		get_user_name(id, adminnames[count++], 31);
	
	len = format(message, 255, "^x04 VIP ONLINE: ");
	if(count > 0) {
		for(x = 0 ; x < count ; x++) {
			len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"");
			if(len > 96) {
				print_message(user, message);
				len = format(message, 255, "^x04 ");
			}
		}
		print_message(user, message);
	}
	else {
		len += format(message[len], 255-len, "No VIP online.");
		print_message(user, message);
	}
}
print_message(id, msg[]) {
	message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, id);
	write_byte(id);
	write_string(msg);
	message_end();
}

public handle_say(id) {
	new said[192];
	read_args(said,192);
	if(contain(said, "/vips") != -1)
		set_task(0.1,"print_adminlist",id);
	return PLUGIN_CONTINUE;
}

public wantvip(id) show_motd(id,"/addons/amxmodx/configs/vip.html");

stock set_user_scoreattrib(id, attrib = 0){
	message_begin(MSG_BROADCAST, g_ScoreAttrib, _, 0);
	write_byte(id);
	write_byte(attrib);
	message_end( );
}

stock ColorChat(const id, const input[], any:...) {
	new count = 1, players[32];
	static msg[191];
	vformat(msg, 190, input, 3);
	
	replace_all(msg, 190, "^x04", "^4");
	replace_all(msg, 190, "^x01", "^1");
	replace_all(msg, 190, "^x03", "^3");
	
	if(id) players[0] = id;
	else get_players(players, count, "ch"); {
		for(new i = 0; i < count; i++) {
			if(is_user_connected(players[i])) {
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
				write_byte(players[i]);
				write_string(msg);
				message_end();
			}
		}
	}
}
What is wrong ? i don't revice speed gravity, health or armour at spawn
SnowFake is offline
joshknifer
Veteran Member
Join Date: Jun 2011
Location: Denver, CO
Old 11-18-2014 , 16:55   Re: [REQ] Make user speed + gravity
Reply With Quote #2

Their may be other errors, but check your spelling.

Specifically the word "access".
__________________

Last edited by joshknifer; 11-18-2014 at 16:55.
joshknifer is offline
Send a message via Skype™ to joshknifer
Old 11-18-2014, 17:27
Eagle07
This message has been deleted by Eagle07.
Eagle07
Veteran Member
Join Date: May 2014
Location: Morocco :D
Old 11-18-2014 , 18:22   Re: [REQ] Make user speed + gravity
Reply With Quote #3

this is the problem
change
PHP Code:
RegisterHam(Ham_Spawn"player""PlayerSpawm"); 

PHP Code:
RegisterHam(Ham_Spawn"player""PlayerSpawm",1); 
And

PHP Code:
stock set_user_scoreattrib(idattrib 0){
    
message_begin(MSG_BROADCASTg_ScoreAttrib_0);
    
write_byte(id);
    
write_byte(attrib);
    
message_end( );


PHP Code:
stock set_user_scoreattrib(idattrib 0){
    
message_begin(2,get_user_msgid("ScoreAttrib"),{0,0,0},0);
    
write_byte(id);
    
write_byte(attrib);
    
message_end();

Its work fine for me
This is the full sma
________

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>

#pragma semicolon 1

#define PLUGIN "Drx VIP"
#define VERSION "1.0"
#define AUTHOR "SnowFake"

#define ACCES ADMIN_LEVEL_H // Aici schimbati accesul

new cvar_speedcvar_gravity;
new 
Has_Speed[33];
new 
Has_Chose 33 ];

public 
plugin_init() {
    
    
register_plugin(PLUGINVERSIONAUTHOR);
    
    
cvar_gravity register_cvar("vip_gravity""500");
    
cvar_speed register_cvar("vip_speed""500");
    
    
RegisterHam(Ham_Spawn"player""PlayerSpawm",1);
    
    
register_clcmd("say /vmenu""drvip_menu");
    
register_clcmd("say_team /vmenu""drvip_menu");
    
register_clcmd ("say /vip" "wantvip" , -1);
    
register_clcmd ("say_team /vip" "wantvip" , -1);
    
register_clcmd("say""handle_say");
    
register_clcmd("say_team""handle_say");
    
    
register_event"CurWeapon""CurWeapon""be""1=1" );
}

public 
plugin_precache() { 
    
//precache_model("models/SnowFake/SnowFake.mdl");
    //precache_model("models/DivineLife/DivineLife.mdl");
}

public 
CurWeaponid )
{
    if( 
Has_Speedid ] )
    {
        
set_user_maxspeedidget_pcvar_floatcvar_speed ) );
    }
}

public 
PlayerSpawm(id) {
    
    new 
iPlayers 32 ];
    new 
iNum;
    
    
get_players iPlayersiNum );
    
    for ( new 
0iNumi++ )
    {
        
Has_Chose iPlayers ] ] = 0;
    }
    
    
    
    if(!
is_user_alive(id))
        return 
1;
    
    if(
get_user_flags(id) & ACCES)
    {
        new 
CsTeams:team cs_get_user_team(id);
        switch(
team
        { 
            case 
CS_TEAM_T:
            {
                
set_user_health(id250);
                
set_user_armor(id150);
                
set_user_scoreattrib(id4);
                
give_item(id"weapon_hegrenade");
                
cs_set_user_bpammo(idCSW_HEGRENADE10);
                
give_item(id"weapon_flashbang");
                
give_item(id"weapon_flashbang");
                
cs_set_user_model(id,"DivineLife");
                
Has_Speed[id] = false;
                
            }
            case 
CS_TEAM_CT:
            {
                
strip_user_weapons(id);
                
set_user_health(id250);
                
set_user_armor(id150); 
                
give_item(id"weapon_usp");
                
cs_set_user_bpammo(idCSW_USP100);
                
give_item(id"weapon_hegrenade");
                
cs_set_user_bpammo(idCSW_HEGRENADE10);
                
give_item(id"weapon_flashbang");
                
give_item(id"weapon_flashbang");
                
set_user_scoreattrib(id4);
                
set_user_gravity(idget_pcvar_float(cvar_gravity));
                
cs_set_user_model(id,"SnowFake");
                
Has_Speed[id] = false;
            }
        }
    }
    return 
1;
    
}

public 
drvip_menu(id){
    
    if ( 
Has_Chose id ] == ) {
        
ColorChatid"^x01Ai folosit deja ^x04meniul ." );
    }
    
    
    if(
get_user_team(id) == 2)
    {
        
ColorChat(id"^x01Doar^x04 T^x01 pot folosi meniul");
        return 
1;
    }
    
    if(
get_user_flags(id) & ACCES)
    {
        new 
menu menu_create("\yDrx Vip Menu:\r""drvip_handler");
        
        
menu_additem(menu"\yAk47""1"0);
        
menu_additem(menu"\yM4a1""2"0);
        
menu_additem(menu"\yDeagle""3"0);
        
menu_additem(menu"\ySpeed""4"0);
        
menu_additem(menu"\yGravity""5"0);
        
        
menu_setprop(menuMPROP_EXITMEXIT_ALL);
        
menu_display(idmenu0);
    }
    else
    {
        
ColorChat(id"^x01Doar^x04 VIP^x01 pot folosi meniul");
        return 
1;
    }
    
    return 
1;
}

public 
drvip_handler(idmenuitem){
    
    if( 
item == MENU_EXIT )
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    
    new 
data[6], iName[64];
    new 
accesscallback;
    
menu_item_getinfo(menuitemaccessdata,5iName63callback);
    
    new 
key str_to_num(data);
    switch(
key)
    {
        case 
1:
        {
            
give_item(id"weapon_ak47");
            
cs_set_user_bpammo(idCSW_AK4790);
            
ColorChat(id"^x01Ai primit %i ^x04Ak47");
            
Has_Speed[id] = false;
            
Has_Chose[id] ++;
        }
        case 
2:
        {
            
give_item(id"weapon_m4a1");
            
cs_set_user_bpammo(idCSW_M4A190);
            
ColorChat(id"^x01Ai primit %i ^x04M4a1");
            
Has_Speed[id] = false;
            
Has_Chose[id] ++;
        }
        case 
3:
        {
            
give_item(id"weapon_deagle");
            
cs_set_user_bpammo(idCSW_DEAGLE32);
            
ColorChat(id"^x01Ai primit %i ^x04Deagle");
            
Has_Speed[id] = false;
            
Has_Chose[id] ++;
        }
        case 
4:
        {
            
set_user_maxspeed(idget_pcvar_float(cvar_speed));
            
ColorChat(id"^x01Ai primit %i ^x04Speed");
            
Has_Speed[id] = true;
            
Has_Chose[id] ++;
        }
        
        case 
5:
        {
            
set_user_gravity(idget_pcvar_float(cvar_gravity) / 800);
            
ColorChat(id"^x01Ai primit ^x04Gravity");
            
Has_Speed[id] = false;
            
Has_Chose[id] ++;
        }    
    }
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
print_adminlist(user) {
    new 
adminnames[33][32];
    new 
message[256];
    new 
idcountxlen;
    
    for(
id id <= get_maxplayers() ; id++)
        if(
is_user_connected(id))
        if(
get_user_flags(id) & ACCES)
        
get_user_name(idadminnames[count++], 31);
    
    
len format(message255"^x04 VIP ONLINE: ");
    if(
count 0) {
        for(
count x++) {
            
len += format(message[len], 255-len"%s%s "adminnames[x], < (count-1) ? ", ":"");
            if(
len 96) {
                
print_message(usermessage);
                
len format(message255"^x04 ");
            }
        }
        
print_message(usermessage);
    }
    else {
        
len += format(message[len], 255-len"No VIP online.");
        
print_message(usermessage);
    }
}
print_message(idmsg[]) {
    
message_begin(MSG_ONEget_user_msgid("SayText"), {0,0,0}, id);
    
write_byte(id);
    
write_string(msg);
    
message_end();
}

public 
handle_say(id) {
    new 
said[192];
    
read_args(said,192);
    if(
contain(said"/vips") != -1)
        
set_task(0.1,"print_adminlist",id);
    return 
PLUGIN_CONTINUE;
}

public 
wantvip(idshow_motd(id,"/addons/amxmodx/configs/vip.html");

stock set_user_scoreattrib(idattrib 0){
    
message_begin(2,get_user_msgid("ScoreAttrib"),{0,0,0},0);
    
write_byte(id);
    
write_byte(attrib);
    
message_end();
}
stock ColorChat(const id, const input[], any:...) {
    new 
count 1players[32];
    static 
msg[191];
    
vformat(msg190input3);
    
    
replace_all(msg190"^x04""^4");
    
replace_all(msg190"^x01""^1");
    
replace_all(msg190"^x03""^3");
    
    if(
idplayers[0] = id;
    else 
get_players(playerscount"ch"); {
        for(new 
0counti++) {
            if(
is_user_connected(players[i])) {
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i]);
                
write_byte(players[i]);
                
write_string(msg);
                
message_end();
            }
        }
    }

__________________
Eagle07 is offline
joshknifer
Veteran Member
Join Date: Jun 2011
Location: Denver, CO
Old 11-19-2014 , 13:20   Re: [REQ] Make user speed + gravity
Reply With Quote #4

Quote:
Originally Posted by Eagle07 View Post
this is the problem
change
PHP Code:
RegisterHam(Ham_Spawn"player""PlayerSpawm"); 

PHP Code:
RegisterHam(Ham_Spawn"player""PlayerSpawm",1); 
Again spelling is important:

PHP Code:
RegisterHam(Ham_Spawn"player""PlayerSpawm",1); 

PHP Code:
RegisterHam(Ham_Spawn"player""PlayerSpawn",1); 
__________________
joshknifer is offline
Send a message via Skype™ to joshknifer
Eagle07
Veteran Member
Join Date: May 2014
Location: Morocco :D
Old 11-19-2014 , 13:38   Re: [REQ] Make user speed + gravity
Reply With Quote #5

Quote:
Originally Posted by joshknifer View Post
Again spelling is important:

PHP Code:
RegisterHam(Ham_Spawn"player""PlayerSpawm",1); 

PHP Code:
RegisterHam(Ham_Spawn"player""PlayerSpawn",1); 
What is the difference
__________________
Eagle07 is offline
joshknifer
Veteran Member
Join Date: Jun 2011
Location: Denver, CO
Old 11-21-2014 , 15:53   Re: [REQ] Make user speed + gravity
Reply With Quote #6

Just correct spelling. In this case it looks like it was consistently misspelled so shouldn't affect plugin usability.
__________________
joshknifer is offline
Send a message via Skype™ to joshknifer
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 10:19.


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