Dodawanie mocy do klasy.
Vertricus
23.04.2010
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:
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
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
false
26.04.2010
Ok ok juz Verticus ; p twoj tutek jest bardziej przydatny. Teraz zrobilem nowa moc ; ]
Veeq 27.04.2010
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ą
Edited by Veeq, 27.04.2010 16:09.
27 kwiecień 2010 - 16:06:
Vertricus ty chyba piszesz te poradniki dla tych co to już potrafią zrobić lub ostro ogarniają
Edited by Veeq, 27.04.2010 16:09.
Screeaam... 27.04.2010
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. -.-
Edited by Screeaam..., 27.04.2010 16:58.
Veeq 28.04.2010
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.
28 kwiecień 2010 - 15:39:
a jak zrobić tak z player_b_teamheal ?? Bo w ogóle jest coś innego Dziwne to troche.
Vertricus
28.04.2010
Veeq skoro nie rozumiesz proszę cie zacznij od czegoś prostszego jak inne łatki ctrl+c, ctrl+v.
Za spam bd nagradzał minusami Screaam już się tam troszku orientuje i potrafi i nie zaczynał od czegoś co wymaga myślenia bardziej zaawansowanego a podstaw.
Za spam bd nagradzał minusami Screaam już się tam troszku orientuje i potrafi i nie zaczynał od czegoś co wymaga myślenia bardziej zaawansowanego a podstaw.
Screeaam... 28.04.2010
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.
@Up.
bogery15 18.05.2010
a jak sie nazywaja inne moce ?< dodajemy to przy innych mocach
18 maj 2010 - 18:39:
pozatym tego nie rozumiem, chce zrobic ze daje 20sek co 5 sek tylko jak -.-?
Edited by bogery15, 18.05.2010 18:31.
Zawodowy 22.05.2010
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
23 maj 2010 - 02:39:
omg co za forum nie mozna nic napisac bo od razu minus, ogarnij sie
Vertricus
23.05.2010
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.
Joke
05.06.2010
Dodałem
Przed switch dodałem
i pod klasą dodałem :
i nie działa, coś źle ?
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 ?
TaKieCos
13.06.2010
Co to znaczy:
1. Deklarujemy nową zmienną tj. tablice np. new zmienna[33] < dodajemy to przy innych mocach
???????
1. Deklarujemy nową zmienną tj. tablice np. new zmienna[33] < dodajemy to przy innych mocach
???????
szczepaneto 24.06.2010
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
Vertricus
24.06.2010
W case od danej klasy po załadowaniu noża c_heal[id] += 3
Załóż osobny topic
Załóż osobny topic
TaKieCos
26.06.2010
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
}
TaKieCos
27.06.2010
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??
Attached Files
GOH4n
28.06.2010
A mozna dawac kilka takich mocy?? 1 moc mi sie udalo (illusionist) , a np fireballa juz nie.