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

Item Poison


  • Zamknięty Temat jest zamknięty
28 odpowiedzi w tym temacie

#1 alien123

    Pomocny

  • Użytkownik

Reputacja: 6
Nowy

  • Postów:54
  • Lokalizacja:Polska
Offline

Napisano 07.05.2011 16:03

Witam
Jak zrobić item, który będzie miał 1/3 szansy na zatrucie wroga?
Dmg zatrucia będzie zależały od inteligencji.
  • +
  • -
  • 0

#2 Onyke

    Godlike

  • Przyjaciel

Reputacja: 708
Guru

  • Postów:2 178
Offline

Napisano 07.05.2011 16:05

Wzoruj się na tym
[Fix 5.9l] Naprawa mocy pistoletowej maga - AMXX.pl: Support AMX Mod X
  • +
  • -
  • 1

#3 alien123

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 6
Nowy

  • Postów:54
  • Lokalizacja:Polska
Offline

Napisano 07.05.2011 18:33

A zamiast tego
public DoDamage(id, iDamage, attacker, weapon[]) {
        if(is_user_connected(id) && is_user_alive(id) && is_user_connected(attacker) && freeze_ended) {
                change_health(id, -iDamage, attacker, weapon);
                if(get_user_health(id) < 1) {
                        add_respawn_bonus(id);
                        add_bonus_explode(id);
                        add_barbarian_bonus(attacker);
                        if(player_class[attacker] == Barbarzynca)
                                refill_ammo(attacker);
                        set_renderchange(attacker);
                }
        }
}
Dać to?
public DoDamage(id, iDamage, attacker, weapon[]) {
        if(is_user_connected(id) && is_user_alive(id) && is_user_connected(attacker) && poison_ended) {
                change_health(id, -iDamage, attacker, weapon);
                if(get_user_health(id) < 1) {
                        add_respawn_bonus(id);
                        add_bonus_explode(id);
                        add_barbarian_bonus(attacker);
                        if(player_class[attacker] == Barbarzynca)
                                refill_ammo(attacker);
                        set_renderchange(attacker);
                }
        }
}

  • +
  • -
  • 0

#4 Divic

    Wszechpomocny

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:326
  • Lokalizacja:Polska
Offline

Napisano 07.05.2011 18:39

niee po 1 nowa zmienna (zobacz sobie jak się robi nowe itemy ) potem funkcja do nowej zmiennej sam myślałem o czymś takim ale mam za małe doświadczenie i za mało wiedzy o PAWNIE


chcesz zrobić item czy naprawić moc pistoletowa u maga xD

Użytkownik Divic edytował ten post 07.05.2011 18:39

  • +
  • -
  • 0

#5 alien123

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 6
Nowy

  • Postów:54
  • Lokalizacja:Polska
Offline

Napisano 07.05.2011 20:01

Może ktoś pomoc zrobić ten item bo ja mam tez za małe doświadczenie

Dodano 08 maj 2011 - 16:27:
To mogę prosić kogoś o pomoc przy tym itemie?
A mam jeszcze jedno pytanko jak zrobić 1/3 szansy na zamrożenie z noża?

Dodano 09 maj 2011 - 17:51:
Odświeżam
  • +
  • -
  • 0

#6 FreZZy

    Guru

  • Zbanowany

Reputacja: 210
Profesjonalista

  • Postów:716
  • GG:
  • Imię:Paweł
  • Lokalizacja:Wwa
Offline

Napisano 10.05.2011 19:47

!UWAGA! Obowiązkowo Nalezy Skorzystać z Poradnika sebula !UWAGA!
[Fix 5.9l] Naprawa mocy pistoletowej maga - AMXX.pl: Support AMX Mod X



new zatrucie[33]


w public reset_item_skills:
zatrucie[id]=0


w case itemka:
zatrucie[id]=1


dodaj pod add_bonus_illusion(attacker_id,id,weapon) (w public Damage)
add_bonus_poison(id)


dodaj na koniec sma
public add_bonus_poison(id)
{
if (is_user_connected(id))
{
new weapon
new bodypart
new attacker_id = get_user_attacker(id,weapon,bodypart)
if(attacker_id!=0 && attacker_id != id && zatrucie[attacker_id] > 0 && get_user_team(id) != get_user_team(attacker_id))
{
if(DemageTake[id] == 0)
{
DemageTake[id] = 1;
new Float:obrazenia
obrazenia = 5; // tutaj zmieniasz wartość obrażeń zadawanych co 2 sek.
new data[3];
data[0] = attacker_id;
data[1] = weapon;
data[2] = obrazenia;
set_task(11.0, "funcReleaseVic", id);
set_task(11.0, "funcReleaseVic2", id);
set_task(2.0, "funcDemageVic", id+GLUTON, data, 3);
}
}
}
}


znajdź
public funcDemageVic(id,attacker) 
{
id-=GLUTON
if(get_user_health(id)>10)
set_task(2.0, "funcDemageVic", id+GLUTON)
DoDamage(id, attacker1, 5);
}


zamień na
public funcDemageVic(data[], id) {
id -= GLUTON;
new attacker = data[0];
new weapon = data[1];
new damage = data[2];

if(get_user_health(id)>10)
set_task(2.0, "funcDemageVic", id+GLUTON, data, 3);

new weaponname[32];
get_weaponname(weapon, weaponname, 31);
replace(weaponname, 31, "weapon_", "");
DoDamage(id, damage, attacker, weaponname);
}


znajdź
DoDamage(iTargetID, iShooterID, iDamage/*, iDamageCause, bIsWeaponID = false, iHeadShot = 0*/)
{
if(is_user_connected(iTargetID)&&is_user_connected(iShooterID))
if ( is_user_alive(iTargetID))
{
new bool:bPlayerDied = false;
new iHP = get_user_health(iTargetID);

if ( ( iHP - iDamage ) <= 0 )
bPlayerDied = true;

if (bPlayerDied)
{
// engine.inc set_msg_block function
//set_msg_block(g_iGameMsgDeath, BLOCK_ONCE);
user_kill(iTargetID, 1);
}
else
change_health(iTargetID,-iDamage,0,"")

new sShooterName[32];
get_user_name(iShooterID, sShooterName, 31);

if (bPlayerDied)
{
if ( iShooterID != iTargetID )
{
if ( get_user_team(iShooterID) != get_user_team(iTargetID) )
set_user_frags(iShooterID, get_user_frags(iShooterID) + 1);
else
set_user_frags(iShooterID, get_user_frags(iShooterID) - 1);

//LogKill(iShooterID, iTargetID, sWeaponOrMagicName);
}

//AddXP(iShooterID, BM_XP_KILL, iTargetID); // bmxphandler.inc
award_item(iShooterID,0)
award_kill(iShooterID,iTargetID)
add_respawn_bonus(iTargetID)
add_bonus_explode(iTargetID)
add_barbarian_bonus(iShooterID)
if (player_class[iShooterID] == Barbarzynca)
refill_ammo(iShooterID)
}
}
}


zamień na
public DoDamage(id, iDamage, attacker, weapon[]) {
if(is_user_connected(id) && is_user_alive(id) && is_user_connected(attacker) && freeze_ended) {
change_health(id, -iDamage, attacker, weapon);
if(get_user_health(id) < 1) {
add_respawn_bonus(id);
add_bonus_explode(id);
add_barbarian_bonus(attacker);
if(player_class[attacker] == Barbarzynca)
refill_ammo(attacker);
set_renderchange(attacker);
}
}
}





##############################################################################################################



jak jeszcze chcesz render zielony to tak:

znajdź
enum {
Flag_Ignite = 0,
Flag_Hooking,
Flag_Rot,
Flag_Dazed,
Flag_Illusion,
Flag_Moneyshield,
Flag_Teamshield,
Flag_Teamshield_Target,
num_of_flags
}


zamień na
enum {
Flag_Ignite = 0,
Flag_Hooking,
Flag_Rot,
Flag_Dazed,
Flag_Illusion,
Flag_Moneyshield,
Flag_Teamshield,
Flag_Teamshield_Target,
Flag_Trucizna,
num_of_flags
}


znajdź
if(HasFlag(id,Flag_Rot)) set_rendering(id, kRenderFxGlowShell, 255,255,0, kRenderFxNone, 10)


dodaj pod
if(HasFlag(id,Flag_Trucizna)) set_rendering(id, kRenderFxGlowShell, 0,255,0, kRenderFxNone, 10)


a zamiast
public add_bonus_poison(id)
{
if (is_user_connected(id))
{
new weapon
new bodypart
new attacker_id = get_user_attacker(id,weapon,bodypart)
if(attacker_id!=0 && attacker_id != id && zatrucie[attacker_id] > 0 && get_user_team(id) != get_user_team(attacker_id))
{
if(DemageTake[id] == 0)
{
DemageTake[id] = 1;
new Float:obrazenia[33]
obrazenia[id]=5+player_intelligence[id]/25; // tutaj zmieniasz wartość obrażeń zadawanych co 2 sek.
new data[3];
data[0] = attacker_id;
data[1] = weapon;
data[2] = obrazenia[id];
set_task(11.0, "funcReleaseVic", id);
set_task(11.0, "funcReleaseVic2", id);
set_task(2.0, "funcDemageVic", id+GLUTON, data, 3);
}
}
}
}


daj
public add_bonus_poison(id)
{
if (is_user_connected(id))
{
new weapon
new bodypart
new attacker_id = get_user_attacker(id,weapon,bodypart)
if(attacker_id!=0 && attacker_id != id && zatrucie[attacker_id] > 0 && get_user_team(id) != get_user_team(attacker_id))
{
if(DemageTake[id] == 0)
{
DemageTake[id] = 1;
new Float:obrazenia
obrazenia=5; // tutaj zmieniasz wartość obrażeń zadawanych co 2 sek.
new data[3];
AddFlag(id, Flag_Trucizna);
data[0] = attacker_id;
data[1] = weapon;
data[2] = obrazenia;
set_task(11.0, "funcReleaseVic", id);
set_task(11.0, "funcReleaseVic2", id);
set_task(2.0, "funcDemageVic", id+GLUTON, data, 3);
}
}
set_speedchange(id);
set_renderchange(id)
}
}




potem jeszcze znajdź i zamień
public funcReleaseVic(id) {
DemageTake[id] = 0;
remove_task(id+GLUTON);
}

na
public funcReleaseVic(id) {
DemageTake[id] = 0;
remove_task(id+GLUTON);
RemoveFlag(id, Flag_Trucizna);
set_renderchange(id);
}


potem się zabezbpieczamy jak to sebul opisał, czyli szukamy
public ResetHUD(id)
{
if(is_user_connected(id))
{

i dodajemy pod tym
RemoveFlag(id, Flag_Trucizna);


i jeszcze znajdź
else if(HasFlag(id,Flag_Moneyshield) || HasFlag(id,Flag_Rot) || HasFlag(id,Flag_Teamshield_Target) || HasFlag(id,Flag_Illusion))


i zamień na
else if(HasFlag(id,Flag_Moneyshield) || HasFlag(id,Flag_Rot) || HasFlag(id,Flag_Teamshield_Target) || HasFlag(id,Flag_Illusion) || HasFlag(id,Flag_Trucizna))






nie sprawdzałem czy działa! pewnie jak zwykle o czymś zapomniałem ^D^

Użytkownik FreZZy edytował ten post 12.05.2011 19:48


#7 alien123

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 6
Nowy

  • Postów:54
  • Lokalizacja:Polska
Offline

Napisano 10.05.2011 20:04

Dzięki Wielkie
  • +
  • -
  • 0

#8 Divic

    Wszechpomocny

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:326
  • Lokalizacja:Polska
Offline

Napisano 10.05.2011 20:07

ooo frezzy mistrzostwo :D dzięki jak znajdę czas zobaczę czy działa
  • +
  • -
  • 0

#9 FreZZy

    Guru

  • Zbanowany

Reputacja: 210
Profesjonalista

  • Postów:716
  • GG:
  • Imię:Paweł
  • Lokalizacja:Wwa
Offline

Napisano 11.05.2011 20:40

UWAGA! DODAŁEM POPRAWKĘ!

#10 KariiO

    Super Hero

  • Power User

Reputacja: 396
Wszechpomocny

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

Napisano 11.05.2011 20:48

UP
To już link do tematu od sebula był by lepszym rozwiązaniem.
  • +
  • -
  • 0

#11 FreZZy

    Guru

  • Zbanowany

Reputacja: 210
Profesjonalista

  • Postów:716
  • GG:
  • Imię:Paweł
  • Lokalizacja:Wwa
Offline

Napisano 11.05.2011 20:59

tak ale inni nie umieją z tego tak ładnie wyjąć funkcji ^D^

a tu mają gotowca

#12 KariiO

    Super Hero

  • Power User

Reputacja: 396
Wszechpomocny

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

Napisano 11.05.2011 21:08

Może nie tak ładnie a nie kiedy w ogóle...
Ogólnie dobre dla początkujących.
  • +
  • -
  • 0

#13 Aard

    Profesjonalista

  • Użytkownik

Reputacja: 16
Początkujący

  • Postów:190
  • Lokalizacja:Toruń
Offline

Napisano 12.05.2011 13:13

a jak zrobic zeby nie bylo tego rendera tylko ze ekran przeciwnika ma kolor tzn. jak go zatruje to jego ekran (przeciwnika) ma np. kolor czerwony
  • +
  • -
  • 0

#14 FreZZy

    Guru

  • Zbanowany

Reputacja: 210
Profesjonalista

  • Postów:716
  • GG:
  • Imię:Paweł
  • Lokalizacja:Wwa
Offline

Napisano 12.05.2011 15:49

Ale czerwony przez np. 2 sekundy czy cały cza troszkę czerwienszy?

#15 Aard

    Profesjonalista

  • Użytkownik

Reputacja: 16
Początkujący

  • Postów:190
  • Lokalizacja:Toruń
Offline

Napisano 12.05.2011 19:25

ekran czerwony dopóki go truje
  • +
  • -
  • 0

#16 Divic

    Wszechpomocny

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:326
  • Lokalizacja:Polska
Offline

Napisano 15.05.2011 15:49

a gdzie ustala sie czas tego zabierania hp? chciałbym ustawić na 20 sek


I mam Warningi 3 wiem ze z nimi będzie działać ale może da się je naprawić lubię mieć czyste sma
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

Warning: Tag mismatch on line 10082
Warning: Tag mismatch on line 10087
Warning: Loose indentation on line 10093
Header size:          10036 bytes
Code size:           341940 bytes
Data size:           226876 bytes
Stack/heap size:      16384 bytes; max. usage is unknown, due to recursion
Total requirements:  595236 bytes

3 Warnings.
Done.
public add_bonus_poison(id)
{
	if (is_user_connected(id))
		{
			new weapon
			new bodypart
			new attacker_id = get_user_attacker(id,weapon,bodypart)
			if(attacker_id!=0 && attacker_id != id && zatrucie[attacker_id] > 0 && get_user_team(id) != get_user_team(attacker_id))
			{
				if(DemageTake[id] == 0) 
				{
					DemageTake[id] = 1
					new Float:obrazenia
			Blad tu		obrazenia=2 		// tutaj zmieniasz wartosc obrazen zadawanych co 2 sek
					new data[3]
					AddFlag(id, Flag_Trucizna)
					data[0] = attacker_id
					data[1] = weapon
			Blad tu		data[2] = obrazenia
					set_task(11.0, "funcReleaseVic", id)
					set_task(11.0, "funcReleaseVic2", id)
					set_task(2.0, "funcDemageVic", id+GLUTON, data, 3)
				}
			}
		Blad tu		set_speedchange(id)
				set_renderchange(id)
		}
}

Użytkownik Divic edytował ten post 15.05.2011 15:49

  • +
  • -
  • 0

#17 KariiO

    Super Hero

  • Power User

Reputacja: 396
Wszechpomocny

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

Napisano 15.05.2011 18:59

public add_bonus_poison(id)
{
	if (is_user_connected(id))
	{
		new weapon
		new bodypart
		new attacker_id = get_user_attacker(id,weapon,bodypart)
		if(attacker_id!=0 && attacker_id != id && zatrucie[attacker_id] > 0 && get_user_team(id) != get_user_team(attacker_id))
		{
			if(DemageTake[id] == 0) 
			{
				DemageTake[id] = 1
				new Float:obrazenia
				obrazenia = 2 		// tutaj zmieniasz wartosc obrazen zadawanych co 2 sek
				new data[3]
				AddFlag(id, Flag_Trucizna)
				data[0] = attacker_id
				data[1] = weapon	
				data[2] = obrazenia
				set_task(11.0, "funcReleaseVic", id)
				set_task(11.0, "funcReleaseVic2", id)
				set_task(2.0, "funcDemageVic", id+GLUTON, data, 3)
			}
		}
		set_speedchange(id)
		set_renderchange(id)
	}
}
Dalej ?
  • +
  • -
  • 0

#18 FreZZy

    Guru

  • Zbanowany

Reputacja: 210
Profesjonalista

  • Postów:716
  • GG:
  • Imię:Paweł
  • Lokalizacja:Wwa
Offline

Napisano 15.05.2011 19:04

new Float:obrazenia

zamień na
new obrazenia


#19 Divic

    Wszechpomocny

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:326
  • Lokalizacja:Polska
Offline

Napisano 15.05.2011 19:15

ooo Mistrzostwo dzięki +
  • +
  • -
  • 0

#20 KariiO

    Super Hero

  • Power User

Reputacja: 396
Wszechpomocny

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

Napisano 15.05.2011 20:52

new weapon
			new bodypart
			new attacker_id = get_user_attacker(id,weapon,bodypart)

Nie wystarczy?:
new attacker_id = get_user_attacker(id)

  • +
  • -
  • 0




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

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