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
CoD Nowy

[Tutorial]Bronie 1/x dla klas.

CoD Nowy

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

#1 KariiO

    Super Hero

  • Power User

Reputacja: 396
Wszechpomocny

  • Postów:1 133
  • GG:
  • Imię:Korneliusz
  • Lokalizacja:Cieszyn
Offline

Napisano 08.02.2011 22:15

*
Popularny

Poradnik jak sama nazwa wskazuję ma dać klasie szanse na natychmiastowe zabicie z danej broni.

Otwieramy sma klasy którą chcemy edytować a następnie:

Na górze znajdź:
#include <amxmodx>
Dodaj pod:
#include <hamsandwich>
I pod tym wyżej dodaj:
#define DMG_BULLET (1<<1)
Do plugin_init:
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");

*Jeżeli klasa ma już te dwie opcje dodane to już nie trzeba ^^

Najlepiej na dół:
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 & DMG_BULLET)
	{
		new weapon = get_user_weapon(idattacker);
		
		if(weapon == CSW_BRON && damage > 20.0 && random_num(1,2) == 1) 
			cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
			
	}
	
	return HAM_IGNORED;
}

Gdy zdarzy się że dana klasa ma już 1/x z jakieś broni dodajemy tylko:
if(weapon == CSW_BRON && damage > 20.0 && random_num(1,2) == 1) 
			cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

BRON - z jakiej broni masz szanse na natychmiastowe zabicie...nazwy itd
:
Nazwy broni i ammo do give_item (+ speed) - AMXX.pl: Support AMX Mod X
1,2-szansa 1/2 czyli 50% jeżeli chcesz zmienić np. na 25% dajemy 1,4 itd. itd...
Jeśli po prostu ma zabijać na 100% bez losowania to zamieniamy to
:
if(weapon == CSW_BRON && damage > 20.0 && random_num(1,2) == 1)

Na to:
if(weapon == CSW_BRON && damage > 20.0)

Męczy mnie tu:
damage > 20.0
Funkcja ma być "uaktywniona" jeżeli z noża zadamy więcej obrażeń niż 20 HP , myślałem o usunięciu ale wole nie kombinować :>

Jeżeli już skończyliśmy to plik amxx ładnie podmienić/dodać :)

Użytkownik KariiO edytował ten post 12.02.2011 13:26

  • +
  • -
  • 29

#2 sharkowy

    Lokalna anomalia sejsmiczna o nieustalonej genezie.

  • Przyjaciel

Reputacja: 113
Zaawansowany

  • Postów:1 981
Offline

Napisano 12.02.2011 13:16

Pod #include <hamsandwich>

Trzeba dodać

#define DMG_BULLET (1<<1)


:)
  • +
  • -
  • 0

#3 Fluooo

    Początkujący

  • Użytkownik

Reputacja: 4
Nowy

  • Postów:16
  • Imię:Filip
  • Lokalizacja:Dzemolandia
Offline

Napisano 02.03.2011 11:23

Error: Symbol already defined: "RegisterHam" on line 19

Przy kompilacji taki błąd wyskakuje. Pomozecie?
  • +
  • -
  • 0

#4 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 02.03.2011 15:45

#include <hamsandwich

Dopisz to na początku.

Źle przeczytałem. Zapewne nie dałeś funkcji RegisterHam między klamrami w plugin_init, tylko poza nią.

Użytkownik Goliath edytował ten post 02.03.2011 15:47

  • +
  • -
  • 2

#5 Fluooo

    Początkujący

  • Użytkownik

Reputacja: 4
Nowy

  • Postów:16
  • Imię:Filip
  • Lokalizacja:Dzemolandia
Offline

Napisano 02.03.2011 16:12

Fakt. Nie domknąłem tego. + dla Cię
  • +
  • -
  • 0

#6 MatisyaHu

    Wszechwidzący

  • Użytkownik

Reputacja: 47
Pomocny

  • Postów:296
  • Imię:MatisyaHu
  • Lokalizacja:Melbern
Offline

Napisano 02.03.2011 17:00

oczywiscie można tez w przypadku he(granata) to stosowac ?
  • +
  • -
  • 0

#7 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 02.03.2011 17:04

*
Popularny

Trochę inaczej, ale tak :) . Trzeba dodać na początku:
#define DMG_HEGRENADE (1<<24)

I zmienić TakeDamage na taki:
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 & DMG_HEGRENADE && random_num(1, 2) == 1)
{
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
}

return HAM_IGNORED;
}

  • +
  • -
  • 7

#8 MatisyaHu

    Wszechwidzący

  • Użytkownik

Reputacja: 47
Pomocny

  • Postów:296
  • Imię:MatisyaHu
  • Lokalizacja:Melbern
Offline

Napisano 02.03.2011 21:04

aha ok dzięki ^^
  • +
  • -
  • 0

#9 jejaja

    Pomocny

  • Zbanowany

Reputacja: 2
Nowy

  • Postów:43
  • Lokalizacja:Polska
Offline

Napisano 10.03.2011 13:51

a jak to zrobic w starym cod'zie ?

#10 c0nst

    Nowy

  • Zbanowany

Reputacja: 2
Nowy

  • Postów:8
  • Lokalizacja:Węglówka
Offline

Napisano 13.03.2011 13:18

podajcie linka do 1/x dla przedmiotów

#11 jejaja

    Pomocny

  • Zbanowany

Reputacja: 2
Nowy

  • Postów:43
  • Lokalizacja:Polska
Offline

Napisano 08.04.2011 08:59

error 021: symbol already defined: "RegisterHam"

RegisterHam(Ham_TakeDamage, "player", "TakeDamage");

#12 sharkowy

    Lokalna anomalia sejsmiczna o nieustalonej genezie.

  • Przyjaciel

Reputacja: 113
Zaawansowany

  • Postów:1 981
Offline

Napisano 08.04.2011 11:51

Pewnie w plugin_init dałeś podwójnie RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); jedno usuń.
  • +
  • -
  • 0

#13 Ficu

    Pomocny

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:49
  • Imię:Kuba
  • Lokalizacja:Kraków
Offline

Napisano 02.07.2011 20:47

Ktoś wyżej podał jak dodać natychmiastowe zabicie z he a jak zrobić żeby było natychmiastowe zabicie z he i deagle ?
  • +
  • -
  • 0

loeg.png
Prosty, szybki i nigdy nie wygasający hosting plików!
Wrzucaj pliki do 20 MB!

 


#14 Masło

    Życzliwy

  • Zbanowany

Reputacja: 2
Nowy

  • Postów:38
  • Imię:Kamil
  • Lokalizacja:nEtOwIeC :D
Offline

Napisano 02.07.2011 21:03




public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)

{

	if(!is_user_connected(idattacker))

		return HAM_IGNORED;

	

	if(!ma_klase[idattacker])

		return HAM_IGNORED;

		

	if(get_user_weapon(idattacker) == CSW_DEAGLE && damagebits & DMG_BULLET && damage > 20.0)

		cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

		

	if(get_user_weapon(idattacker) == CSW_HEGRANADE && damagebits & DMG_BULLET && damage > 20.0)

		cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);



	return HAM_IGNORED;

}





#15 Intex

    Wszechwiedzący

  • Power User

Reputacja: 59
Pomocny

  • Postów:525
  • GG:
  • Imię:Piotr
  • Lokalizacja:Waszawa
Offline

Napisano 18.10.2011 15:44

a na nóż?
  • +
  • -
  • 0
Dołączona grafika

#16 Kaleka

    Wszechwidzący

  • Użytkownik

Reputacja: 108
Zaawansowany

  • Postów:237
  • GG:
  • Imię:Eryk
  • Lokalizacja:Łódź
Offline

Napisano 22.10.2011 18:27

Nie działa ?.
Error: Undefined symbol "ma_klase" on line 34

@Down
Mój błąd, dziękuje :)

Użytkownik Zielony Smerf edytował ten post 23.10.2011 06:00

  • +
  • -
  • 0

reklama.png

pluginyCOD.pl  Perki i klasy oraz dodatki do codmoda!

 


#17 Na 5tyk

    Godlike

  • Użytkownik

Reputacja: 430
Wszechobecny

  • Postów:1 712
  • GG:
  • Imię:Patryk
  • Lokalizacja:PL
Offline

Napisano 22.10.2011 21:44

A gdzie zjadłes:
new bool: ma_klase[33];

  • +
  • -
  • 4

#18 WAKOS

    Banned

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:5
  • Imię:Kamil
  • Lokalizacja:Łódź
Offline

Napisano 26.03.2012 20:30

A pokaże ktoś jak to ma wyglądać? Bo czytam już z 4 raz i dalej nie rozumiem. :facepalm2:

#19 Chmielu555

    Życzliwy

  • Użytkownik

Reputacja: 8
Nowy

  • Postów:24
  • Imię:Przemek
  • Lokalizacja:Poznań
Offline

Napisano 04.06.2012 17:01

Ma to wyglądać tak:


#include <amxmodx>
#include <hamsandwich>
#include <amxmisc>
#include <codmod>
#include <fakemeta>
#define DMG_BULLET (1<<1)

new const nazwa[] = "Rambo";
new const opis[] = "Dostaje MP5, 1/1 z kosy, nie słychać jego kroków";
new const bronie = (1<<CSW_MP5NAVY);
new const zdrowie = 30;
new const kondycja = 35;
new const inteligencja = 0;
new const wytrzymalosc = 20;

new skoki[33];

new ma_klase[33];

public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");

cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

register_forward(FM_CmdStart, "fwCmdStart_MultiJump");

}

public cod_class_enabled(id)
{
ma_klase[id] = true;

}

public cod_class_disabled(id)
{
ma_klase[id] = false;

}

public fwCmdStart_MultiJump(id, uc_handle)
{
if(!is_user_alive(id) || !ma_klase[id])
return FMRES_IGNORED;

new flags = pev(id, pev_flags);

if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])
{
skoki[id]--;
new Float:velocity[3];
pev(id, pev_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id, pev_velocity,velocity);
}
else if(flags & FL_ONGROUND)
skoki[id] = 3;

return FMRES_IGNORED;
}

{
if(!is_user_connected(idattacker))
return HAM_IGNORED;

if(!ma_klase[idattacker])
return HAM_IGNORED;

if(damagebits & DMG_BULLET)
{
new weapon = get_user_weapon(idattacker);

if(weapon == CSW_KNIFE && damage > 20.0)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

}

return HAM_IGNORED;
}

Użytkownik Chmielu555 edytował ten post 04.06.2012 17:02

  • +
  • -
  • 0

#20 sCerR..*!

    Wszechwidzący

  • Użytkownik

Reputacja: 75
Zaawansowany

  • Postów:225
  • GG:
  • Imię:Patryk
  • Lokalizacja:Piła
Offline

Napisano 04.06.2012 17:40

Chmielu555 przestań się bawić w robienie klas skoro nie umiesz.

WAKOS masz tu jak ma to wyglądać.
Spoiler

  • +
  • -
  • 2





Również z jednym lub większą ilością słów kluczowych: CoD Nowy

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

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