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
 

oeN. - zdjęcie

oeN.

Rejestracja: 15.12.2013
Aktualnie: Poza forum
Poza forum Ostatnio: Prywatna
-----

#709834 Jak pobrać id broni

Napisane przez oeN. w 16.08.2015 22:07

Tutaj masz gotowiec. Dodane są jeszcze HSy itp.

http://amxx.pl/topic/13035-ranga/


  • +
  • -
  • 1


#709793 Jak pobrać id broni

Napisane przez oeN. w 16.08.2015 16:11

Zmieniałeś coś w statsx pluginie? Jeśli tak to musisz go podesłać żeby go przerobić.


  • +
  • -
  • 1


#709686 [ROZWIĄZANE] Przerobienie pluginu ReasonKicker.amxx

Napisane przez oeN. w 15.08.2015 14:12

A no error, przecież, no tak... Error, kurde że wcześniej na to nie wpadłem. Dzięki Ci o wielki errorze! :mur:

Serio, co error? Jaki error?


  • +
  • -
  • 1


#709679 [ROZWIĄZANE] Przerobienie pluginu ReasonKicker.amxx

Napisane przez oeN. w 15.08.2015 13:52

Łapaj.

Załączone pliki


  • +
  • -
  • 1


#709676 AMXMODX/SourceMod Dekompilator

Napisane przez oeN. w 15.08.2015 13:48

CheQu, zostaw biednego Darka :X

 

W takim stanie jakim jest aktualnie dekompilator wiele nie zdziałamy żeby odczytać najważniejszą część pluginu, niestety. Wydaje mi się że łatwiej napisać plugin na podstawie tego w jaki sposób działa na serwerze ^D^


  • +
  • -
  • 1


#709629 Jak pobrać id broni

Napisane przez oeN. w 15.08.2015 08:25

Jeśli dobrze to wkleiłeś to musi działać, nie ma tutaj żadnego błędu.

Jeśli nie chcesz upubliczniać całego kodu, wyślij mi go na PW.


  • +
  • -
  • 1


#709601 Jak pobrać id broni

Napisane przez oeN. w 14.08.2015 22:10

E no, nie możliwe.

 

Podaj cały kod.


  • +
  • -
  • 1


#709599 Jak pobrać id broni

Napisane przez oeN. w 14.08.2015 22:00

:wstyd: :mur:

register_event("DeathMsg", "DeathMsg", "a")

Do plugin_init


  • +
  • -
  • 1


#709593 Jak pobrać id broni

Napisane przez oeN. w 14.08.2015 20:48

Proste.

#include <amxmodx>
#include <colorchat>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "oeN."

new killName[33][32], killWpn[33];

new const playerWeapon[][] = {
	"",
	"P228",
	"",
	"SCOUT",
	"HEGRENADE",
	"XM1014",
	"",
	"MAC10",
	"AUG",
	"",
	"ELITE",
	"FIVESEVEN",
	"UMP45",
	"SG550",
	"GALIL",
	"FAMAS",
	"USP",
	"GLOCK18",
	"AWP",
	"MP5",
	"M249",
	"M3",
	"M4A1",
	"TMP",
	"G3SG1",
	"",
	"DEAGLE",
	"SG552",
	"AK47",
	"KNIFE",
	"P90"
}

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("say /hp", "cmdHp");
	register_clcmd("say_team /hp", "cmdHp");
}

public DeathMsg()
{
	new kid = read_data(1);
	new vid = read_data(2);
	
	get_user_name(kid, killName[vid], 31);
	killWpn[vid] = get_user_weapon(kid);
}

public cmdHp(id){
	if(!is_user_alive(id))
		ColorChat(id, RED, "^x01Zabity przez^x03 %s^x01 z^x03 %s", killName[id], playerWeapon[killWpn[id]]);
	else
		client_print(id, print_chat, "Jestes nadal zywy.");
}


  • +
  • -
  • 1


#709552 Jak pobrać id broni

Napisane przez oeN. w 14.08.2015 15:40

W cmdMe:

for(new i=1;i<=31;i++)

Na

for(new i=1;i<=30;i++)

  • +
  • -
  • 1


#709498 Jak pobrać id broni

Napisane przez oeN. w 14.08.2015 09:02

public GetWeaponName(id, szReturn[], iLen)
{
	new szName[24];
	if(get_weaponname(get_user_weapon(id), szName, 23)) {
		replace(szName, 23, "weapon_", "");
		copy(szReturn, iLen, szName);
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}

przyklad

new szWeapon[24];
GetWeaponName(id, szWeapon, 23);
ColorChat(id, RED, "^x04 *^x03 (%s)^x01 Zadales dotychczas^x03 %d^x01 obrazen.", szWeapon, Damage[id]);

Fajna funkcja tylko że nazwa będzie z małych liter :X

 

Wyskrobałem co nieco :D

#include <amxmodx>
#include <colorchat>
#include <hamsandwich>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "oeN."

new pWeapon[33][31], Damage[33][31], bool:pDamage[33];

new const playerWeapon[][] = {
	"",
	"P228",
	"",
	"SCOUT",
	"HEGRENADE",
	"XM1014",
	"",
	"MAC10",
	"AUG",
	"",
	"ELITE",
	"FIVESEVEN",
	"UMP45",
	"SG550",
	"GALIL",
	"FAMAS",
	"USP",
	"GLOCK18",
	"AWP",
	"MP5",
	"M249",
	"M3",
	"M4A1",
	"TMP",
	"G3SG1",
	"",
	"DEAGLE",
	"SG552",
	"AK47",
	"KNIFE",
	"P90"
}

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("say /me", "cmdMe");
	register_clcmd("say_team/me", "cmdMe");
	register_logevent("NewRound", 2, "1=Round_Start");
	RegisterHam(Ham_TakeDamage, "player", "ForwardPlayerDmg", 1);
}

public NewRound() {
	for(new id = 1; id<=32; id++){
		if(!is_user_connected(id)) continue;
		
		pDamage[id] = false;
		for(new i=1;i<=31;i++){
			Damage[id][i] = 0;
			pWeapon[id][i] = 0;
		}
	}
}

public ForwardPlayerDmg(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits) {
	pWeapon[iAttacker][get_user_weapon(iAttacker)] = get_user_weapon(iAttacker);
	Damage[iAttacker][get_user_weapon(iAttacker)] += floatround(fDamage);
	if(!pDamage[iAttacker]) pDamage[iAttacker] = true;
}

public cmdMe(id) 
{ 
	if(pDamage[id]){
		for(new i=1;i<=31;i++){
			if(pWeapon[id][i])
				ColorChat(id, RED, "^x04*^x03(%s)^x01 Zadales dotychczas^x04 %d^x01 obrazen.", playerWeapon[pWeapon[id][i]], Damage[id][pWeapon[id][i]]);
		}
	}
	else ColorChat(id, RED, "*^x01 Nie zadales obrazen przeciwnikowi.");
	
	return PLUGIN_HANDLED;
}

pWeapon - zapisuje id broni jakiej użył gracz podczas zadawania obrażeń

Damage - zapisuje obrażenia danej broni (id broni)

pDamage - sprawdza czy gracz zadał obrażenia

 

Dzięki pWeapon możemy wypisywać z tablicy nazwy broni oraz ile z tej broni zadano obrażeń. Wszystko resetuje się przy nowej rundzie.

 

Sprawdź :P


  • +
  • -
  • 1


#709415 Jak pobrać id broni

Napisane przez oeN. w 13.08.2015 11:16

Tworzymy tablicę która będzie odpowiadać za nazwy broni.

new const playerWeapon[][] = {
	"",
	"P228",
	"",
	"SCOUT",
	"HEGRENADE",
	"XM1014",
	"",
	"MAC10",
	"AUG",
	"",
	"ELITE",
	"FIVESEVEN",
	"UMP45",
	"SG550",
	"GALIL",
	"FAMAS",
	"USP",
	"GLOCK18",
	"AWP",
	"MP5",
	"M249",
	"M3",
	"M4A1",
	"TMP",
	"G3SG1",
	"",
	"DEAGLE",
	"SG552",
	"AK47",
	"KNIFE",
	"P90"
}

Teraz wystarczy odpowiednie ID które będzie równe naszej nazwie z tablicy. W prosty sposób ID pobieramy przez get_user_weapon.

A więc twoja funkcja cmdMe będzie wyglądać tak:

public cmdMe(id) 
{ 
	if(Damage[id]) 
	{
		ColorChat(id, RED, "^x04*^x03(%s)^x01 Zadales dotychczas^x04 %d^x01 obrazen.", playerWeapon[get_user_weapon(id)], Damage[id]);
	}
	else ColorChat(id, RED, "*^x01 Nie zadales obrazen przeciwnikowi.");
	
	
	return PLUGIN_HANDLED;
}

A i zmieniłem w ColorChat(0, [...]) na ColorChat(id, [...]) - chyba nie chcesz żeby każdy widział wiadomość ile gracz i jaką bronią zadał obrażenia :)

 

Po napisaniu wszystkiego dopiero się skapłem o co Ci chodzi dokładniej. Tylko powiedz mi jeszcze jedno. Chcesz by obrażenia był zaliczane osobno, więc muszą się zapisać do jakiejś zmiennej (z tym nie będzie problemu), jednak czy one mają być tylko na jedną rundę? Od nowej rundy się zerują mam nadzieję?


  • +
  • -
  • 1


#709414 Logowanie zrobionych SS oraz Biały motd

Napisane przez oeN. w 13.08.2015 10:59

Masz moją wersję.

Załączone pliki


  • +
  • -
  • 1


#708241 Skiny do broni

Napisane przez oeN. w 31.07.2015 13:17

http://amxx.pl/topic...-pluginów-amxx/


  • +
  • -
  • 1


#708237 xredirect.amxx serwer nie odpowiada (down)

Napisane przez oeN. w 31.07.2015 12:12


[NAZWA]
address=IP
port=PORT
cmdbackup=2
noauto=0
nomanual=0
nodisplay=0

Więcej nic nie zmieniasz.


  • +
  • -
  • 1