Cerere duel doar cu :

Categoria cu cereri de pluginuri si nu numai.

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 .
Post Reply
User avatar
DeViLllll
Membru, skill 0
Membru, skill 0
Posts: 40
Joined: 13 Sep 2020, 12:30
Detinator Steam: Nu
CS Status: Hlewllel
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 1 time

27 Feb 2021, 18:14

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
RoyalServer 2
User avatar
levin
Scripter eXtreamCS
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:

02 Mar 2021, 15:34

sma

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()
		}
	}
}
lang txt

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)
Post Reply

Return to “Cereri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 18 guests