Plugin Cerut: Duel pentru ultimul ct ramas pe dr cu urmatoarele : Awp, Deagle si M3 cate un glont
Descriere (adica ce face el mai exact): Sa se dueleze cu ultimul terorist ultimul ct de pe dr
Serverul impune conditii strict HLDS/REHLDS?: Nu
Ai cautat pluginul?(daca da, precizeaza cum): Vreau exact cum scriu eu
Necesita mod special?: Nu
Nu-mi mai dati link-uri sau download de la alte dueluri vreau fix cum am precizat dr duel doar cu awp deagle si m3 cate un glont de persoana
Cerere duel doar cu :
Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com
Forum rules
Accesează link-ul pentru a putea vedea regulile forumului
Daca doriti sa vi se modifice un plugin, va rugam postati aici .
Accesează link-ul pentru a putea vedea regulile forumului
Daca doriti sa vi se modifice un plugin, va rugam postati aici .
- levin
- Scripter eXtreamCS
- Posts: 3850
- Joined: 24 Aug 2011, 12:24
- Detinator Steam: Da
- CS Status: ♅
- Detinator server CS: ☯∴
- SteamID: 76561198063679589
- Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy - Location: ҳ̸Ҳ̸ҳ
- Discord: devilclass
- Has thanked: 36 times
- Been thanked: 595 times
- Contact:
sma
lang txt
Code: Select all
/* (c) Copyright 2009 by Rube
*
* --------------------------------------
* ---- Jailbreak Last Request ----------
* --------------------------------------
* ---------- Author: rube --------------
* --------------------------------------
* About the plugin:
* This plugin allows the last terrorist access a menu to challenge a duel
* (typing / lr or !Lr ) the counter-terrorist that he want.
* --------------------------------------
* Credits:
* - Emp` (New AMXX Menu System)
* - MouseSplash! (Ideas and test)
* - cikjam (how to optimize my submenu all in one)
* - Ganz (test)
* --------------------------------------
* -v1.6: Optimized duel's menu ( all in one) and set glow with fun
* -v1.5: Added teleport for every single duel (only map some1s_jailbreak)
* -v1.4: Added ML.
* -V1.3: Block the menu until the TE kills the CT that he challenge.
* -v1.2: Add shot for shot on deagle duel.
* -V1.1: Unable touch weapons during the duel.
* -V1.0: First release.
*/
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <fun>
#define PLUGIN "Jailbreak Last Request"
#define VERSION "1.6"
#define AUTHOR "rube"
/*================================================================================
Variables | bools | Cvars
=================================================================================*/
new g_maxPlayers, g_msgSayText
new bool:touch_weapons[33], bool:once[33], bool:player_challenged[33], bool:duel_active,
bool:awp_duel[33] ,bool:deagle_duel[33], bool:m3_duel[33]
new tag[] = "[JailBreak]"
/*================================================================================
Init n' precache
=================================================================================*/
public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR)
register_dictionary("jailbreak_last_request.txt")
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
RegisterHam(Ham_Touch, "weaponbox", "fw_touch_weapon")
RegisterHam(Ham_Touch, "armoury_entity", "fw_touch_weapon")
RegisterHam(Ham_Touch, "weapon_shield", "fw_touch_weapon")
RegisterHam(Ham_Spawn, "player", "fw_player_respawn", 1)
RegisterHam(Ham_Killed, "player", "fw_player_killed")
register_forward(FM_CmdStart,"fw_cmdstart",1)
// Comando de jugador - Client commands
register_clcmd("say /duel", "duel_menu")
register_clcmd("say_team /duel", "duel_menu")
g_maxPlayers = get_maxplayers()
g_msgSayText = get_user_msgid("SayText")
}
/*================================================================================
Round Start
=================================================================================*/
public event_round_start() duel_active = false
/*================================================================================
forwards
=================================================================================*/
public fw_player_respawn(id) if(is_user_alive(id) && get_user_team(id)) RESET_ID_BOOLS(id)
public fw_touch_weapon(weapon, id) return (is_user_alive(id)&&touch_weapons[id])?HAM_SUPERCEDE:HAM_IGNORED
public fw_cmdstart(player,uc_handle,random_seed){
if(deagle_duel[player]) cs_set_user_bpammo(player, CSW_DEAGLE, 1)
if(awp_duel[player]) cs_set_user_bpammo(player, CSW_AWP, 1)
if(m3_duel[player]) cs_set_user_bpammo(player, CSW_M3, 1)
}
public fw_player_killed(victim, attacker, shouldgib){
if(is_user_connected(victim)&&is_user_connected(attacker)&&duel_active){
static name[33];get_user_name(attacker, name, charsmax(name))
set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)
show_hudmessage(0, "%L", LANG_PLAYER, "DUEL_DOWN", name)
if(is_user_alive(victim)){
strip_user_weapons(victim)
give_item(victim,"weapon_knife")
}
else if(is_user_alive(attacker)){
strip_user_weapons(attacker)
give_item(attacker,"weapon_knife")
}
duel_active=false
RESET_ID_BOOLS(victim)
RESET_ID_BOOLS(attacker)
}
}
/*================================================================================
Main Menu
=================================================================================*/
public duel_menu(id){
if(!is_user_alive(id)) return PLUGIN_HANDLED
if (!once[id]){
if(get_user_team(id) == 2){
new ctsnum, tsnum
for (new i=1; i <= g_maxPlayers; i++){
if (!is_user_alive(i)||is_user_bot(i)||is_user_hltv(i)) continue
if (get_user_team(i) == 1) tsnum++
else if (get_user_team(i) == 2) ctsnum++
}
if (tsnum == 1 && ctsnum == 1){
static opcion[64]
formatex(opcion, charsmax(opcion),"\y%L:", id, "CHOOSE_DUEL")
new iMenu = menu_create(opcion, "sub_duel_menu")
formatex(opcion, charsmax(opcion),"\w%L", id, "DUEL_1")
menu_additem(iMenu, opcion, "1")
formatex(opcion, charsmax(opcion),"\w%L", id, "DUEL_2")
menu_additem(iMenu, opcion, "2")
formatex(opcion, charsmax(opcion),"\w%L", id, "DUEL_3")
menu_additem(iMenu, opcion, "3")
menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, iMenu, 0)
}
else if (tsnum == 1 && ctsnum < 1) ChatColor(id, "%L", LANG_PLAYER, "NOT_TS", tag)
else if (ctsnum > 1) ChatColor(id, "%L", LANG_PLAYER, "ONLY_LAST", tag)
}
else ChatColor(id, "%L", LANG_PLAYER, "ONLY_CTS", tag)
}
else ChatColor(id, "%L", LANG_PLAYER, "KILL_CHALLENGED", tag)
return PLUGIN_HANDLED
}
public sub_duel_menu(id, menu, item){
if (item == MENU_EXIT||item<0){
menu_destroy(menu)
return PLUGIN_HANDLED
}
static Data[6], Name[64], Access, Callback,Key
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, Callback)
Key = str_to_num(Data)
switch (Key){
case 1: awp_duel[id] = true
case 2: deagle_duel[id] = true
case 3: m3_duel[id] = true
}
choose_enemy(id)
menu_destroy(menu)
return PLUGIN_HANDLED
}
/*================================================================================
Menu of challenges
=================================================================================*/
public choose_enemy(id){
static opcion[64];formatex(opcion, charsmax(opcion),"\y%L:", id, "CHOOSE_ENEMY")
new iMenu = menu_create(opcion, "sub_choose_enemy")
static players[32], pnum, tempid,szName[33], szTempid[5]
get_players(players, pnum, "aceh","TERRORIST")
for( new i; i<pnum; i++ ){
tempid = players[i]
get_user_name(tempid, szName, charsmax(szName))
num_to_str(tempid, szTempid, charsmax(szTempid))
menu_additem(iMenu, szName, szTempid, 0)
}
menu_display(id, iMenu)
return PLUGIN_HANDLED
}
public sub_choose_enemy(id, menu, item){
if( item == MENU_EXIT||item<0 ){
menu_destroy(menu)
return PLUGIN_HANDLED
}
static Data[6], Name[64],Access, Callback,tempid
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, Callback)
tempid = str_to_num(Data)
new challenger[33], challenged[33]
get_user_name(id, challenger, charsmax(challenger))
get_user_name(tempid, challenged, charsmax(challenged))
// strip weapons
strip_user_weapons(id)
strip_user_weapons(tempid)
// health
set_user_health(id, 100)
set_user_health(tempid, 100)
// player challenged
player_challenged[tempid] = true
// lr menu once until he kills the player challenged
once[id] = true
// unable pick up weapon (only the 2 players on duel)
touch_weapons[id] = touch_weapons[tempid] = true
if(awp_duel[id]){
awp_duel[tempid] = true
cs_set_weapon_ammo(give_item(id, "weapon_awp"), 1)
cs_set_weapon_ammo(give_item(tempid, "weapon_awp"), 1)
set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)
show_hudmessage(0, "%L",LANG_PLAYER, "AWP_DUEL", challenger, challenged)
}
else if(deagle_duel[id]){
deagle_duel[tempid] = true
cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 1)
cs_set_weapon_ammo(give_item(tempid, "weapon_deagle"), 1)
set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)
show_hudmessage(0, "%L", LANG_PLAYER, "DEAGLE_DUEL", challenger, challenged)
}
else if(m3_duel[id]){
m3_duel[tempid] = true
cs_set_weapon_ammo(give_item(id, "weapon_m3"), 1)
cs_set_weapon_ammo(give_item(tempid, "weapon_m3"), 1)
set_hudmessage( 0, 255, 0, -1.0, 0.40, 2, 5.0, 8.0, 0.0, 0.0, 10)
show_hudmessage(0, "%L", LANG_PLAYER, "M3_DUEL", challenger, challenged)
}
duel_active = true
menu_destroy(menu)
return PLUGIN_HANDLED
}
/*================================================================================
Stocks
=================================================================================*/
stock RESET_ID_BOOLS(const id) touch_weapons[id] = once[id] = awp_duel[id] = deagle_duel[id] = m3_duel[id] = player_challenged[id] = false
stock ChatColor(const id, const input[], any:...){
static count = 1, players[32], msg[196]
vformat(msg, charsmax(msg), input, 3)
replace_all(msg, charsmax(msg), "!g", "^4") // Green Color
replace_all(msg, charsmax(msg), "!y", "^1") // Default Color
replace_all(msg, charsmax(msg), "!team", "^3") // Team Color
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, g_msgSayText, _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
Code: Select all
[en]
CHOOSE_DUEL = Choose a duel
DUEL_1 = Awp Duel
DUEL_2 = Deagle Duel
DUEL_3 = M3 Duel
ONLY_CTS = !team%s !yTS cannot open this menu
ONLY_LAST = !team%s !yOnly the !teamlast CT !ycan use this!
NOT_TS = !team%s !yNot !teamT alive/connected !yto fight.
KILL_CHALLENGED = !team%s !yKill the !teamCT !yand you can open the menu.
DUEL_DOWN = %s died for killing the enemy was not
CHOOSE_ENEMY = Choose player to fight
AWP_DUEL = %s vs %s^n Awp Duel
DEAGLE_DUEL = %s vs %s^n Deagle Duel
M3_DUEL = %s vs %s^n M3 Duel
Nu îmi mai trimiteți PM pe forum! Nu merge să răspund
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)