duel shot by shot
would like a small example of a plugin for jb shot by shot
good can also be just the code from the shot by shot
thanks:)
here an example that I did
sorry for my English, I am Brazilian.
Code:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <fakemeta_util>
#include <hamsandwich>
#define PLUGIN "[MaXJailBreak] TR Duelo"
#define VERSION "1.0"
#define AUTHOR "Dias"
new g_iMaxPlayers
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("HLTV", "event_round_start", "a", "1=0", "2=0");
register_clcmd("say /duelo", "duelo_menu");
register_clcmd("say !duelo", "duelo_menu");
RegisterHam( Ham_Weapon_PrimaryAttack, "weapon_deagle", "fw_primary_attack", 1 );
register_clcmd("say_team /duelo", "duelo_menu");
register_clcmd("say_team !duelo", "duelo_menu");
g_iMaxPlayers = get_maxplayers()
}
public event_round_start()
{
for (new id; id <= g_iMaxPlayers; id++)
{
fm_set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderNormal, 20)
}
}
public duelo_menu(id)
{
if (cs_get_user_team(id) != CS_TEAM_T || !is_user_alive(id))
{
return PLUGIN_HANDLED;
}
new ctCount, trCount;
for (new i = 1; i <= g_iMaxPlayers; i++)
{
if (!is_user_alive(i))
{
continue;
}
switch (cs_get_user_team(i))
{
case CS_TEAM_CT:
{
ctCount++;
}
case CS_TEAM_T:
{
trCount++;
}
}
}
if (trCount > 1)
{
return PLUGIN_HANDLED;
}
if (ctCount == 0)
{
return PLUGIN_HANDLED;
}
if(get_user_team(id) == 1 )
{
new duelomenu = menu_create("\r[MaXJailBreak] Escolha Seu \yDuelo:", "sub_duelo_menu")
menu_additem(duelomenu, "\wDuelo de Facas", "1", 0);
menu_additem(duelomenu, "\wDuelo de Deagle", "2", 0);
menu_additem(duelomenu, "\wDuelo de Granadas", "3", 0);
menu_additem(duelomenu, "\wDuelo de Scout (Tiro Por Tiro)", "4", 0);
menu_additem(duelomenu, "\wDuelo de AWP (Tiro Por Tiro)", "5", 0);
menu_setprop(duelomenu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, duelomenu, 0);
}
return PLUGIN_HANDLED;
}
public sub_duelo_menu(id, duelomenu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(duelomenu);
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, Callback;
menu_item_getinfo(duelomenu, item, Access, Data,5, Name, 63, Callback);
new Key = str_to_num(Data);
switch (Key)
{
case 1:
{
menu(id)
}
case 2:
{
menu2(id)
}
case 3:
{
menu3(id)
}
case 4:
{
new tempid
menu4(id, tempid)
}
case 5:
{
//
}
}
menu_destroy(duelomenu);
return PLUGIN_HANDLED;
}
public menu(id)
{
new menu = menu_create("\r[JB]\yQuem voce quer Desafiar?:", "submenu");
new players[32], pnum, tempid;
new szName[32], szTempid[10];
get_players(players, pnum, "a");
for( new i; i<pnum; i++ )
{
tempid = players[i];
if (cs_get_user_team(tempid) != CS_TEAM_CT)
{
continue;
}
get_user_name(tempid, szName, 31);
num_to_str(tempid, szTempid, 9);
menu_additem(menu, szName, szTempid, 0);
}
menu_display(id, menu);
return PLUGIN_HANDLED;
}
public submenu(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 tempid = str_to_num(data);
strip_user_weapons(tempid);
give_item(tempid, "weapon_knife");
fm_set_rendering(tempid, kRenderFxGlowShell, 0, 0, 250, kRenderNormal, 20);
strip_user_weapons(id);
set_user_health(id, 100);
give_item(id, "weapon_knife");
fm_set_rendering(id, kRenderFxGlowShell, 250, 0, 0, kRenderNormal, 20);
new szName[32], szName2[32];
get_user_name(id, szName, 31);
get_user_name(tempid, szName2, 31);
set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10);
show_hudmessage(0, "%s Foi Desafiado por %s^n a um Duelo de Facas", szName, szName2);
if( is_user_alive(tempid) )
set_user_health(tempid, 100);
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public menu2(id)
{
new menu = menu_create("\r[JB]\yQuem voce quer Desafiar?:", "submenu2");
new players[32], pnum, tempid;
new szName[32], szTempid[10];
get_players(players, pnum, "a");
for( new i; i<pnum; i++ )
{
tempid = players[i];
if (cs_get_user_team(tempid) != CS_TEAM_CT)
{
continue;
}
get_user_name(tempid, szName, 31);
num_to_str(tempid, szTempid, 9);
menu_additem(menu, szName, szTempid, 0);
}
menu_display(id, menu);
return PLUGIN_HANDLED;
}
public submenu2(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 tempid = str_to_num(data);
strip_user_weapons(tempid);
give_item(tempid, "weapon_deagle");
cs_set_user_bpammo(tempid,CSW_DEAGLE,7)
fm_set_rendering(tempid, kRenderFxGlowShell, 0, 0, 250, kRenderNormal, 20)
strip_user_weapons(id)
set_user_health(id, 100)
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id,CSW_DEAGLE,7)
fm_set_rendering(id, kRenderFxGlowShell, 250, 0, 0, kRenderNormal, 20)
new szName[32], szName2[32]
get_user_name(id, szName, 31);
get_user_name(tempid, szName2, 31);
set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)
show_hudmessage(0, "%s Foi Desafiado por %s^n a um Duelo de Deagle",szName, szName2)
if( is_user_alive(tempid) )
set_user_health(tempid, 100);
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public menu3(id)
{
new menu = menu_create("\r[JB]\yQuem voce quer Desafiar?:", "submenu3");
new players[32], pnum, tempid;
new szName[32], szTempid[10];
get_players(players, pnum, "a");
for( new i; i<pnum; i++ )
{
tempid = players[i];
if (cs_get_user_team(tempid) != CS_TEAM_CT)
{
continue;
}
get_user_name(tempid, szName, 31);
num_to_str(tempid, szTempid, 9);
menu_additem(menu, szName, szTempid, 0);
}
menu_display(id, menu);
return PLUGIN_HANDLED;
}
public submenu3(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 tempid = str_to_num(data);
strip_user_weapons(tempid);
give_item(tempid, "weapon_hegrenade");
cs_set_user_bpammo(tempid,CSW_HEGRENADE,8)
fm_set_rendering(tempid, kRenderFxGlowShell, 0, 0, 250, kRenderNormal, 20)
strip_user_weapons(id)
set_user_health(id, 100)
give_item(id, "weapon_hegrenade")
cs_set_user_bpammo(id,CSW_HEGRENADE,8)
fm_set_rendering(id, kRenderFxGlowShell, 250, 0, 0, kRenderNormal, 20)
new szName[32], szName2[32]
get_user_name(id, szName, 31);
get_user_name(tempid, szName2, 31);
set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)
show_hudmessage(0, "%s Foi Desafiado por %s^n a um Duelo de Granadas",szName, szName2)
if( is_user_alive(tempid) )
set_user_health(tempid, 100);
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public fw_primary_attack(ent)
{
//Get owner of entity
new id = pev(ent,pev_owner)
//if he's not alive
if(!is_user_alive(id))
{
return HAM_IGNORED
}
//If player is in lr and can shoot deagle
//Search enemy
new players[32], pnum, tempid
get_players(players, pnum, "a")
for(new i; i < pnum; i++)
{
tempid = players[i]
//if he's in lr and can't shoot deagle and is alive
if(is_user_alive(tempid) && (id !=tempid))
{
menu4(id, tempid)
return PLUGIN_CONTINUE
}
}
return HAM_HANDLED
}
public menu4(id, tempid)
{
new menu = menu_create("\r[MaX JailBreak]\yQuem voce quer Desafiar?:", "gun_switch");
new players[32], pnum, tempid;
new szName[32], szTempid[10];
get_players(players, pnum, "a");
for( new i; i<pnum; i++ )
{
tempid = players[i];
if (cs_get_user_team(tempid) != CS_TEAM_CT)
{
continue;
}
get_user_name(tempid, szName, 31);
num_to_str(tempid, szTempid, 9);
menu_additem(menu, szName, szTempid, 0);
}
menu_display(id, menu);
return PLUGIN_HANDLED;
}
public gun_switch(id, tempid, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
if(is_user_alive(tempid) && (id !=tempid) && !shot_deagle[id])
{
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
strip_user_weapons(tempid)
set_user_health ( id, 250 )
new scout = give_item(tempid, "weapon_scout")
cs_set_weapon_ammo(scout, 1)
cs_set_user_bpammo(tempid, CSW_SCOUT, 0)
shot_deagle[id] = true
shot_deagle[tempid] = false
fm_set_rendering(id, kRenderFxGlowShell, 250, 0, 0, kRenderNormal, 20)
new szName[32], szName2[32]
get_user_name(id, szName, 31);
get_user_name(tempid, szName2, 31);
set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)
show_hudmessage(0, "%s Foi Desafiado por %s^n a um Duelo de Scouts (Tiro Por Tiro)",szName, szName2)
if( is_user_alive(tempid) )
set_user_health(tempid, 250);
menu_destroy(menu);
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED
}
|