| Monster Truck |
01-01-2014 16:39 |
Gravity --'
Hi all, i've got some problems now with a plugin. I give you here a little description. It shows a menu each round for Terros and Cts wich allows them to choose their races. One of them (in Terro) gives Gravity, and there is my problem.
When it stills 1 Terro, he can open a menu that allows him to 1v1 each ct untill the last one.
The problem is that the last Terro get is gravity to normal, but it wont work. Honnestly, i don't really know the normal gravity value.
Anyway, had the same problem for speed and fixed it.
I show the whole code here :
PHP Code:
#include <amxmodx> #include <fun> #include <fakemeta> #include <cstrike> #include <hamsandwich>
#define VERSION "2.3"
new g_PlayersSpeed, g_PlayersSpeedLast, g_maxPlayers new bool: g_isAlive[ 33 ], CsTeams: g_playerTeam[ 33 ]
public plugin_init() { register_plugin("Classes", VERSION, "Imag!ne") RegisterHam(Ham_Spawn, "player", "PlayerSpawn", 1) g_PlayersSpeed = register_cvar("terro_menu", "700") g_PlayersSpeedLast = register_cvar("Gravity_Speed_Last_Handler", "320") g_maxPlayers = get_maxplayers( ); }
public PlayerSpawn(id) { if(is_user_alive(id)) { strip_user_weapons(id) set_pdata_int(id, 116, 0) give_item(id, "weapon_knife") switch(cs_get_user_team(id)) { case CS_TEAM_T: terro(id); case CS_TEAM_CT: race(id); } } }
public race(id) { new menu = menu_create("Choisis Ta classe de Garde :", "furien_menu") menu_additem(menu, "\wMilitaire \y- \w[ \rM4 \w+ \rDeagle \w]", "1") menu_additem(menu, "\wSniper \y- \w[ \rAwp \w+ \rDeagle \w]", "2") menu_additem(menu, "\wMarine \y- \w[ \rMitrailleuse \w+ \rUsp \w]", "3") menu_additem(menu, "\wGarde \y- \w[ \rAk47 \w+ \rDeagle \w+ \rFlash \w]", "4") menu_setprop(menu, MPROP_EXITNAME, "Quitter") menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu) }
public terro(id) { new menu = menu_create("Choisis Ta classe de Prisonnier :", "terro_menu") menu_additem(menu, "\wAssasin \y- \w[ \rGravite \w+ \rArmure \w]", "1") menu_additem(menu, "\wDealer \y- \w[ \r140Hp \w+ \rArmure \w]", "2") menu_additem(menu, "\wPedophile \y- \w[ \rVitesse \w+ \rArmure \w]", "3") menu_additem(menu, "\wTerroriste \y- \w[ \rHe \w+ \rArmure \w]", "4") menu_setprop(menu, MPROP_EXITNAME, "Quitter") menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) menu_display(id, menu) }
public furien_menu(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED; } new info[3] new access, callback menu_item_getinfo(menu, item, access, info, 6, _, _, callback) if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT) { new key = str_to_num(info) switch(key) { case 1: { give_item(id, "weapon_m4a1") cs_set_user_bpammo(id, CSW_M4A1, 9000) give_item(id, "weapon_deagle") cs_set_user_bpammo(id, CSW_DEAGLE, 3500) } case 2: { give_item(id, "weapon_awp") cs_set_user_bpammo(id, CSW_AWP, 9000) give_item(id, "weapon_deagle") cs_set_user_bpammo(id, CSW_DEAGLE, 3500) } case 3: { give_item(id,"weapon_m249") cs_set_user_bpammo(id, CSW_M249, 9000) give_item(id, "weapon_usp") cs_set_user_bpammo(id, CSW_USP, 3500) } case 4: { give_item(id, "weapon_ak47") cs_set_user_bpammo(id, CSW_AK47, 9000) give_item(id, "weapon_deagle") cs_set_user_bpammo(id, CSW_DEAGLE, 3500) give_item(id, "weapon_flashbang") } } } return PLUGIN_CONTINUE; }
public terro_menu(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED; } new info[3] new access, callback menu_item_getinfo(menu, item, access, info, 6, _, _, callback) if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T) { new key = str_to_num(info) switch(key) { case 1: { set_user_gravity(id,0.400) cs_set_user_armor(id,100, CS_ARMOR_VESTHELM) } case 2: { set_user_health( id, get_user_health(id) + 40 ) cs_set_user_armor(id,100, CS_ARMOR_VESTHELM) } case 3: { set_user_maxspeed(id, get_pcvar_float(g_PlayersSpeed)) cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM) } case 4: { give_item(id, "weapon_hegrenade") cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM) } } } return PLUGIN_CONTINUE; }
public Gravity_Speed_Last_Handler( id, menu, item ) { if( item == MENU_EXIT || getOneTerrorist( ) != id || !g_isAlive[ id ] ) { set_user_maxspeed( id, get_pcvar_float(g_PlayersSpeedLast)) set_user_gravity(id) } }
stock getOneTerrorist( ) { new count; for( new id = 1; id <= g_maxPlayers; id ++ ) { if( g_isAlive[ id ] && g_playerTeam[ id ] == CS_TEAM_T ) { if( count ) { count = 0; break; } else { count = id; } } } return count; }
public client_putinserver( id ) { g_playerTeam[ id ] = CS_TEAM_SPECTATOR; }
Can anybody help me with that issue ?
|