Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Pojedynek na Deagle miedzy dwoma TT


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
1 odpowiedź w tym temacie

#1 Ripposta

    Banned

  • Zbanowany

Reputacja: 4
Nowy

  • Postów:56
  • Lokalizacja:Polska
Offline

Napisano 03.11.2014 20:15

Próbowałem jakoś zrobić plugin Pojedynek na Deagle pomiędzy dwoma terrorystami. Coś wyszło wzorując się na pluginie Pojedynku na Deagle w JailBreaku xD

Jestem amatorem , próbuję coś robić aby się uczyć ale nie wychodzi mi to trochę , potrzebuję pomocy z tym najlepiej od was.

Po wpisaniu /pojedynek wyświetla się menu z graczami z TT , ale po wciśnięciu na gracza nic się nie dzieje.

Nie wiem gdzie jest błąd , za cienki chyba w tym jestem ale proszę o podanie przyczyny nie wyświetlającego się menu :)

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <colorchat>

#define PLUGIN "Deagle"
#define VERSION "1.0"
#define AUTHOR "Ripposta"


new bronie_pojedynek, pojedynek[2];
new HamHook:fHamKill, HamHook:fHamDamage, HamHook:fHamTrace, HamHook:fHamWeapon[31];

new id_deagle;

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
      register_clcmd("say /pojedynek", "MenuPojedynek")
}

public OnRemoveData(day)
{
	if(pojedynek[0] || pojedynek[1])
	{
		pojedynek[0] = 0;
		pojedynek[1] = 0;
		RegisterHams(false);
	}
	bronie_pojedynek = 0;
}

public OnLastPrisonerTakeWish(id, zyczenie)
{
      if(zyczenie == id_deagle)
	{
		pojedynek[0] = id;
		bronie_pojedynek = CSW_DEAGLE;
			
		MenuPojedynek(id);
	}
      	return PLUGIN_CONTINUE;
}	

public MenuPojedynek(id)
{
	new menu = menu_create("Pojedynek Z:", "Handle_Pojedynek");
	for(new i=1; i<=32; i++)
	{
		if(!is_user_alive(i) || !is_user_connected(i) || cs_get_user_team(i) != CS_TEAM_T)
			continue;
		new name[64];
		get_user_name(i, name, 63);
		menu_additem(menu, name);
	}
	menu_setprop(menu, MPROP_EXITNAME, "\dWyjdz");
	menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
	menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
	menu_display(id, menu);
}

public Handle_Pojedynek(id, menu, item)
{
	if(pojedynek[0] != id || pojedynek[1] || !is_user_alive(id))
		return;
	
	if(item == MENU_EXIT)
	{
		menu_display(id, menu);
		return;
	}
	
	new acces, callback, data[3], szName2[64];
	menu_item_getinfo(menu, item, acces, data, 2, szName2, 63, callback);
	
	pojedynek[1] = get_user_index(szName2);
	if(!is_user_alive(pojedynek[1]) || !is_user_connected(pojedynek[1]))
	{
		pojedynek[1] = 0;
		MenuPojedynek(id);
		return;
	}
	new szName[32];
	get_user_name(id, szName, 31);
	
	ColorChat(0, TEAM_COLOR, "^x04[Pojedynek]^x03 %s^x01 walczy z^x03 %s", szName, szName2);
	
	RegisterHams(true);
	
	set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 10);
	set_user_rendering(pojedynek[1], kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 10);
	
	set_user_health(id, 100);
	set_user_health(pojedynek[1], 100);
	
	strip_user_weapons(id);
	strip_user_weapons(pojedynek[1]);
	
	new weapon_name[24];
	get_weaponname(bronie_pojedynek, weapon_name, 23);
	
	new ent = give_item(id, weapon_name);
	new ent2 = give_item(pojedynek[1], weapon_name);
	
	cs_set_weapon_ammo(ent, 1);
	cs_set_weapon_ammo(ent2, 1);
}

public TakeDamage(id, ent, attacker, Float:damage, damagebits)
	return vTracerAttack(id, attacker);

public TraceAttack(id, attacker, Float:damage, Float:direction[3], tracehandle, damagebits)
	return vTracerAttack(id, attacker);

vTracerAttack(id, attacker)
{
	if(!pojedynek[0] || !is_user_connected(id) || !is_user_connected(attacker) || id == attacker)
		return HAM_IGNORED;
	
	if(pojedynek[0] == id && pojedynek[1] != attacker)
		return HAM_SUPERCEDE;
		
	if(pojedynek[0] == attacker && pojedynek[1] != id)
		return HAM_SUPERCEDE;	
	return HAM_IGNORED;
}

public WeaponAttack(ent)
{
	new id = get_pdata_cbase(ent, 41, 4);
	if(pojedynek[0] == id || pojedynek[1] == id)
	{
		cs_set_user_bpammo(id, bronie_pojedynek, 1);
	}
}		

public RegisterHams(bool:wartosc)
{
	if(wartosc)
	{
		if(fHamKill)
			EnableHamForward(fHamKill);
		else
			fHamKill = RegisterHam(Ham_Killed, "player", "SmiercGraczaPost", 1);
		
		if(fHamDamage)
			EnableHamForward(fHamDamage);
		else
			fHamDamage = RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
			
		if(fHamTrace)
			EnableHamForward(fHamTrace);
		else
			fHamTrace = RegisterHam(Ham_TraceAttack, "player", "TraceAttack");
			

		if(fHamWeapon[bronie_pojedynek])
			EnableHamForward(fHamWeapon[bronie_pojedynek]);
		else
		{
			new WeaponName[24];
			get_weaponname(bronie_pojedynek, WeaponName, 23);
			fHamWeapon[bronie_pojedynek] = RegisterHam(Ham_Weapon_PrimaryAttack, WeaponName, "WeaponAttack", 1);
		}
	}
	else
	{
		if(fHamKill)
			DisableHamForward(fHamKill);
			
		if(fHamDamage)
			DisableHamForward(fHamDamage);
			
		if(fHamTrace)
			DisableHamForward(fHamTrace);	
			
		if(fHamWeapon[bronie_pojedynek])
			DisableHamForward(fHamWeapon[bronie_pojedynek]);
	}
}


Użytkownik Ripposta edytował ten post 03.11.2014 20:22

Zapraszam na Najlepsze Serwery

EliteBaseBuilder+Exp | Max 100 LvL | Grupy | Nowy Silnik v7.5 | Nowe Klasy Zombie | Bronie od LvL'a | IP: 79.133.192.40:27063 |

b_350_20_000000_000000_FFFFFF_FFFFFF.png

 

EliteJailBreak | Gangi bez UM | Sklep za Fajki | Ruletka | Dużo Adminów | I wiele wiele więcej! | IP: 80.72.41.98:27032 |

b_350_20_000000_000000_FFFFFF_FFFFFF.png


#2 Wielkie Jol

    REPREZENTUJE SIEBIE I CAŁĄ GALAKTYKĘ

  • Support Team

Reputacja: 683
Wszechmogący

  • Postów:1 258
  • GG:
  • Lokalizacja:AMXX
Offline

Napisano 05.11.2014 19:16

W poprzednim przez ciebie założonym temacie jest wytlumaczone co masz zrobic
  • +
  • -
  • 0

"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad. Jego poczucie etyki domaga się, aby napisał procedurę zniszczMiasto, a Bagdad przekazał jako parametr" - Nathaniel Borenstein.





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych