←  Poradniki oraz Łatki

AMXX.pl: Support AMX Mod X i SourceMod

»

Dodatek
Moc wyrzucenie broni przeciwnikowi

Jagoda - zdjęcie Jagoda 17.02.2011

Witam dziś pokaże jak zrobić item + moc dla klasy która wyrzuca broń przeciwnikowi
no to zaczynamy

znajdz

new player_b_mine[33] = 1

dodaj pod
znajdz

new player_b_drop[33] = 1

znajdz

new player_dmg[33]

pod dodaj

new c_drop[33]

znajdz

player_b_mine[id] = 0

dodaj pod

player_b_drop[id] = 0

znajdz

if (player_b_explode[id] > 0)
{
num_to_str(player_b_explode[id],TempSkill,10)
add(itemEffect,199,"Gdy umierasz wybuchniesz w promieniu ")
add(itemEffect,199,TempSkill)
add(itemEffect,199," zadaje 75 obrazen wokol ciebie - im wiecej masz inteligencji tym wiekszy zasieg wybuchu<br>")
}

dodaj pod

if (player_b_drop[id] > 0)
{
num_to_str(player_b_drop[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"Na wyrzucenie broni przeciwnikowi<br>")
}

znajdz

case 68:
{
player_item_name[id] = "Ultra Armor"
player_item_id[id] = 68
player_ultra_armor[id]=random_num(7,11)
player_ultra_armor_left[id]=player_ultra_armor[id]
show_hudmessage (id, "Znalazles przedmiot : %s :: Twoj pancerz moze odbic do %i pociskow",player_item_name[id],player_ultra_armor[id])
}

pod dodaj

case 69:
{
player_item_name[id] = "Wywal bron"
player_item_id[id] = rannum
player_b_drop[id] = random_num(4,8)

show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 1/%i Szans Na wrzucenie broni przeciwnikowi",player_item_name[id],player_b_drop[id])

}

znajdz

new rannum = random_num(1,68)

zamien na
znajdz

new rannum = random_num(1,69)

znajdz

public add_bonus_darksteel(attacker,id,damage)
{
if (player_b_darksteel[attacker] > 0)
{
if (UTIL_In_FOV(attacker,id) && !UTIL_In_FOV(id,attacker))
{

new dam = floatround (15+player_strength[id]*2*player_b_darksteel[id]/10.0)

Effect_Bleed(id,248)
change_health(id,-dam,attacker,"world")
}
}
}

pod dodaj

public add_bonus_drop(attacker_id,id)
{
if(player_b_drop[attacker_id] > 0||c_drop[attacker_id] > 0&& get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))
{
if (random_num(1,player_b_drop[attacker_id]) == 1)
engclient_cmd(id, "drop")
else if (random_num(1,c_drop[attacker_id]) == 1)
engclient_cmd(id, "drop")
}
return PLUGIN_HANDLED
}

znajdz

if(player_b_sniper[id]>0)
{
if(player_b_sniper[id]>5) player_b_sniper[id]-=random_num(0,2)
else if(player_b_sniper[id]>2) player_b_sniper[id]-=random_num(0,1)
else if(player_b_sniper[id]>1) player_b_sniper[id]-=random_num(-1,1)
}

pod dodaj

if(player_b_drop[id]>0)
{
if(player_b_drop[id]>5) player_b_drop[id]-=random_num(0,2)
else if(player_b_drop[id]>2) player_b_drop[id]-=random_num(0,1)
else if(player_b_drop[id]>1) player_b_drop[id]-=random_num(-1,1)
}

Teraz w public select_class_menu(id, key){
po

g_haskit[id] = 0

dodaj

c_drop[id] = 0

Teraz w klasie np

case 2:
{
player_class[id] = Paladyn
}

dodaj c_drop[id] = 3 ///moc bedzie 1/3 szans

[sma]
case 2:
{
player_class[id] = Paladyn
c_drop[id] = 3
}

Dziekuje za uwagę jeśli coś nie działa proszę pisać w poście :D
Odpowiedz

FreZZy - zdjęcie FreZZy 17.02.2011

z pewnością się przyda lamkom ^^

fajny tutek, łap plusika
Odpowiedz

  • +
  • -
Divic - zdjęcie Divic 27.03.2011

hmm mi nie działa xD zrobiłem tak jak ty i nie działa ninja miała mieć ta moc i kiszka ..;/
Odpowiedz

  • +
  • -
Kid - zdjęcie Kid 27.03.2011

Divic, na pewno wszystko dobrze zrobiłeś?
Odpowiedz

Jagoda - zdjęcie Jagoda 27.03.2011

Dziala :D wiem to z doswiadczenia musiales cos zle zrobic
Odpowiedz

  • +
  • -
Divic - zdjęcie Divic 27.03.2011

tak brałem kopiuj wklej i nie działa możne trzeba mieć coś odblokowane czy coś w tym stylu ? :&
Użytkownik Divic edytował ten post 27.03.2011 09:18
Odpowiedz

  • +
  • -
Krejzol - zdjęcie Krejzol 02.04.2011

Jak zrobić ant wyrzucenie?;-)
Odpowiedz

Jagoda - zdjęcie Jagoda 02.04.2011


public add_bonus_drop(attacker_id,id)
{
if(player_b_drop[attacker_id] > 0||c_drop[attacker_id] > 0&& get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))
{
if (random_num(1,player_b_drop[attacker_id]) == 1)
engclient_cmd(id, "drop")
else if (random_num(1,c_drop[attacker_id]) == 1)
engclient_cmd(id, "drop")
else if (random_num(1,antyplayer_b_drop[attacker_id]) == 1)
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
Odpowiedz

FreZZy - zdjęcie FreZZy 02.04.2011

eee.. nie


public add_bonus_drop(attacker_id,id)
{
if(player_b_drop[attacker_id] > 0||c_drop[attacker_id] > 0&& get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id) && antydrop[id] == 0)
{
if (random_num(1,player_b_drop[attacker_id]) == 1)
engclient_cmd(id, "drop")
else if (random_num(1,c_drop[attacker_id]) == 1)
engclient_cmd(id, "drop")
}
return PLUGIN_HANDLED
}

Użytkownik FreZZy edytował ten post 02.04.2011 11:50
Odpowiedz

  • +
  • -
sorq - zdjęcie sorq 17.05.2011

Na jakiej to dziala zasadzie? Do kogos strzelam i mu bron wywalam czy co?
Odpowiedz

FreZZy - zdjęcie FreZZy 18.05.2011

Tak, strzelasz i jemu może wypaść bron
Odpowiedz

  • +
  • -
QnshT - zdjęcie QnshT 05.09.2011

proszę o podpowiedz jak zmienic ta moc tak aby dzilala tylko na nozu...
Odpowiedz

  • +
  • -
Divic - zdjęcie Divic 23.12.2011

Po 1 proponuje usuniecie tematu albo poprawienie go wlasnie sprawdzalem ma czystym diablo i ten paten nie dziala moze ktos napisac jescze raz dzialajacy kod do dropania broni??


public add_bonus_drop(attacker_id,id)
{
if(player_b_drop[attacker_id] > 0||c_drop[attacker_id] > 0&& get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))
{
if (random_num(1,player_b_drop[attacker_id]) == 1)
engclient_cmd(id, "drop")
else if (random_num(1,c_drop[attacker_id]) == 1)
engclient_cmd(id, "drop")
}
return PLUGIN_HANDLED
}


Jak dla mnie to cos tu musi byc sknocone ma byc drop? czemu nie droptofloor ?
moze ta funkcja nie ta
engclient
nie wiem nieznam sie w zasadzie ale wiem ze nie dziala a przydalo by sie bardzo

i faktycznie pokombinowalem i w funkci nie potrzebnie jest chyba
engclient
musi byc samo
client
ale teraz za to jest 1/1 xD niewime jak to naprawic bardzo :P ale chociaz serwa nie crashuje
Użytkownik Divic edytował ten post 23.12.2011 01:25
Odpowiedz

  • +
  • -
Leszcz - zdjęcie Leszcz 23.12.2011

public add_bonus_drop(attacker_id,id,weapon)
{
if(player_b_drop[attacker_id] > 0 || c_drop[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id) && weapon == CSW_KNIFE)
{
if (random_num(1,player_b_drop[attacker_id]) == 1)
engclient_cmd(id, "drop")
else if (random_num(1,c_drop[attacker_id]) == 1)
engclient_cmd(id, "drop")
}
return PLUGIN_HANDLED
}


i do
public Damage(id)

dodalbym
add_bonus_drop(attacker_id,id,weapon)


w przypadku nie okreslonej broni:
public add_bonus_drop(attacker_id,id,damage)
{
if(player_b_drop[attacker_id] > 0 || c_drop[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))
{
if (random_num(1,player_b_drop[attacker_id]) == 1)
engclient_cmd(id, "drop")
else if (random_num(1,c_drop[attacker_id]) == 1)
engclient_cmd(id, "drop")
}
return PLUGIN_HANDLED
}

do
public Damage(id)

dodaj
add_bonus_drop(attacker_id,id,damage)
Odpowiedz

  • +
  • -
Divic - zdjęcie Divic 23.12.2011

engclient
- oda czego to jest bo z tym
eng
na poczatku nie dziala a jak to wytne i skompiluje jeszcze raz to dziala tylko jest 1/1

sprobuje twoj patent

tez lipa caly czas 1/1
z tego co przegladam kody diablo to nikt niema takiego itemu procz mocy w totemie
moze po prostu nieda sie zrobic itemu zeby wyzucal bronie z okreslona szansa albo wyzuca albo nie ?
Odpowiedz

  • +
  • -
Damex - zdjęcie Damex 24.12.2011

Proszę o usunięcie tego tematu , ponieważ ten dodatek nie działa . Wgrałem poprawnie i nie działa .
Odpowiedz

  • +
  • -
Divic - zdjęcie Divic 25.12.2011

mowie to od poczatku tego watku dzialac dziala ale jest only 1na 1 . a niema szansy iles na iles ;/
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 26.12.2011

A na pewno dobrze to "instalujecie" ??

macie tutaj wersje diagnostyczną zobaczcie co sie wypisze atakującemu na chacie i napiszcie tutaj :D

public add_bonus_drop(attacker_id,id)
{
if(player_b_drop[attacker_id] > 0||c_drop[attacker_id] > 0&& get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))
{
new los=random_num(1,max(player_b_drop[attacker_id],c_drop[attacker_id]));

if (los==1)
    client_cmd(id, "drop")
client_print(attacker_id,print_chat,"szansa 1/%d, los=%d",max(player_b_drop[attacker_id],c_drop[attacker_id]),los);
    
}
return PLUGIN_HANDLED
}
Odpowiedz

  • +
  • -
Divic - zdjęcie Divic 27.12.2011


public add_bonus_drop(attacker_id,id)
{
if(player_b_drop[attacker_id] > 0||c_drop[attacker_id] > 0&& get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))
{
new los=random_num(1,max(player_b_drop[attacker_id],c_drop[attacker_id]));

if (los==1)
client_cmd(id, "drop")

}
return PLUGIN_HANDLED
}


g[o]q twoim kodem dziala wczesniej walilem cale serie i nic a teraz dziala moge pozostac przy powyzszym wzorze kodu?
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 28.12.2011

tak
Odpowiedz