Here is my star wars mod i thought id make i know i havent done much yet but how should i store all the ids that selects for example healer is it right with new healer[32]? and then just say healer = id?
And for the destroyer i was thinking of that it will go faster and not be able to shoot when you knee so how do i detect when someone knees and is a destroyer?
Code:
/*Credits list*//*
Arkshine - loop
Emp - menu system
Exolent - random systems
XxAvalanchexX - Laser gun
*//*Credits list*/
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
new gMaxClients;
new menu;
new sith;
new jedi;
new destroyer[32];
new healer[32];
new rocket[32];
#define droid_player_model "starwars/droid.mdl"
#define clone_player_model "starwars/clone.mdl"
public plugin_init() {
register_plugin("Star wars mod", "0.1", "Micke1101")
remove_entity_name("func_buyzone");
register_event("ResetHUD","newround","b")
register_event("CurWeapon", "make_tracer", "a")
gMaxClients = get_players();
}
public precache(){
precache_model(droid_player_model)
precache_model(clone_player_model)
}
public newround() {
for ( new Player = 1; Player <= gMaxClients; Player++ )
{
if( is_user_alive( Player ) )
{
if(cs_get_user_team(Player) == CS_TEAM_T){
DroidMenu(id);
}
if(cs_get_user_team(Player) == CS_TEAM_CT){
CloneMenu(id);
}
}
}
sith = GetSith("a");
jedi = GetJedi("a");
menu_destroy(menu);
cs_set_user_team(sith, CS_TEAM_T)
cs_set_user_team(jedi, CS_TEAM_CT)
}
GetSith(const flags[]="", const teamORname[]="")
{
new players[32], pnum;
get_players(players, pnum, flags, teamORname);
return (pnum > 0) ? players[random(pnum)] : 0;
}
GetJedi(const flags[]="", const teamORname[]="")
{
new players[32], pnum;
get_players(players, pnum, flags, teamORname);
return (pnum > 0) ? players[random(pnum)] : 0;
}
public CloneMenu(id)
{
menu = menu_create("\rClone trooper menu", "menu_handler");
menu_additem(menu, "\wNormal clone", "1", 0);
menu_additem(menu, "\wHealer clone", "2", 0);
menu_additem(menu, "\wRocket clone", "3", 0);
menu_additem(menu, "\wSniper clone", "4", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public DroidMenu(id)
{
menu = menu_create("\rDroid menu", "menu_handler");
menu_additem(menu, "\wNormal droid", "1", 0);
menu_additem(menu, "\wHealer droid", "2", 0);
menu_additem(menu, "\wDestroyer", "3", 0);
menu_additem(menu, "\wSniper droid", "4", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public menu_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:
{
if(cs_get_user_team(id) == CS_TEAM_T){
cs_set_user_model(id, droid_player_model)
give_item(id, "weapon_ak47")
}
if(cs_get_user_team(id) == CS_TEAM_CT){
cs_set_user_model(id, clone_player_model)
give_item(id, "weapon_m4a1")
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
case 2:
{
if(cs_get_user_team(id) == CS_TEAM_T){
cs_set_user_model(id, droid_player_model)
give_item(id, "weapon_mp5navy")
}
if(cs_get_user_team(id) == CS_TEAM_CT){
cs_set_user_model(id, clone_player_model)
give_item(id, "weapon_mp5navy")
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
case 3:
{
if(cs_get_user_team(id) == CS_TEAM_T){
cs_set_user_model(id, droid_player_model)
give_item(id, "weapon_m249")
}
if(cs_get_user_team(id) == CS_TEAM_CT){
cs_set_user_model(id, clone_player_model)
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
case 4:
{
if(cs_get_user_team(id) == CS_TEAM_T){
cs_set_user_model(id, droid_player_model)
give_item(id, "weapon_awp")
}
if(cs_get_user_team(id) == CS_TEAM_CT){
cs_set_user_model(id, clone_player_model)
give_item(id, "weapon_awp")
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public make_tracer(id)
{
new clip, ammo
new wpnid = get_user_weapon(id, clip, ammo)
new pteam[16]
get_user_team(id, pteam, 15)
if (lastammo[id] > clip ) {
new origin[3];
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
write_byte(TE_BEAMENTPOINT);
write_short(id); // start entity
write_coord(origin[0]); // endposition.x
write_coord(origin[1]); // endposition.y
write_coord(origin[2]); // endposition.z
write_short(sprite); // sprite index
write_byte(0); // starting frame
write_byte(0); // frame rate in 0.1's
write_byte(50); // life in 0.1's
write_byte(10); // line width in 0.1's
write_byte(0); // noise amplitude in 0.01's
if(cs_get_user_team(id) == CS_TEAM_T){
write_byte(255); // red
write_byte(0); // green
write_byte(0); // blue
}
if(cs_get_user_team(id) == CS_TEAM_CT){
write_byte(0); // red
write_byte(0); // green
write_byte(255); // blue
}
write_byte(200); // brightness
write_byte(10); // scroll speed in 0.1's
message_end();
lastammo[id] = clip
return PLUGIN_HANDLED;
}