• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5


Sposób wyświetlania zmiennej typu R
#1
Mam pytanie, mianowicie czy idzie jakoś zmienić sposób wyświetlania się zmiennej typu R, w sensie takim aby wyświetlała się liczba całkowita np 2 a nie z cyframi po przecinku typu 2.000. Otóż mam item który działa tak że jeżeli bohater który go posiada zabije jednostkę przeciwnika dostaje 1 duszę (stack-nie chodzi o ilość ładunków przedmiotu tylko zmienną) a po aktywacji tego przedmiotu następuje jakiś tam efekt specjalny (ja dałem przedmiotowi umiejętność bojowego stąpnięcia - ze statami wyzerowanymi) i obrażenia które są liczone jako 100 + 20 za każdą zdobytą duszę czyli mniej więcej tak :

Jednostka - Cause (Hero manipulating item) to damage circular area after 0.00 seconds of radius 300.00 at (Position of (Hero manipulating item)), dealing (100.00 + (Item_pozeracz_red x 20.00)) damage of attack type Zaklęcia and damage type Normalny

i o ile tutaj wszystko działa tak jak należy bo dmg bije taki jaki ma bić to zrobiłem sobie komendę testową by sprawdzić czy 'dusze' są zbierane poprawnie, więc tam po wpisaniu komendy -p ma mi wyświetlać np. Ilość zebranych dusz : (tutaj ta zmienna moja w tym przypadku "Item_pozeracz_red") i do tego właśnie piję ponieważ wyświetla mi to w postaci np. 3.000 i o ile teraz to zmieniłem do 3.0 to dalej to cholerne ".0" mi wyskakuję i nie wiem jak się go pozbyć. Da radę to jakoś zmienić?
Reply }}}
Podziękowanie od:
#2
Tak, musisz przed pokazaniem zrobić ''Konwersja - real to integer'' i będzie pokazywało zawsze wartość bez przecinków.
Albo zrobić zmienną jako Integer i w trakcie zadawania obrażeń dać Konwersja - Integer to real.
[Image: image.png]
Reply }}}
Podziękowanie od: Karwallo
#3
Dzięki teraz jest ok Uśmiech
Wygląda to jakoś tak : Jednostka - Cause (Hero manipulating item) to damage circular area after 0.00 seconds of radius 300.00 at (Position of (Hero manipulating item)), dealing (101.00 + ((Real(Item_pozeracz_red)) x 20.00)) damage of attack type Chaos and damage type Normalny Język


Mam jeszcze jedno pytanie co prawda nie dotyczące tej sprawy ale nie wiem czy jest sens zakładać nowy wątek.
Mianowicie w mojej mapie za zabicie wrogiej jednostki dostajemy ilość drewna równą jej poziomowi, i to akurat mam działa itd. Ale chciałem do tego dodać taki wyzwalacz aby po zabiciu jakiejś jednostki wyświetlało w grze ile drewna dostaliśmy za nią aczkolwiek w praktyce wygląda to tak że przy zabiciu wielu jednostek na raz wyskakujący tekst pozostaje na mapie i nie znika do końca gry, wiem że takie coś idzie zrobić tyle że ja raczej w tej branży się nie orientuję , a tak wygląda owy 'niedziałający prawidłowo wyzwalacz' :
Wydarzenia
Jednostka - A unit owned by Gracz 4 (Fioletowy) Umiera
Warunki
Akcje
Tekst - Create floating text that reads (+ + (String((Level of (Dying unit))))) above (Dying unit) with Z offset 0.00, using font size 10.00, color (30.00%, 100.00%, 0.00%), and 0.00% transparency
Wait 1.50 seconds
Tekst - Destroy (Last created floating text)
Reply }}}
Podziękowanie od:
#4
A no to nie działa dlatego, że wait blokuje trigger na określony czas, a przed waitem jakiś inny floating text może zająć miejsce "ostatnio stworzonego fruwającego tekstu".

W takich okolicznościach waita się nie stosuje. Zrób to tak...

[Image: Capture.png]
Wtedy zniknie po 2 sek.

Myślę, że pomogłem Uśmiech
Pozdrawiam.
[Image: Intro_S.png]
Reply }}}
Podziękowanie od: Karwallo
#5
A no właśnie , dzięki !
Też się bawiłem z tym Change the lifespan of... bo myślałem że powinno naprawić mój problem ale przez to permanence nie działało i najwidoczniej nie zauważyłem tej opcji żeby to permanence wyłączyć Duży uśmiech
Uff Duży uśmiech
Reply }}}
Podziękowanie od:
#6
Mam jeszcze jedno pytanie otóż chciałbym aby item działał na zasadzie :
Jeśli posiadając ten item (oczywiście chodzi o bohatera) zabijemy 20 (po osiągnięciu 20 się zeruje i od nowa ) jednostek nasza maksymalna ilość many ma wzrosnąć o 100. I o ile jako tako wyzwalacz dodający +1 do zmiennej po zabiciu działa oraz sprawdzanie czy ilość zabitych wynosi 20 również to samo zwiększanie maksymalnej many nie bardzo a próbowałem akcjami
Set Item_korona_wiedzy_max_many = (Maksimum many of (Killing unit))
Set Item_korona_wiedzy_max_many = (Item_korona_wiedzy_max_many + 100.00)

Cały wyzwalacz wygląda następująco:


   Wydarzenia
       Jednostka - A unit Umiera
   Warunki
       ((Killing unit) has an item of type |cffffcc00Korona Wiedzy|r) RĂłwna siÄ™ TAK
   Akcje
       Set Item_korona_wiedzy_max_many = (Maksimum many of (Killing unit))
       If (All Conditions are True) then do (Then Actions) else do (Else Actions)
           JeĹ›li - Warunki
               (Owner of (Killing unit)) RĂłwna siÄ™ Gracz 1 (Czerwony)
           To - Akcje
               Set Item_korona_wiedzy_red = (Item_korona_wiedzy_red + 1)
               If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   JeĹ›li - Warunki
                       Item_korona_wiedzy_red RĂłwna siÄ™ 20
                   To - Akcje
                       Set Item_korona_wiedzy_red = 0
                       Set Item_korona_wiedzy_max_many = (Item_korona_wiedzy_max_many + 100.00)
                       Set Item_korona_wiedzy_red_max = (Item_korona_wiedzy_red_max + 1)
                       Gra - Display to Grupa gracza - Gracz 1 (Czerwony) the text: Korona Wiedzy : Mak...
                   Albo - Akcje
                       Do nothing
           Albo - Akcje
               Set Item_korona_wiedzy_blue = (Item_korona_wiedzy_blue + 1)
               If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   JeĹ›li - Warunki
                       Item_korona_wiedzy_blue RĂłwna siÄ™ 20
                   To - Akcje
                       Set Item_korona_wiedzy_blue = 0
                       Set Item_korona_wiedzy_max_many = (Item_korona_wiedzy_max_many + 100.00)
                       Set Item_korona_wiedzy_blue_max = (Item_korona_wiedzy_blue_max + 1)
                       Gra - Display to Grupa gracza - Gracz 2 (Niebieski) the text: Korona Wiedzy : Mak...
                   Albo - Akcje
                       Do nothing


Czy da się osiągnąć mój zamierzony efekt bez jakiegoś czarowania jak tu?
Reply }}}
Podziękowanie od:
#7
Żarówka 
Tu masz taki systemik na podstawie księgi zdrowia.
Na dole wrzucę go do pobrania, a tu masz pokazane jak go użyć:

Skopiuj wszystkie wyzwalacze (oprócz przykładowych) oraz zdolność z edytora obiektów.

Tak się zmienia maksymalną ilość życia za pomocą tego systemu:
[Image: Warcraft_1.png]
Po tym twoje życie zostanie zmienione..



Tak on wygląda od strony kodowej:
[Image: Warcraft_2.png]\
PAMIĘTAJ!
Wszystko skopiuj !!

Nie zapomnij ustawić tej wartości...
[Image: Warcraft_4.png]




Skopiuj lub sam stwórz taką zdolność
[Image: Obiekt_1.png], czyli [Image: Obiekt_3.png]
[Image: Obiekt_2.png]

Możesz też tak zrobić dla many, zmieniając zdolność, na 
Przedmiot - Premia do Many..

UWAGA!
Po skopiowaniu w systemie od strony kodowej może stać się tak:
[Image: Warcraft_5.png]
Wtedy zmień to na wartość skopiowanej zdolności.

Tu masz link:

.w3x   SystemZycia.w3x (Size: 18.7 KB / Downloads: 1)



I to tyle. Myślę, że pomogłem Uśmiech
Pozdrawiam
[Image: Intro_S.png]
Reply }}}
Podziękowanie od:

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  




Users browsing this thread:
1 Guest(s)

Silnik forum - © MyBB - Styl forum - iAndrew, grafika - Kithraya, Midas, Bezifabr, Blizzard Entertainment
   
O NAS
Goblin Factory to założone w grudniu 2013 roku forum moderów Warcraft 3 wspólnym wysiłkiem dwóch osób - Scaraba, i WrathaAmona. Celem ich było stworzenie czegoś na wzór starego arcane.pl - miejsca, w którym osoby które wciąż tworzą coś do Warcrafta mogą się spotkać, porozmawiać, zaprezentować swoje dzieła, zapytać o rozwiązanie różnych problemów itd. 22 czerwca 2014 roku Goblin Factory został przeniesiony na nowy silnik, i nowy hosting, a obecnie jest już największym i najpopularniejszym polskim forum dotyczącym Warcrafta 3.