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

Moc zatruwania po naładowaniu noża dla klasy.

cod nowy

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

#1 Intex

    Wszechwiedzący

  • Power User

Reputacja: 59
Pomocny

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

Napisano 16.02.2012 23:37

Witam.

Postanowiłem wam udostępnić moc dla klasy, która aktywuje się po naładowaniu noża. Zrobił to dla mnie Pan QTM_Peyote, jednak postanowiłem się z wami podzielić.

Jeśli można proszę o zdjęcie ostrzeżenia.

Zaczynamy:

Pod ostatnim #include dodajemy



#define TASK_ID 128000



Pod statystykami klasy dodajemy:

#define CZAS_LADOWANIA 10 // Jak dlugo ma sie ladowac moc w s
new bool:moc_zaladowana[33];
new bool:ma_klase[33];
new msg_bartime;


Do public plugin_init() dopisujemy to:

    register_event("CurWeapon", "CurWeapon", "be", "1=1");
    register_event("ResetHUD", "ResetHUD", "abe");
    register_event("Damage", "Damage", "be", "2!0", "3=0", "4!0")
    msg_bartime = get_user_msgid("BarTime");
   
    register_forward(FM_PlayerPreThink, "client_PreThink");



#define TASK_ID 128000

Na sam koniec SMA klasy dodajemy to:

public client_PreThink(id)
{
    if(!task_exists(id+TASK_ID))
	    return;
	   
    if(pev(id, pev_button) & (IN_MOVELEFT+IN_MOVERIGHT+IN_FORWARD+IN_BACK+IN_JUMP+IN_DUCK))
    {
	    change_task(id+TASK_ID, CZAS_LADOWANIA.0);
	    set_bartime(id, CZAS_LADOWANIA);
    }
}
public CurWeapon(id)
{
    if(get_user_weapon(id) == CSW_KNIFE && !moc_zaladowana[id] && ma_klase[id])
    {
	    set_task(CZAS_LADOWANIA.0, "MocZaladowana", id+TASK_ID);
	    set_bartime(id, CZAS_LADOWANIA);
    }
    else
    {
	    remove_task(id+TASK_ID);
	    set_bartime(id, 0);
    }
}
stock set_bartime(id, czas)
{
    message_begin((id)?MSG_ONE:MSG_ALL, msg_bartime, _, id)
    write_short(czas);
    message_end();  
}
public MocZaladowana(id)
{
    id -= TASK_ID;
   
    if(!ma_klase[id]) return;
   
    moc_zaladowana[id] = true;
    client_print(id, print_center, "Umiejetnosc zostala aktywowana!");
    CurWeapon(id);
}
   
   
public ResetHUD(id) moc_zaladowana[id] = false;
#define TASK_ZATRUCIE 64000
new zatruwajacy[33];
public Damage(id)
{
    new attacker = get_user_attacker(id);
    if(!is_user_alive(attacker)) return;
   
    if(!moc_zaladowana[attacker]) return;
   
    zatruwajacy[id] = attacker;
    if(!task_exists(id+TASK_ZATRUCIE)) set_task(1.0, "Zatruj", id+TASK_ZATRUCIE, _, _, "a", 5);
}
public Zatruj(id)
{
    id -= TASK_ZATRUCIE;
    client_print(id, print_center, "Zostales zatruty!!");
    cod_inflict_damage(zatruwajacy[id], id, 8.0, 0.3);
}

  • +
  • -
  • 3
Dołączona grafika

#2 Name166

    Wszechwidzący

  • Zbanowany

Reputacja: 7
Nowy

  • Postów:245
  • GG:
  • Imię:Kamil
  • Lokalizacja:Warszawa
Offline

Napisano 17.02.2012 10:05

@UP a może jakąś klasę zrobisz z tym co podałeś wyżej ? tak na testy itp ;)


Przydatne ;) masz + na pewno z korzystam ;)

Użytkownik Name166 edytował ten post 17.02.2012 10:06


#3 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 17.02.2012 11:09

a moduly ?
  • +
  • -
  • 0

#4 LionHeart

    Wszechpomocny

  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:332
  • GG:
  • Imię:Grzegorz
  • Lokalizacja:Miechów
Offline

Napisano 17.02.2012 13:04

Robie tak jak napisałeś i niestety nie chce się skompilować ;/
Oto error logi:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

codclass_zatruwacz.sma(29) : error 017: undefined symbol "register_forward"
codclass_zatruwacz.sma(29) : warning 215: expression has no effect
codclass_zatruwacz.sma(29) : error 001: expected token: ";", but found ")"
codclass_zatruwacz.sma(29) : error 029: invalid expression, assumed zero
codclass_zatruwacz.sma(29) : fatal error 107: too many error messages on one line

Compilation aborted.
4 Errors.


Pomoże ktoś ?;/

Załączone pliki


Użytkownik LionHeart edytował ten post 17.02.2012 13:22

  • +
  • -
  • 0

#5 Intex

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 59
Pomocny

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

Napisano 17.02.2012 14:56

Name166 klasa i perk z tą mocą są dodane w tym dziale :) poszukaj :P



Proszę działające:

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <fun>
#include <fakemeta>
#define TASK_ID 128000
	  
new const nazwa[]   = "Tropiciel (Premium)";
new const opis[]	= "Posiada moc zatruwania po naladowaniu noza dla klasy";
new const bronie	= (1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FIVESEVEN)|(1<<CSW_MP5NAVY)|(1<<CSW_FLASHBANG);
new const zdrowie   = 20;
new const kondycja  = 10;
new const inteligencja = 0;
new const wytrzymalosc = 20;
#define CZAS_LADOWANIA 10 // Jak dlugo ma sie ladowac moc w s
new bool:moc_zaladowana[33];
new bool:ma_klase[33];
new msg_bartime;
  
public plugin_init()
{
		register_plugin(nazwa, "1.0", "amxx.pl");
		register_event("CurWeapon", "CurWeapon", "be", "1=1");
		register_event("ResetHUD", "ResetHUD", "abe");
		register_event("Damage", "Damage", "be", "2!0", "3=0", "4!0");
		msg_bartime = get_user_msgid("BarTime");
  
		register_forward(FM_PlayerPreThink, "client_PreThink");
		cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
}
public cod_class_enabled(id)
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
}
public client_PreThink(id)
{
	if(!task_exists(id+TASK_ID))
			return;
		  
	if(pev(id, pev_button) & (IN_MOVELEFT+IN_MOVERIGHT+IN_FORWARD+IN_BACK+IN_JUMP+IN_DUCK))
	{
			change_task(id+TASK_ID, CZAS_LADOWANIA.0);
			set_bartime(id, CZAS_LADOWANIA);
	}
}
public CurWeapon(id)
{
	if(get_user_weapon(id) == CSW_KNIFE && !moc_zaladowana[id] && ma_klase[id])
	{
			set_task(CZAS_LADOWANIA.0, "MocZaladowana", id+TASK_ID);
			set_bartime(id, CZAS_LADOWANIA);
	}
	else
	{
			remove_task(id+TASK_ID);
			set_bartime(id, 0);
	}
}
stock set_bartime(id, czas)
{
	message_begin((id)?MSG_ONE:MSG_ALL, msg_bartime, _, id)
	write_short(czas);
	message_end();
}
public MocZaladowana(id)
{
	id -= TASK_ID;
  
	if(!ma_klase[id]) return;
  
	moc_zaladowana[id] = true;
	client_print(id, print_center, "Umiejetnosc zostala aktywowana!");
	CurWeapon(id);
}
  
  
public ResetHUD(id) moc_zaladowana[id] = false;
#define TASK_ZATRUCIE 64000
new zatruwajacy[33];
public Damage(id)
{
	new attacker = get_user_attacker(id);
	if(!is_user_alive(attacker)) return;
  
	if(!moc_zaladowana[attacker]) return;
  
	zatruwajacy[id] = attacker;
	if(!task_exists(id+TASK_ZATRUCIE)) set_task(1.0, "Zatruj", id+TASK_ZATRUCIE, _, _, "a", 5);
}
public Zatruj(id)
{
	id -= TASK_ZATRUCIE;
	client_print(id, print_center, "Zostales zatruty!!");
	cod_inflict_damage(zatruwajacy[id], id, 8.0, 0.3);
}

Użytkownik Intex edytował ten post 17.02.2012 14:57

  • +
  • -
  • 3
Dołączona grafika

#6 Name166

    Wszechwidzący

  • Zbanowany

Reputacja: 7
Nowy

  • Postów:245
  • GG:
  • Imię:Kamil
  • Lokalizacja:Warszawa
Offline

Napisano 17.02.2012 15:03

@ UP on ma tylko to jako bronie ?
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");

On jest widzialny czy niewidzialny ? bo jak jest widzialny to by przydał się jakiś famas lub galil :) bo same granaty nic nie dadzą ;)

#7 Intex

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 59
Pomocny

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

Napisano 17.02.2012 15:05

Ja mu tylko poprawiłem żeby mu moc zatrucia działała :P nie zmieniałem mu broni :P
  • +
  • -
  • 0
Dołączona grafika

#8 Kendzior87

    Zaawansowany

  • Użytkownik

Reputacja: 5
Nowy

  • Postów:130
  • Lokalizacja:Matrix
Offline

Napisano 18.02.2012 13:12

Czy mogę prosic kogos o pokazanie jak dodac to do starego cod moda?
Pozdrawiam.
  • +
  • -
  • 0

#9 LionHeart

    Wszechpomocny

  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:332
  • GG:
  • Imię:Grzegorz
  • Lokalizacja:Miechów
Offline

Napisano 18.02.2012 19:46

Jak zmienić ilość zadawanych DMG przez zatrucie ? ;)
  • +
  • -
  • 0

#10 Intex

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 59
Pomocny

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

Napisano 18.02.2012 20:14

cod_inflict_damage(zatruwajacy[id], id,8.0,0.3);


}
Zamiast 8.0 daj coś innego:P
  • +
  • -
  • 1
Dołączona grafika

#11 LionHeart

    Wszechpomocny

  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:332
  • GG:
  • Imię:Grzegorz
  • Lokalizacja:Miechów
Offline

Napisano 19.02.2012 18:51

I mam problem .
Pakują u mnie w inteligencje i wtedy zatrucie wali po ponad 30 dmg.
Da się skasować inte lub ja jakoś osłabić ?
  • +
  • -
  • 0

#12 SoPelQ

    Banned

  • Zbanowany

Reputacja: 7
Nowy

  • Postów:121
  • Lokalizacja:Utajnione
Offline

Napisano 22.02.2012 19:55

@UP
cod_inflict_damage(zatruwajacy[id], id,8.0,0.3);
Zamień 0.3 na 0.0.

Użytkownik lok301 edytował ten post 22.02.2012 19:56


#13 LionHeart

    Wszechpomocny

  • Użytkownik

Reputacja: 12
Początkujący

  • Postów:332
  • GG:
  • Imię:Grzegorz
  • Lokalizacja:Miechów
Offline

Napisano 23.02.2012 10:31

Dzięki za pomoc. Zaraz przetestuje ;d
  • +
  • -
  • 0





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