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
Tutorial

Dodawanie mocy do klasy.

Tutorial

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

#1 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 23.04.2010 22:50

*
Popularny

W tym krótkim poradniku dowiecie się jak dodać gotową moc do klasy, tak aby nie było potem dopisków w /item oraz żeby klasa nie traciła ich po rundzie, straceniu przedmiotu.
Moim przykładem będzie skok, jednak dam wam kilka prostych krokach dzięki którym powinniście zrozumieć to dla każdej innej mocy.
1. Deklarujemy nową zmienną tj. tablice np. new zmienna[33] < dodajemy to przy innych mocach
2. Wszystkie instrukcje z tym związane zmieniamy w taki sposób:
Z if (innazmienna[id]/* tu cos naprawdopodobniej będzie */)
na if if (innazmienna[id]/* tu cos naprawdopodobniej będzie */ || zmienna[id] /* to co tam najprawdopodobniej było */)
3. W menu klas przed switch(key) zerujemy naszą zmienną w ten sposób dodając zmienna[id] = 0, a po wyborze tj. w "case" pod player_class[id] = JAKAS_KLASA przypisujemy zmiennej żądaną wartość.

PRZYKŁAD - Dodawanie kilku skoków klasie:
Spoiler

Poradnik napisany jest dosyć chaotycznie ze względu iż nie mam jak dać przykładów do wszystkich mocy.
Jeśli nie rozumiesz co tu jest napisane to nie pisz że nie rozumiesz a zacznij od czegoś prostszego i zapoznaj się bardziej z PAWN'em.
W miarę wynajdywania czasu postaram się go zrobić bardziej przyswajalnym ;>
sebul (19.12.2011 18:32):
"W miarę wynajdywania czasu postaram się go zrobić bardziej przyswajalnym ;>"
A poradnik w dalszym ciągu jest mało przyswajalny ;]

  • +
  • -
  • 14

#2 false

    Wszechmogący

  • Użytkownik

Reputacja: 53
Pomocny

  • Postów:652
  • Lokalizacja:z Polski
Offline

Napisano 26.04.2010 12:21

Ok ok juz Verticus ; p twoj tutek jest bardziej przydatny. Teraz zrobilem nowa moc ; ]
  • +
  • -
  • 0

#3 Veeq

    Profesjonalista

  • Zbanowany

Reputacja: 6
Nowy

  • Postów:170
  • Lokalizacja:Płock
Offline

Napisano 27.04.2010 16:02

Ja tego tutka w ogóle nie moge zrozumieć... Chce dodać moz z player_b_theif to tez mam dołączyć do tego if (player_b_jumpx[id] > 0) Prethink_Doublejump(id)??

27 kwiecień 2010 - 16:06:
Vertricus ty chyba piszesz te poradniki dla tych co to już potrafią zrobić lub ostro ogarniają :/

Użytkownik Veeq edytował ten post 27.04.2010 16:09


#4 Screeaam...

    ; ooo

  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 27.04.2010 16:58

Ja tego tutka w ogóle nie moge zrozumieć... Chce dodać moz z player_b_theif to tez mam dołączyć do tego if (player_b_jumpx[id] > 0) Prethink_Doublejump(id)??

27 kwiecień 2010 - 16:06:
Vertricus ty chyba piszesz te poradniki dla tych co to już potrafią zrobić lub ostro ogarniają :/



OMG! Vertricus napisał przykład dla skoków, nie dla player theif!!! -.-

Robisz zmienną

new c_theif[33]

Szukasz:

public add_theif_bonus(id,attacker_id)
{
	if (player_b_theif[attacker_id] > 0)
	{
		new roll1 = random_num(1,5)
		if (roll1 == 1)
		{
			if (cs_get_user_money(id) > player_b_theif[attacker_id])
			{
				cs_set_user_money(id,cs_get_user_money(id)-player_b_theif[attacker_id])
				if (cs_get_user_money(attacker_id) + player_b_theif[attacker_id] <= 16000)
				{
					cs_set_user_money(attacker_id,cs_get_user_money(attacker_id)+player_b_theif[attacker_id])		
				}
			}
			else
			{
				new allthatsleft = cs_get_user_money(id)
				cs_set_user_money(id,0)
				if (cs_get_user_money(attacker_id) + allthatsleft <= 16000)
				{
					cs_set_user_money(attacker_id,cs_get_user_money(attacker_id) + allthatsleft)			
				}
			}
		}
	}
}

Zamieniasz na:

public add_theif_bonus(id,attacker_id)
{
	if (player_b_theif[attacker_id] > 0)
	{
		new roll1 = random_num(1,5)
		if (roll1 == 1)
		{
			if (cs_get_user_money(id) > player_b_theif[attacker_id])
			{
				cs_set_user_money(id,cs_get_user_money(id)-player_b_theif[attacker_id])
				if (cs_get_user_money(attacker_id) + player_b_theif[attacker_id] <= 16000)
				{
					cs_set_user_money(attacker_id,cs_get_user_money(attacker_id)+player_b_theif[attacker_id])		
				}
			}
			else
			{
				new allthatsleft = cs_get_user_money(id)
				cs_set_user_money(id,0)
				if (cs_get_user_money(attacker_id) + allthatsleft <= 16000)
				{
					cs_set_user_money(attacker_id,cs_get_user_money(attacker_id) + allthatsleft)			
				}
			}
		}
	}
if (c_theif[attacker_id] > 0)
	{
		new roll1 = random_num(1,5)
		if (roll1 == 1)
		{
			if (cs_get_user_money(id) > c_theif[attacker_id])
			{
				cs_set_user_money(id,cs_get_user_money(id)-c_theif[attacker_id])
				if (cs_get_user_money(attacker_id) + c_theif[attacker_id] <= 16000)
				{
					cs_set_user_money(attacker_id,cs_get_user_money(attacker_id)+c_theif[attacker_id])		
				}
			}
			else
			{
				new allthatsleft = cs_get_user_money(id)
				cs_set_user_money(id,0)
				if (cs_get_user_money(attacker_id) + allthatsleft <= 16000)
				{
					cs_set_user_money(attacker_id,cs_get_user_money(attacker_id) + allthatsleft)			
				}
			}
		}
	}
}

W menu wyboru klasy

c_theif[id] = X

X-Ilość kasy.

przed switch
c_theif[id] = 0

Gosh. -.-

Użytkownik Screeaam... edytował ten post 27.04.2010 16:58


#5 Veeq

    Profesjonalista

  • Zbanowany

Reputacja: 6
Nowy

  • Postów:170
  • Lokalizacja:Płock
Offline

Napisano 28.04.2010 13:54

Działa + 4 you :]

28 kwiecień 2010 - 15:39:
a jak zrobić tak z player_b_teamheal ?? Bo w ogóle jest coś innego :/ Dziwne to troche.

#6 Vertricus

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 28.04.2010 17:41

Veeq skoro nie rozumiesz proszę cie zacznij od czegoś prostszego jak inne łatki ctrl+c, ctrl+v.
Za spam bd nagradzał minusami :kwiaty: Screaam już się tam troszku orientuje i potrafi i nie zaczynał od czegoś co wymaga myślenia bardziej zaawansowanego a podstaw.
  • +
  • -
  • 0

#7 Screeaam...

    ; ooo

  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 28.04.2010 22:34

Veeq, o ile sie nie myle, musisz zrobic zmienną, podpiąć do check_magic, następnie skopiować funkcje od item_teamshield i tam gdzie jest player_b_teamheal dać twoją zmienną, bo chyba z || tego się nie da zrobić, znaczy może da, ale nie jestem wtajemniczony...

@Up.

^D^

#8 bogery15

    Profesjonalista

  • Zbanowany

Reputacja: -3
Nowy

  • Postów:202
  • Lokalizacja:Polska
Offline

Napisano 18.05.2010 17:37

< dodajemy to przy innych mocach

a jak sie nazywaja inne moce ?

18 maj 2010 - 18:39:
pozatym tego nie rozumiem, chce zrobic ze daje 20sek co 5 sek tylko jak -.-?

Użytkownik bogery15 edytował ten post 18.05.2010 18:31


#9 Zawodowy

    Zaawansowany

  • Zbanowany

Reputacja: 4
Nowy

  • Postów:89
  • Lokalizacja:Łódź
Offline

Napisano 22.05.2010 21:14

tak samo jak jak bogery15, nic z tego nie rozumiem....

23 maj 2010 - 02:39:
omg co za forum nie mozna nic napisac bo od razu minus, ogarnij sie

#10 Vertricus

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 23.05.2010 15:43

Wyraźnie napisałem że nie wszyscy są w stanie pojąć tych kilku kroków dlatego pisząc "nie rozumie", w odpowiedzi na prośbę pisania "nie rozumie" sam skazujesz się na minusa.
  • +
  • -
  • 0

#11 SoLiD

    Wszechwidzący

  • Użytkownik

Reputacja: 36
Życzliwy

  • Postów:253
  • Lokalizacja:Polska
Offline

Napisano 24.05.2010 19:16

Jak to zrobić dla:
public item_gravitybomb(id)
  • +
  • -
  • 0
Force Important Commands [FIC] - http://www.mediafire...18j1kh7txf49o04
Info: FIC jest pluginem, który wymusza komendy u graczy i ma opracowany system karania banem u graczy, którzy nadmiernie zmieniają ich wartości na niedozwoloną.
Zaufali mu administratorzy HashJama, zaufaj i ty!

#12 Joke

    Zaawansowany

  • Użytkownik

Reputacja: 8
Nowy

  • Postów:142
  • Lokalizacja:wawa
Offline

Napisano 05.06.2010 15:55

Dodałem
new c_amp[33]



public add_damage_bonus(id,damage,attacker_id)
{
if (player_b_damage[attacker_id] > 0 && get_user_health(id)>player_b_damage[attacker_id])
{
change_health(id,-player_b_damage[attacker_id],attacker_id,"")

if (random_num(0,2) == 1) Effect_Bleed(id,248)
}
if (c_amp[attacker_id] > 0 && get_user_health(id)>c_amp[attacker_id])
{
change_health(id,-c_amp[attacker_id],attacker_id,"")

if (random_num(0,2) == 1) Effect_Bleed(id,248)
}
}


Przed switch dodałem
	c_amp[id] = 0


i pod klasą dodałem :
c_amp[id] = 10


i nie działa, coś źle ? ;)
  • +
  • -
  • 0

#13 TaKieCos

    Zaawansowany

  • Użytkownik

Reputacja: 5
Nowy

  • Postów:126
  • Lokalizacja:warszawa
Offline

Napisano 13.06.2010 11:31

Co to znaczy:
1. Deklarujemy nową zmienną tj. tablice np. new zmienna[33] < dodajemy to przy innych mocach

???????
  • +
  • -
  • 0
Pomogłem?? DAJ Dołączona grafika

#14 szczepaneto

    Zaawansowany

  • Zbanowany

Reputacja: 10
Początkujący

  • Postów:122
  • Lokalizacja:KrK
Offline

Napisano 24.06.2010 13:57

a jak zrobić c_heal i c_ghost na nóż bo jak robiłem heal to po naładowaniu dodaje po 1 hp i totem to samo a ghost to wogóle nie mam pojęcia jak zrobić z góry dziekuje ;)

#15 Vertricus

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 24.06.2010 15:03

W case od danej klasy po załadowaniu noża c_heal[id] += 3 :X
Załóż osobny topic
  • +
  • -
  • 0

#16 TaKieCos

    Zaawansowany

  • Użytkownik

Reputacja: 5
Nowy

  • Postów:126
  • Lokalizacja:warszawa
Offline

Napisano 26.06.2010 13:49

dodaje to według poradnika ale nie działa.. wstawiam kawalek sma gdzie wydaje mi sie ze jest błąd

public select_class_menu(id, key) 
{
new lx[13]
g_haskit[id] = 0
c_jump[id] = 0
c_grenade[id] = 0
switch(key)
{
case 0:
{
player_class[id] = Mag
}
case 1:
{
player_class[id] = Mnich
}
case 2:
{
player_class[id] = Paladyn
}
case 3:
{
player_class[id] = Zabojca
}
case 4:
{
player_class[id] = Nekromanta
g_haskit[id] = 1
}
case 5:
{
player_class[id] = Barbarzynca
}
case 6:
{
player_class[id] = Ninja
}
case 7:
{
player_class[id] = Hunter
g_GrenadeTrap[id] = 1
}
case 8:{
ShowKlasy(id,lx)

}
}

LoadXP(id, player_class[id])
CurWeapon(id)

give_knife(id)

return PLUGIN_HANDLED
}


public ShowKlasy(id,lx[]) {
new text2[512]
asked_klass[id]=0
format(text2, 511,"\rWybierz klase - ^n\r1. Skoczek Level :%i^n2. Shaman Level :%i^n3. Duch Level :%i^n^n0.Wstecz^n",player_class_lvl[id][9],player_class_lvl[id][10],player_class_lvl[id][11])
show_menu(id, KeysKlasy,text2, -1, "Klasy")


}
public PressedKlasy(id, key) {
/* Menu:
* Wybierz klase:
* 1:Skoczek
* 2:Shaman
* 3:Duch
* 0:Wstecz
*/
new lx[13]
g_haskit[id] = 0
c_jump[id] = 0
c_grenade[id] = 0
switch (key)
{
case 0: { // 1
player_class[id] = Skoczek
c_jump[id] = 3
LoadXP(id, player_class[id])

}
case 1: { // 2
player_class[id] = Shaman
c_grenade[id] = 6
LoadXP(id, player_class[id])

}
case 2: { // 3
player_class[id] = Duch
LoadXP(id, player_class[id])
}
case 9: { // 0
select_class(id,lx)
}
}
CurWeapon(id)
give_knife(id)

return PLUGIN_HANDLED
}

  • +
  • -
  • 0
Pomogłem?? DAJ Dołączona grafika

#17 Screeaam...

    ; ooo

  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 26.06.2010 14:47

To co podałeś jest dobre. -.- Daj funkcje od tych zmiennych.

#18 TaKieCos

    Zaawansowany

  • Użytkownik

Reputacja: 5
Nowy

  • Postów:126
  • Lokalizacja:warszawa
Offline

Napisano 27.06.2010 12:48

nie dziala moc na klasie jak i item przestal dzialac. Wstawiam swoje sma i mam prosbe czy ktos mógłby zrobić skoki na moim sma??

Załączone pliki


  • +
  • -
  • 0
Pomogłem?? DAJ Dołączona grafika

#19 GOH4n

    Profesjonalista

  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:213
  • GG:
  • Lokalizacja:Kobiór
Offline

Napisano 28.06.2010 09:19

A mozna dawac kilka takich mocy?? 1 moc mi sie udalo (illusionist) , a np fireballa juz nie.
  • +
  • -
  • 0

#20 Vertricus

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 28.06.2010 14:32

Można
  • +
  • -
  • 0





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

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

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