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

Itemy diablo


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

#1 Apines

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:5
  • Imię:Marcin
  • Lokalizacja:Bielsko-Biała
Offline

Napisano 21.11.2010 12:01

Witam zacząłem się bawić od paru minut z itemami do diablo moda:D Mam do was pytanie czy ten item będzie działać?I czy dobrze to robie.

}
case 69:
{
player_item_name[id] = "Notatnik Krola"
player_item_id[id] = rannum
player_b_blind[id] [id] = random_num(3,6)
player_b_grenade[id] = random_num(1,4)
player_b_heal[id] = random_num(20,35)
show_hudmessage(id, "Znalazles przedmiot: %s :: oslepia gracza.Masz szanse na natychmiastowe zabicie z HE.Twoje hp bedzie sie regenerowac co 5 sekund oraz mozesz polozyc leczacy totem na 7 sekund",player_item_name[id])

i jak mam już to w sma to co potem mam robić?dzięki za kazde odpowiedzi :)
  • +
  • -
  • 0

#2 FreZZy

    Guru

  • Zbanowany

Reputacja: 210
Profesjonalista

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

Napisano 21.11.2010 12:07

Dobrze tylko musisz zmienić
new rannum = random_num(1,XX)

XX - numer ostatniego itemka

Dodano 21 listopad 2010 - 12:12:
i ja bym zrobił inny opis:

show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 1/%i szans na oślepienie gracza i 1/%i na natychmiastowe zabicie z HE. Możesz postawić leczący totem, który będzie regenerował %i HP przez 7 sekund.", player_item_name[id],player_b_blind[id],player_b_grenade[id],player_b_heal[id])


#3 Apines

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:5
  • Imię:Marcin
  • Lokalizacja:Bielsko-Biała
Offline

Napisano 21.11.2010 12:16

}
case 69:
{
player_item_name[id] = "Notatnik Krola"
player_item_id[id] = new rannum = random_num(1,69)
player_b_blind[id] [id] = random_num(3,6)
player_b_grenade[id] = random_num(1,4)
player_b_heal[id] = random_num(20,35)
show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 1/%i szans na oślepienie gracza i 1/%i na natychmiastowe zabicie z HE. Możesz postawić leczący totem, który będzie regenerował %i HP przez 7 sekund.", player_item_name[id],player_b_blind[id],player_b_grenade[id],player_b_heal[id])

Nie rozumie dokładnie :D

o to ci chodzilo ?

player_item_id[id] = new rannum = random_num(1,69)

jak nie to napisz dokładniej jak to zrobić:D i co dalej jak możesz

Użytkownik Apines edytował ten post 21.11.2010 12:18

  • +
  • -
  • 0

#4 FreZZy

    Guru

  • Zbanowany

Reputacja: 210
Profesjonalista

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

Napisano 21.11.2010 12:25

To jest kawałek kodu z mojego sma (nazwy spolszczone):


public award_item(id, itemnum)
{
if (player_item_id[id] != 0)
return PLUGIN_HANDLED

set_hudmessage(220, 115, 70, -1.0, 0.40, 0, 3.0, 4.0, 0.2, 0.3, 5)
new rannum = random_num(1,XX)

new maxfind = player_agility[id]
if (maxfind > 15) maxfind = 15

new rf = random_num(1,25-maxfind)

if (itemnum > 0) rannum = itemnum
else if (itemnum < 0) return PLUGIN_HANDLED

if (rf == 3 && itemnum == 0) //We found a rare item
{
award_unique_item(id)
rannum = -1
}

//Set durability, make this item dependant?
item_durability[id] = 270
switch(rannum)
{
case 1:
{
player_item_name[id] = "Brązowy Wzmacniacz"
player_item_id[id] = rannum
player_b_damage[id] = random_num(5,15)
show_hudmessage(id, "Znalazles przedmiot: %s :: dodaje obrazenia +%i",player_item_name[id],player_b_damage[id])
}

case 2:
{
player_item_name[id] = "Srebrny Wzmacniacz"
player_item_id[id] = rannum
player_b_damage[id] = random_num(9,18)
show_hudmessage(id, "Znalazles przedmiot: %s :: dodaje obrazenia +%i ",player_item_name[id],player_b_damage[id])
}

case 3:
{
player_item_name[id] = "Złoty Wzmacniacz"
player_item_id[id] = rannum
player_b_damage[id] = random_num(18,30)
show_hudmessage(id, "Znalazles przedmiot: %s :: dodaje obrazenia +%i ",player_item_name[id],player_b_damage[id])
}


na górze masz
new rannum = random_num(1,XX)

i to XX zamień na ostatni numer itemku
tzn. jeżeli twoj ostatni itemek ma numer 69 to zmień XX na 69

PS A opis do itemu rozumiesz? Jak coś to wytłumacze ;)

Postaw Dołączona grafika

Użytkownik FreZZy edytował ten post 21.11.2010 12:28


#5 Apines

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:5
  • Imię:Marcin
  • Lokalizacja:Bielsko-Biała
Offline

Napisano 21.11.2010 12:53

Dzięki wielkie z tymi XX już załapałem:D a co do opisów item-ów możesz wytłumaczyć.A mógłbyś jeszcze napisać co dalej zrobić,jak mam już dodane do w sma?trzeba to skompilować pewnie?

Ps.dostałeś plusika co nie:D?

Użytkownik Apines edytował ten post 21.11.2010 12:53

  • +
  • -
  • 0

#6 FreZZy

    Guru

  • Zbanowany

Reputacja: 210
Profesjonalista

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

Napisano 21.11.2010 13:41

Przykładowy opis:
show_hudmessage(id, "Znalazles przedmiot: %s :: dodaje obrazenia +%i",player_item_name[id],player_b_damage[id])


Nie będe się nad tym rozwodził, bo już jest poradnik o HUD'zie ( Wypisywanie wiadomości na HUD - Nieoficjalny polski support AMX Mod X )ale wypisze pewne zależności:

show_hudmessage(id, - to zostawiamy tak jak jest, oznacza to że pokazujemy na środku ekranu wiadomość wybranemu graczowi (tutaj: graczowi, który dostał item)

"Znalazles przedmiot: %s :: 1/%i szans na utrate wzroku kiedy uszkadzasz wroga",player_item_name[id],player_b_blind[id]) - za to ta części nas najbardziej interesuje

%s - odwołanie do jakiegoś tekstu (tutaj: do nazwy itemu)
%i - odwołanie do jakiejś liczby (tutaj: do np. szansy na zabicie z HE albo na ilość redukowanego dmg)

Do czego to służy? - Ano do tego żeby przedstawić jakieś zmieniające się dane np. wylosowaną liczbę
Np. mamy itemek Miecz Słońca, który daje szanse na oślepienie wroga.
case 29:
{
player_item_name[id] = "Miecz Słońca"
player_item_id[id] = rannum
player_b_blind[id] = random_num(1,4)
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/%i szans na utrate wzroku kiedy uszkadzasz wroga",player_item_name[id],player_b_blind[id])
}

Widzimy, że
player_b_blind[id] = random_num(1,4)

szansa na oślepienie jest losowana tuż po tym jak ten itemek dostajemy i nie zmienia się aż go stracimy.
Gdybyśmy w opisie dodali, że masz 1/3 szansy na oślepienie wroga, to była by to nieprawda, bo za jednym razem masz 1/1, za drugim 1/4 i właściwie nie da się zrobić stałego opisu dla takiego itemka. Po to właśnie są %i, żeby wynik losowania pokazywał w opisie

Co jest jeszcze potrzebne, żeby pokazywał w opisie wylosowany numerek? - Trzeba tuż po opisie, jeszcze w nawiasie w hudmessage dodać skąd on ma brać dane. Czyli:
show_hudmessage(id, "Znalazles przedmiot: %s :: 1/%i szans na utrate wzroku kiedy uszkadzasz wroga",player_item_name[id],player_b_blind[id])


Widizmy, że po zakończeniu cudzysłowia jest
player_item_name[id],player_b_blind[id])

ten pierwszy to jest %s, czyli nazwa itemku, ten drugi to jest %i, czyli nasza wylosowana wartość.

Jak coś źle albo niejasno napisałem to pisać :D

PS może być dużo "%i" tylko należy wtedy dać PO KOLEI wartości np.
case 60:	
{
player_item_name[id] = "Nekromanta ring"
player_item_id[id] = rannum
player_b_respawn[id] = random_num(2,4)
player_b_vampire[id] = random_num(3,5)
show_hudmessage(id, "Znalazles przedmiot : %s :: Masz %i szansy na odrodzenie i wysysasz wrogowi %i HP",player_item_name[id],player_b_respawn[id],player_b_vampire[id])
}

 

No, oczywiście trzeba skompilować i zresetować server, a plusika dostałem ^D^

Użytkownik FreZZy edytował ten post 21.11.2010 13:43





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

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