Siła na czas 7573 28

O temacie

Autor Draks

Zaczęty 4.06.2013 roku

Wyświetleń 7573

Odpowiedzi 28

Fabio

Fabio

The Modders
posty3477
Propsy2157
ProfesjaSkrypter
  • The Modders
Tak to jest z początkującymi :P

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
I tak nie wiem co by w TICK_TOCKU musiał napisać, przecież niema czegoś takiego jak "Npc_use_item" ani nic podobnego, jest tylko "AI_UseItem" a to przecież zachowanie postaci że ma wypić a nie jeśli wypił, więc triggerem się tego też nie osiągnie, chyba że się mylę?
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Siła na czas
#22 2013-06-07, 11:57(Ostatnia zmiana: 2013-06-07, 12:25)
Nie mam pojęcia o czym ty piszesz :lol2:
To banalny skrypt wykorzystujący jedną zmienną i żadnych funkcji zewnętrznych. Po co ci niby jakieś "Npc_use_item" czy "AI_UseItem", które zresztą sądząc po nazwie robiłyby dokładnie to samo?

Trzeba jakoś wywoływać funkcję sprawdzającą co jakiś odstęp czasu. Najczęściej stosowany i nie wymagający kombinowania z silnikiem jest trigger onFireTick. Funkcja ma sprawdzać czy zmienna (globalna lub aivar) przechowująca pozostały czas działania efektu jest większa lub równa zeru. Jeśli jest, ma ją zmniejszać o jeden. Jeśli jest równa zero, ma wyłączać efekt (np zabierać 10 siły bohaterowi). Jeśli jest mniejsza, ma nic nie robić. Proste?

Z kolei eliksir ma sprawdzać czy ta zmienna przechowująca czas jest większa od zera. Jeśli nie jest, ma dodawać bohaterowi wybraną ilość siły. Bez względu na to czy była, czy nie, ma dodawać do zmiennej z czasem tyle, ile ma trwać efekt.

To jest tak banalne że gdyby nie to że z zasady nie daję gotowców, napisałbym tego parolinijkowego gotowca. Jak bardzo chcesz, mogę dać go w pseudokodzie, tak żebyś chociaż musiał przepisać na Daedalusa.

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
Hmm, nie wiedziałem że działa to w ten sposób, uważałem że to ma byc tak że eliksir dodaje 5 siły, a tick tock sprawdza czy wypił miksturę jeśli wypił to po pięciu minutach zabiera pięć hp, nie chodzi mi o gotowca tymbardziej w innym języku jednak ciekawe to co napisałeś muszę to sprawdzić, chciałem sprawdzić czy będe umiał zrobić coś takiego jak ta siła na czas, ale widzę że jak zwykle zacząłem od dupy strony
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Siła na czas
#24 2013-06-07, 16:57(Ostatnia zmiana: 2013-06-07, 18:08)
Chyba muszę dodać do sygny dopisek "nie pomagam w sprawie moddingu na PW". Macie problem? Piszcie na forum. Właśnie dostałem dwie takie wiadomości w ciągu minuty, od dwóch osób w różnych sprawach :ayfkm:  
Cytat: toworish#msgba muszę dodać do sygny dopisek "nie pomagam w sprawie moddingu na [b
PW[/b]". Macie problem? Piszcie na forum. Właśnie dostałem dwie takie wiadomości w ciągu minuty, od dwóch osób w różnych sprawach :ayfkm:  
Cytat: toworish date=1370616316#msgba muszę dodać do sygny dopisek "nie pomagam w sprawie moddingu na [b
PW[/b]". Macie problem? Piszcie na forum. Właśnie dostałem dwie takie wiadomości w ciągu minuty, od dwóch osób w różnych sprawach :ayfkm:  
Cytat: toworish#msgba muszę dodać do sygny dopisek "nie pomagam w sprawie moddingu na [b
PW[/b]". Macie problem? Piszcie na forum. Właśnie dostałem dwie takie wiadomości w ciągu minuty, od dwóch osób w różnych sprawach :ayfkm:  
Cytat: toworish date=1370616316
Hmm właściwie jest to dla mnie zbyt trudne, nie do końca wiem jak takie coś napisać jednak jeśli byś mi zapodał taki przykład w tym innym języku tak żebym przepisał na dedalusa to myślę że bym podołał xD głupio prosić o gotowca ale cóż, piszę w związku z tematem "siła na czas"
Tak jak napisałem, gotowca ode mnie nie dostaniesz. Pseudokod jednak powinien ci wystarczyć. Nie jest to żaden język programowania, jak nie znasz tego określenia, proponuję zapoznać się z: http://pl.wikipedia.org/wiki/Pseudokod

Zmienne do zdefiniowania:
zmienna liczbowa pozostały_czas
stała liczbowa całkowity_czas równa 60
stała liczbowa premia_siły równa 10
Funkcja do odpalania przez ticktock (np co sekundę):
jeśli pozostały_czas == 1
    wtedy zmniejsz bohater.siła o premia_siły

jeśli pozostały_czas > 0
    wtedy zmniejsz pozostały_czas o 1
Funkcja do odpalenia przy wypiciu eliksiru:
jeśli pozostały_czas == 0
    wtedy zwiększ bohater.siła o premia_siły

zwiększ pozostały_czas o całkowity_czas
Jak widzisz, to po prostu trochę bardziej formalny zapis tego co napisałem w poście. Na podstawie tego powinno już ci być bardzo łatwo napisać skrypt w Daedalusie.

Jak już napiszesz, porównaj z tym:
Spoiler
Ale najpierw spróbuj sam ;p
Spoiler
var int remainingTime;
const int effectTime = 60;
const int strengthBonus = 10;

func void strengthPotionCountdown ()
{
    if (remainingTime == 1)
    {
        hero.attribute[atr_strength] -= strengthBonus;
    }
    if (remainingTime > 0)
    {
        remainingTime--;
    }
}

func void useTempStrengthPotion ()
{
    if (remaningTime == 0)
    {
        hero.attribute[atr_strength] += strengthBonus;
    }
    remaningTime += effectTime;
}

//edit: chwila, muszę zmienić warunek odejmowania
//edit2: poprawione.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy

RafalBudzis

Siła na czas
#25 2013-06-07, 21:17(Ostatnia zmiana: 2013-06-07, 21:25)
EDIT : kurwa nie wiem jak ja patrzyłem sorry :(

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Siła na czas
#26 2013-06-07, 21:23(Ostatnia zmiana: 2013-06-07, 21:33)
Nie zjebałem. Lolwut. To celowo, przecież tak ma być. Czas się kumuluje, premia się nie kumuluje, odejmowane jest tylko raz. Problem?

Jakby kulowała się premia, to na krótki czas można by mieć praktycznie dowolną ilość siły. Tak nie powinno być. Powinny się kumulować czasy, ewentualnie nakładać (też proste).

mass1500

mass1500

Użytkownicy
posty149
Propsy11
ProfesjaGracz
  • Użytkownicy
Stwórz zmienną której będziesz przypisywał true, potem w ticku sprawdzaj czy ta zmienna jest true i jeśli tak to zwiększ postać siłe
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Podałem już gotowy skrypt. Nie dość że twoja odpowiedź nic nie wnosi, to jest zbyt ogólna. Pytanie zadane w temacie zakładało konieczność dodawania ściśle określonego bonusu na ściśle określony czas.


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry