Item "Piorun Zeusa"
Angel of Death
12.02.2012
Opis Itemu:
Masz losową szansę na to że trafisz wroga piorunem.
Wymagany moduł: hamsandwich
Wygląda to tak:

No to do dzieła:
1. Dodajemy zmienną globalną:
2. W public "reset_item_skills" dodajemy
3. W public "iteminfo(id)" dodajemy:
4. W public "award_item(id, itemnum)" dodajemy kolejny Item'ek, na początku podmieniamy:
Dalej...
5. I na końcu dodajemy:
Autorem tak jak w poprzednim przypadku nie jestem ja lecz "M@nkovsky"
Koniec, Enjoy
Powinno być:
Dalej...
A później:
* W public "damage(id)" dodajemy:
Użytkownik DarkGL edytował ten post 24.03.2012 20:03
Masz losową szansę na to że trafisz wroga piorunem.
Wymagany moduł: hamsandwich
Wygląda to tak:

No to do dzieła:
1. Dodajemy zmienną globalną:
new piorun_zeusa[33] = 1
2. W public "reset_item_skills" dodajemy
piorun_zeusa[id] = 0
3. W public "iteminfo(id)" dodajemy:
if (piorun_zeusa[id] &--#62; 0) { num_to_str(piorun_zeusa[id],TempSkill,10) add(itemEffect,699,"Masz 1/") add(itemEffect,699,TempSkill) add(itemEffect,699,"szans ,zeby uderzyc we wroga piorunem&--#60;br&--#62;") }
4. W public "award_item(id, itemnum)" dodajemy kolejny Item'ek, na początku podmieniamy:
new rannum = random_num(1,xxx)xxx - nasza ilość itemow musimy zwiększyć o jedno aby losowanie odbyło się prawidłowo
case xxx:za xxx wstawiamy kolejny numer itemu
Dalej...
{ player_item_name[id] = "Piorun Zeusa" player_item_id[id] = rannum piorun_zeusa[id] = random_num(8,15) show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 1/%i szans ,ze trafisz wroga piorunem",player_item_name[id],piorun_zeusa[id]) } W public damage(id) dodajemy add_bonus_piorun(attacker_id,id)
5. I na końcu dodajemy:
public add_bonus_piorun(attacker_id,id) { if (piorun_zeusa[attacker_id] &--#62;0 && (random_num(1, piorun_zeusa[attacker_id]) == 1)) { new Float:fl_Origin[3] pev(id, pev_origin, fl_Origin) if(cs_get_user_team(attacker_id) == cs_get_user_team(id)) return HAM_IGNORED set_pev(id, pev_velocity, Float:{0.0,0.0,0.0}) // stop motion set_pev(id, pev_maxspeed, 5.0) // prevent from moving thunder_effects(fl_Origin) ExecuteHam(Ham_TakeDamage, id, attacker_id, attacker_id, 40.0, 1); } return PLUGIN_HANDLED } thunder_effects(Float:fl_Origin[3]) { new Float:fX = fl_Origin[0], Float:fY = fl_Origin[1], Float:fZ = fl_Origin[2] // Beam effect between two points engfunc(EngFunc_MessageBegin, MSG_BROADCAST, SVC_TEMPENTITY, fl_Origin, 0) write_byte(TE_BEAMPOINTS) // 0 engfunc(EngFunc_WriteCoord, fX + 150.0) // start position engfunc(EngFunc_WriteCoord, fY + 150.0) engfunc(EngFunc_WriteCoord, fZ + 800.0) engfunc(EngFunc_WriteCoord, fX) // end position engfunc(EngFunc_WriteCoord, fY) engfunc(EngFunc_WriteCoord, fZ) write_short(sprite_lgt) // sprite index write_byte(1) // starting frame write_byte(15) // frame rate in 0.1's write_byte(10) // life in 0.1's write_byte(80) // line width in 0.1's write_byte(30) // noise amplitude in 0.01's write_byte(255) // red write_byte(255) // green write_byte(255) // blue write_byte(255) // brightness write_byte(200) // scroll speed in 0.1's message_end() // Sparks message_begin(MSG_PVS, SVC_TEMPENTITY) write_byte(TE_SPARKS) // 9 engfunc(EngFunc_WriteCoord, fX) // position engfunc(EngFunc_WriteCoord, fY) engfunc(EngFunc_WriteCoord, fZ + 10.0) message_end() // Smoke engfunc(EngFunc_MessageBegin, MSG_BROADCAST, SVC_TEMPENTITY, fl_Origin, 0) write_byte(TE_SMOKE) // 5 engfunc(EngFunc_WriteCoord, fX) // position engfunc(EngFunc_WriteCoord, fY) engfunc(EngFunc_WriteCoord, fZ + 10.0) write_short(sprite_smoke) // sprite index write_byte(10) // scale in 0.1's write_byte(10) // framerate message_end() // Blood engfunc(EngFunc_MessageBegin, MSG_BROADCAST, SVC_TEMPENTITY, fl_Origin, 0) write_byte(TE_LAVASPLASH) // 10 engfunc(EngFunc_WriteCoord, fX) // position engfunc(EngFunc_WriteCoord, fY) engfunc(EngFunc_WriteCoord, fZ + 12.0) message_end() }
Autorem tak jak w poprzednim przypadku nie jestem ja lecz "M@nkovsky"
Koniec, Enjoy

Dalej...
{ player_item_name[id] = "Piorun Zeusa" player_item_id[id] = rannum piorun_zeusa[id] = random_num(8,15) show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 1/%i szans ,ze trafisz wroga piorunem",player_item_name[id],piorun_zeusa[id]) } W public damage(id) dodajemy add_bonus_piorun(attacker_id,id)
Powinno być:
Dalej...
{ player_item_name[id] = "Piorun Zeusa" player_item_id[id] = rannum piorun_zeusa[id] = random_num(8,15) show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 1/%i szans ,ze trafisz wroga piorunem",player_item_name[id],piorun_zeusa[id]) }
A później:
* W public "damage(id)" dodajemy:
add_bonus_piorun(attacker_id,id)
Dodatkowo chcę wspomnieć, że linijką :
ExecuteHam(Ham_TakeDamage, id, 0 , id, 40.0, 1);
.. można edytować obrażenia zadawane przez piorun, zamiast 40.0 dajemy własną liczbę rzeczywistą, np 66.0 - rzeczywistą, czyli koniecznie z np .0 na końcu. Można to też przerobić dodając do tego np +floatround(player_intelligence[id]/5) - czyli przy 100 inteligencji będziecie zadawać SWOJE USTAWIONE + 20 ;]
Użytkownik DarkGL edytował ten post 24.03.2012 20:03
ogieR8
12.02.2012
Dodatkowo chcę wspomnieć, że linijką :
.. można edytować obrażenia zadawane przez piorun, zamiast 40.0 dajemy własną liczbę rzeczywistą, np 66.0 - rzeczywistą, czyli koniecznie z np .0 na końcu. Można to też przerobić dodając do tego np +floatround(player_intelligence[id]/5) - czyli przy 100 inteligencji będziecie zadawać SWOJE USTAWIONE + 20 ;]
Użytkownik ogieR- edytował ten post 12.02.2012 22:08
ExecuteHam(Ham_TakeDamage, id, 0 , id, 40.0, 1);
.. można edytować obrażenia zadawane przez piorun, zamiast 40.0 dajemy własną liczbę rzeczywistą, np 66.0 - rzeczywistą, czyli koniecznie z np .0 na końcu. Można to też przerobić dodając do tego np +floatround(player_intelligence[id]/5) - czyli przy 100 inteligencji będziecie zadawać SWOJE USTAWIONE + 20 ;]
Użytkownik ogieR- edytował ten post 12.02.2012 22:08
Hiroshima
26.02.2012
dał by ktoś ten perk w amx?
nie, trochę wysiłku... możesz zrobić to sam!
jak już skończysz robić to co jest w opisie to zapraszamy tutaj: http://amxx.pl/kompilator/
piterlbk
26.02.2012
nieee wiem jak to sie do końca robi niby zroniłem ale nie jestem pewien czy działa BARDZO BYM PROSIŁ O PLIK AMX
niby zrobiłem ale mi nie działa co w dotadku zawiesło mi serwer ja nie potrafie zrobić perka umiem klase BARDZO BYM PROSIŁ O AMX BD BARDZO WDZIĘCZNY
niby zrobiłem ale mi nie działa co w dotadku zawiesło mi serwer ja nie potrafie zrobić perka umiem klase BARDZO BYM PROSIŁ O AMX BD BARDZO WDZIĘCZNY
Tiger_pl
27.02.2012
Wszystko ( Prawie) działa ok ale.... gdy zabijasz przeciwnika używając tego skilla nie zalicza w ogóle dedów..
Przydało by się tutaj dodać funkcje zaliczania fragów przy użyciu tego skilla
Przydało by się tutaj dodać funkcje zaliczania fragów przy użyciu tego skilla
piterlbk
27.02.2012
ej czy dalibyście ten item w amxx i sma jak byście
daje + za motyw z nieba a drugi + dam za podanie pliku w amxx
daje + za motyw z nieba a drugi + dam za podanie pliku w amxx
Nakupenda.
27.02.2012
@Tiger_pl: dodaj po ExecuteHam
set_user_frags(attacker_id, get_user_frags(attacker_id) + 1)
sebul
24.03.2012
No chyba nie ^ ^@Tiger_pl: dodaj po ExecuteHam
set_user_frags(attacker_id, get_user_frags(attacker_id) + 1)
A jak piorun nie zabije kogoś? Ogólnie nie chce mi się wierzyć, że nie dodaje fraga przy zabiciu, przecież kanapka ma to do siebie, że zadając w ten sposób obrażenia, przy zabiciu dodaje wszystko, kasę, itp.
DarkGL
24.03.2012
ExecuteHam(Ham_TakeDamage, id, 0, id, 40.0, 1);
na
ExecuteHam(Ham_TakeDamage, id, attacker_id, attacker_id, 40.0, 1);
i wszystko będzie ok
( podmieniłem już w 1 poście )
na
ExecuteHam(Ham_TakeDamage, id, attacker_id, attacker_id, 40.0, 1);
i wszystko będzie ok
( podmieniłem już w 1 poście )
dw221
31.03.2012
Ja mam problem z tym
if(cs_get_user_team(attacker_id) == cs_get_user_team(id))Pomoże ktoś ??
KoRnY
30.04.2012
Jak przypisać to do umiejętności na nożu?
Bo chyba samo wywołanie tego nie starczy.
Bo z tego co widzę nigdzie nie jest pobrane , gdzie osobnik celuje.
Ktoś mógłby pomóc?
ok ogarnąłem całe przypisanie do klasy itp
Wyrzuciłem atacker id bo chyba nie potrzebne.
Problem tylko jak sprawdzić , czy gracz namierzył cel?
Tj , żeby ktoś tym piorunem dostał.
Zrobiłem tak:
Jak dodać tutaj , gdzie ten piorun trzepnie?
Puki co dostaje w głowę ja
A no i jak sprawa ma się z zadaniem obrażeń?
Bo chyba samo wywołanie tego nie starczy.
Bo z tego co widzę nigdzie nie jest pobrane , gdzie osobnik celuje.
Ktoś mógłby pomóc?
ok ogarnąłem całe przypisanie do klasy itp
Wyrzuciłem atacker id bo chyba nie potrzebne.
Problem tylko jak sprawdzić , czy gracz namierzył cel?
Tj , żeby ktoś tym piorunem dostał.
Zrobiłem tak:
else {
new Float:fl_Origin[3]
pev(id, pev_origin, fl_Origin)
set_pev(id, pev_velocity, Float:{0.0,0.0,0.0}) // stop motion
set_pev(id, pev_maxspeed, 5.0) // prevent from moving
thunder_effects(fl_Origin)
wait1[id]=floatround(halflife_time())
}
return PLUGIN_HANDLED
Jak dodać tutaj , gdzie ten piorun trzepnie?
Puki co dostaje w głowę ja

A no i jak sprawa ma się z zadaniem obrażeń?
Dizip
01.05.2012
else {
new Float:fl_Origin[3]
pev(id, pev_origin, fl_Origin)
set_pev(id, pev_velocity, Float:{0.0,0.0,0.0}) // stop motion
set_pev(id, pev_maxspeed, 5.0) // prevent from moving
thunder_effects(fl_Origin)
wait1[id]=floatround(halflife_time())
}
return PLUGIN_HANDLED
Zobacz. ID to Ty ,wiec znajdujesz siebie a potem walisz sobie w leb ; P
Po co zmieniasz cos w kodzie itemu ?
zrób to w public Damage(id) po prostu okresl if klasa jakas tami jakas losowa wartosc == 1 uzyj mocy na ofeirze
Ogolnie polecam uzywac hamsandwich do zadawania dmg w diablo ; )
new Float:fl_Origin[3]
pev(id, pev_origin, fl_Origin)
set_pev(id, pev_velocity, Float:{0.0,0.0,0.0}) // stop motion
set_pev(id, pev_maxspeed, 5.0) // prevent from moving
thunder_effects(fl_Origin)
wait1[id]=floatround(halflife_time())
}
return PLUGIN_HANDLED
Zobacz. ID to Ty ,wiec znajdujesz siebie a potem walisz sobie w leb ; P
Po co zmieniasz cos w kodzie itemu ?
zrób to w public Damage(id) po prostu okresl if klasa jakas tami jakas losowa wartosc == 1 uzyj mocy na ofeirze
Ogolnie polecam uzywac hamsandwich do zadawania dmg w diablo ; )
KoRnY
01.05.2012
Zmieniam kod , bo nie chce , aby użycie tej mocy było uzależnione od broni.
Oryginał pobiera atacker_id , a skąd je weźmie , skoro nie ma to wymagać strzału?
Oryginał pobiera atacker_id , a skąd je weźmie , skoro nie ma to wymagać strzału?
KoRnY
02.05.2012
Jeśli id to ja.
To jak pobrać id osoby w którą celuje?
Sory , że post pod postem , ale nie mogłem edytować ; /
Użytkownik KoRnY edytował ten post 02.05.2012 01:13
To jak pobrać id osoby w którą celuje?
Sory , że post pod postem , ale nie mogłem edytować ; /
Użytkownik KoRnY edytował ten post 02.05.2012 01:13
Dizip
02.05.2012
Możesz zrobić get_user_aiming ale tego nie polecam bo potem mogą być crashe z powodem "wysylanai wiadomosic do nikąd" jak ktoś bedzie spamował moca
Zrób na get_uer_orgin i to będzie ,że jeśli w zasięgu gracza to niech zaatakuje.
w prethinku np uzycie E
a potem sama moc
Widzisz teraz robis zpetle , i suzka ludzi w ogleglosci 200 po if distans uzyj pirouna i zadaj dmg
Zrób na get_uer_orgin i to będzie ,że jeśli w zasięgu gracza to niech zaatakuje.
w prethinku np uzycie E
a potem sama moc
public Moc(id)
new origin[3]
get_user_origin(id, origin)
for(new a = 0; a < MAX; a++)
{
if (!is_user_connected(a) || !is_user_alive(a) || get_user_team(a) == get_user_team(id))
continue;
new originssp[3]
get_user_origin(a, originssp)
if(get_distance(origin,originssp) < 200)
{
Widzisz teraz robis zpetle , i suzka ludzi w ogleglosci 200 po if distans uzyj pirouna i zadaj dmg