←  Poradniki, Łatki oraz Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
1/x z kilku broni (łatwiejszy sposób)

  • +
  • -
KariiO - zdjęcie KariiO 26.11.2011

Poradnik dotyczy tylko klas ale każdy kto ma minimum wiedzy o nowym codzie powinien z łatwością dostosować poradnik do perku.

A więc zaczynamy:

do tablic dodaj(pierwszą tablice możesz mieć):
new ma_klase[33]
new oneonone[33][31]

jeżeli w plugin_init nie masz to dodaj:
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");

TakeDamage powinien wyglądać tak:
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
	if(!is_user_connected(idattacker))
		return HAM_IGNORED;
	
	if(!ma_klase[idattacker])
		return HAM_IGNORED;
	
	if(!(damagebits & (1<<1)))
		return HAM_IGNORED;
	
	new hp_ofiary = get_user_health(this)
	new bron_atakujacego = get_user_weapon(idattacker)
	
	if (oneonone[idattacker][bron_atakujacego] > 0)
	{
		if (random_num(1,oneonone[idattacker][bron_atakujacego]) == 1) cod_inflict_damage(idattacker, this, float(hp_ofiary), 0.0, idinflictor, damagebits);
	}
	
	return HAM_IGNORED;
}

public cod_class_enabled(id)
{
	oneonone[id][CSW_AWP] = 2
	oneonone[id][CSW_M4A1] = 4
	ma_klase[id] = 1;

	return COD_CONTINUE;
}
ustawiam gościowi 1/2 z AWP i 1/4 z M4A1.(to tylko przykład za AWP i M4A1 możecie wpisać inne bronie)

public cod_class_disabled(id)
{
	ma_klase[id] = 0;
	oneonone[id][CSW_AWP] = 0
	oneonone[id][CSW_M4A1] = 0
}
tutaj to zerujemy ponieważ zmienia klasę.

Jeżeli pojawi się jakiś problem to dajcie znać, to tyle :D
Użytkownik KariiO edytował ten post 14.12.2011 17:03
Odpowiedz

  • +
  • -
Na 5tyk - zdjęcie Na 5tyk 12.12.2011

public cod_class_disabled(id)
{
ma_klase[id] = 0;
oneonone[id][CSW_AWP] = 2
oneonone[id][CSW_M4A1] = 4
}

PO co dajesz moc jak zmieniasz klase?

I jaką mamy dodać biblioteke?
#include <hamsandwich>
Odpowiedz

  • +
  • -
KariiO - zdjęcie KariiO 14.12.2011

public cod_class_disabled(id)
{
ma_klase[id] = 0;
oneonone[id][CSW_AWP] = 2
oneonone[id][CSW_M4A1] = 4
}

PO co dajesz moc jak zmieniasz klase?

I jaką mamy dodać biblioteke?
#include <hamsandwich>

Racja mój błąd, kopiowałem i zapomniałem zmienić.

Co do ham to chyba logiczne bo:
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
Myślałem że takiego czego już nie trzeba tłumaczyć ale widocznie myliłem się, nie dodałem również dlatego że wzorowałem się na klasie ściągniętej z poradnika i tam po prostu był już ham.
Odpowiedz

  • +
  • -
Turvzak - zdjęcie Turvzak 30.12.2011

Czy możesz wysłać przykładowy plik z klasą ???
Odpowiedz

_nothing_ - zdjęcie _nothing_ 31.12.2011

Mnie się wydaję, że ten sposób jest łatwiejszy :

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <hamsandwich>
#include <cstrike>
	   
new const nazwa[]   = "test";
new const opis[]    = "test";
new const bronie    = (1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_M3);
new const zdrowie   = 0;
new const kondycja  = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;
   
new ma_klase[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
  
RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage_JedenZ");
}
public cod_class_enabled(id)
{
ma_klase[id] = true;
}
public cod_class_disabled(id)
{
ma_klase[id] = false;
}
public fwTakeDamage_JedenZ(this, idInf, idAtt, Float:fDmg, dmgBits){
if(!is_user_alive(idAtt) || !ma_klase[idAtt] || !(dmgBits & (1<<1) ) || random_num(1, 5) != 1 )
  return HAM_IGNORED;
cs_set_user_armor(this, 0, CS_ARMOR_NONE);
SetHamParamFloat(4, float(get_user_health(this) + 1));
return HAM_HANDLED;
}

Dałem tutaj przykładowe 3 bronie " XM1014, MAC10 oraz M3 " od teraz klasa ma z każdej broni 1/5 na natychmiastowe zabicie .
Odpowiedz

  • +
  • -
Turvzak - zdjęcie Turvzak 31.12.2011

Ale mi chodzi żeby np. było 1/1 z awp a z reszty już nie .
Czy ktoś może wysłać przykładowy plik z klasą.
Odpowiedz

_nothing_ - zdjęcie _nothing_ 31.12.2011

no to wszystko masz w pierwszym poście .
Odpowiedz

  • +
  • -
Turvzak - zdjęcie Turvzak 31.12.2011

MI CHODZI O CAŁY PLIK !!!!!!!!!!!!!
Odpowiedz

  • +
  • -
Artemis - zdjęcie Artemis 04.02.2012

Witam, jestem nowy i trochę ogarniam, ale nie wiem jak zrobić do tego 1/2 z HE

podam plik .sma do klasy i prosiłbym o dodanie z HE 1/2 oraz prosiłbym o wyjaśnienie jak to zrobić ponieważ chcę się nauczyć ^^

opis klasy macie w .sma, przy okazji powiedzcie czy wszystko pozostałe jest dobrze zrobione ^ ^

Przy okazji prosiłbym również o kod, jak dodać do klasy +x hp i pełny magazynek za zabójstwo ( nie do tej klasy )

Pozdrawiam i z góry dziękuję za odp.

Załączone pliki

Odpowiedz

  • +
  • -
d0naciak - zdjęcie d0naciak 04.02.2012

zeby dzialalo nahe trzeba zamienic w public TakeDamage

if(!(damagebits & (1<<1)))
return HAM_IGNORED;


na

if(!(damagebits & (1<<24)))
return HAM_IGNORED;

Odpowiedz

  • +
  • -
Artemis - zdjęcie Artemis 04.02.2012

zrobiłem, tak jak kolega napisał wyżej, ale teraz nie mam 1/1 z AWP ....
Odpowiedz

  • +
  • -
Artemis - zdjęcie Artemis 04.02.2012

właśnie tamten poradnik pokazuje, jak zrobić 1/x albo z HE albo z broni, nie ma pokazane jak zrobić z 1 broni i z HE naraz.
Jakbyś mógł podać jakikolwiek przykład na podstawie tamtego poradnika:
1/2 z HE, 1/1 z AWP i 1/5 z usp naraz ( wtedy wiedziałbym dokładniej jak to zrobić )
oczywiście + za linka oraz jak podasz ww przykład dostaniesz kolejnego plusa ^^

Pozdrawiam
Odpowiedz

  • +
  • -
Pytajek - zdjęcie Pytajek 07.02.2012

Wytęż swój umysł i połącz HE z AWP inteligęcie.
Odpowiedz

  • +
  • -
HeLLoOo - zdjęcie HeLLoOo 30.03.2012

Czy możesz wysłać przykładowy plik z klasą ???


Łap:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <hamsandwich>
#include <cstrike>
new const nazwa[] = "Test";
new const opis[] = "Test";
new const bronie = (1<<CSW_M4A1)|(1<<CSW_AWP)|(1<<CSW_DEAGLE);
new const zdrowie = 20;
new const kondycja = 0;
new const inteligencja = 0;
new const wytrzymalosc = 50;

new ma_klase[33];
new oneonone[33][31]
public plugin_init()
{
register_plugin(nazwa, "1.0", "HeadShot");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public cod_class_enabled(id)
{
oneonone[id][CSW_AWP] = 1
oneonone[id][CSW_M4A1] = 4
ma_klase[id] = 1;
return COD_CONTINUE;
}
public cod_class_disabled(id)
{
ma_klase[id] = 0;
oneonone[id][CSW_M4A1] = 0
oneonone[id][CSW_AWP] = 0
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;

if(!ma_klase[idattacker])
return HAM_IGNORED;

if(!(damagebits & (1<<1)))
return HAM_IGNORED;

new hp_ofiary = get_user_health(this)
new bron_atakujacego = get_user_weapon(idattacker)

if (oneonone[idattacker][bron_atakujacego] > 0)
{
if (random_num(1,oneonone[idattacker][bron_atakujacego]) == 1) cod_inflict_damage(idattacker, this,
float(hp_ofiary), 0.0, idinflictor, damagebits);
}

return HAM_IGNORED;
}


Klasa ma 1/1 z AWP i 1/4 z M4A1.
Użytkownik HeLLoOo edytował ten post 30.03.2012 06:47
Odpowiedz

shoote - zdjęcie shoote 07.04.2012

a dałby ktoś wzór z klasą premium jakąś? Np. M4 1/10, HE 1/3, AWP 1/2 i jest na flage "E"

Dziękować :D
Odpowiedz

shoote - zdjęcie shoote 07.04.2012

Ok juz mam

Nie moglem edytowac więc sry za spamik :P
Odpowiedz

  • +
  • -
dasiek - zdjęcie dasiek 07.04.2012

Ciekawe rozwiązanie :) +
Odpowiedz

  • +
  • -
MlodYxdddd - zdjęcie MlodYxdddd 02.07.2012

Kto da kawalek tego co mam w moim sma wklecic chodzi mi ze ma 1/4 z m4a1
Odpowiedz