zatruta broń 20416 66

O temacie

Autor mass1500

Zaczęty 31.12.2011 roku

Wyświetleń 20416

Odpowiedzi 66

mass1500

mass1500

Użytkownicy
posty149
Propsy11
ProfesjaGracz
  • Użytkownicy

mass1500

zatruta broń
#40 2012-01-21, 13:40(Ostatnia zmiana: 2012-01-21, 13:41)
napisałem taki prosty skrypt ale nie mam pojęcia czemu nie chodziconst int maxlicznika = 16;
var int licznik;
var int regeneracja;


func void tick_tock()
{
licznik + 1;
print ("działa naliczanie");


if (licznik >= maxlicznika)
{
licznik = 0;
};
if (hero.attribute[ATR_HITPOINTS] > 0)
{

if (regeneracja == 1)
&& hero.attribute[ATR_HITPOINTS] < hero.attribute[ATR_HITPOINTS_max]
&& (licznik == 8)

{
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + 1;

};
};

if (true)
{  Wld_SendTrigger("TICK_TOCK");   };
};        

znaczy się wszytko chodzi tylko coś chyba z warunkiem nie tak bo jak jest warunek
&& (licznik == 8) to regeneracja się nie aktywuje
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
licznik + 1;
Tak się nie zwiększa zmiennej. Tylko tak
licznik += 1;

if (true)
{  Wld_SendTrigger("TICK_TOCK");   };
Co to jest? To Wld_SendTrigger("TICK_TOCK"); powinno być w startupie, w tick tocku tego nie trzeba.

A gdzie w swoim skrypcie włączasz regenerację?

mass1500

mass1500

Użytkownicy
posty149
Propsy11
ProfesjaGracz
  • Użytkownicy
if (true)
{  Wld_SendTrigger("TICK_TOCK");   };

tak jest na tutku więc myślałem że warto dać wiem że to bez sensu warunek ale jak jest na tutku dałem i tu
 

EdekSumo

EdekSumo

Wyspa Khorinis
posty1739
Propsy925
ProfesjaLvl designer
  • Wyspa Khorinis

EdekSumo
Wyspa Khorinis

zatruta broń
#43 2012-01-21, 14:02(Ostatnia zmiana: 2012-01-21, 14:02)
Adanos if (true)
{  Wld_SendTrigger("TICK_TOCK");   };

To musi być ale jak widzę ten skrypt to mi się płakac chce napisałem mu ładną regeneracje a ten i tak po swojemu :facepalm:
const int maxlicznika = 16;
var int licznik;
var int regeneracja;


func void tick_tock()
{
        licznik += 1;
                print ("działa naliczanie");
       
       

        if (hero.attribute[ATR_HITPOINTS] > 0)
{
               
        if (regeneracja == 1)
        && hero.attribute[ATR_HITPOINTS] < hero.attribute[ATR_HITPOINTS_max]
        && (licznik == maxlicznika)
       
{
        hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + 1;

};
};
        if (licznik >= maxlicznika)
{
        licznik = 0;
};
if (true)
{  Wld_SendTrigger("TICK_TOCK");   };
};
 

mass1500

mass1500

Użytkownicy
posty149
Propsy11
ProfesjaGracz
  • Użytkownicy
dobra udało się dzięx za pomoc jeszcze tylko zatruwanie npc
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Adanos if (true)
{  Wld_SendTrigger("TICK_TOCK");   };

To musi być ale jak widzę ten skrypt to mi się płakac chce napisałem mu ładną regeneracje a ten i tak po swojemu :facepalm:
Tego nie musi być, nawet jest niewskazane. Powiedz mi, po co wstawiać co chwilę tego samego wyzwalacza? Wyzwalacze, po wstawieniu, działają przez całą grę, nie trzeba ich co chwilę wstawiać. A if (true) woła o pomstę do nieba.

EdekSumo

EdekSumo

Wyspa Khorinis
posty1739
Propsy925
ProfesjaLvl designer
  • Wyspa Khorinis

EdekSumo
Wyspa Khorinis

zatruta broń
#46 2012-01-21, 14:20(Ostatnia zmiana: 2012-01-21, 14:21)
Cytuj
Kiedy hero ma więcej życia niż to było przewidziane trzeba to naprawić .
if (true)
{  Wld_SendTrigger("TICK_TOCK");   };
Nie wiem po kiego wacka to jest, ale jak Xardas 17 (kiedyś mi pomagał uczyć się skryptów - i chwała mu za to!) mi kazał to wstawić na końcu skryptu to wtedy zaczął chodzić.

http://themodders.org/index.php?/topic/6462-regeneracja/page__p__57138__hl__regeneracja__fromsearch__1#entry57138
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja

Adanos
Administrator

zatruta broń
#47 2012-01-21, 14:26(Ostatnia zmiana: 2012-01-21, 14:27)
http://themodders.org/index.php?topic=6462.msg57148#msg57148

Sam robiłem kiedyś tick tocka i wiem, że takie coś nie jest potrzebne w tick tocku.

EdekSumo

EdekSumo

Wyspa Khorinis
posty1739
Propsy925
ProfesjaLvl designer
  • Wyspa Khorinis

EdekSumo
Wyspa Khorinis

zatruta broń
#48 2012-01-21, 14:30(Ostatnia zmiana: 2012-01-21, 14:45)
Jak robiłem tick tocki to z tym działały więc innym też radzę tak robić dla pewności ale jak nie trzeba to nie trzeba :D

@down nawet nie doczytałem że to xardas17 wymyślił gdybym o tym wiedział. To zmieniło mój sposób patrzenia na świat
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Cytuj
if (true)
{  Wld_SendTrigger("TICK_TOCK");   };
Nie wiem po kiego wacka to jest, ale jak Xardas 17 (kiedyś mi pomagał uczyć się skryptów - i chwała mu za to!) mi kazał to wstawić

Dobrze wiedzieć kto to wymyślił :lol2:  To już prawie forumowy mem.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Szkoda ze nie ma jakiś innych odmian tego skryptu ;d  ciul z wyzwalaczem ale ten if jest zajebisty ;d
można by też zastosować inne cuda :D  np. ;d
if ((1 == 1) && (2 == 2)) || (1 > 2) {
Wld_SendTrigger("TICK_TOCK");
}else{
Wld_SendTrigger("TICK_TOCK");
};
;d

Cytuj
dobra udało się dzięx za pomoc jeszcze tylko zatruwanie npc
5 post w tym temacie ?

Demonical Monk

Demonical Monk

Użytkownicy
posty145
Propsy152
  • Użytkownicy

Demonical Monk

zatruta broń
#51 2012-01-21, 18:24(Ostatnia zmiana: 2012-01-21, 18:24)
Cytuj
if (true)
{  Wld_SendTrigger("TICK_TOCK");   };
Nie wiem po kiego wacka to jest, ale jak Xardas 17 (kiedyś mi pomagał uczyć się skryptów - i chwała mu za to!) mi kazał to wstawić

Sam kod to wzorcowy snippet, po którym można poznać, że skryptami w projekcie zajmuje się pedał programujący za pomocą copy-paste, a nie programista/skrypter.
 

Mark56

Mark56

Moderator
som veľký magič
posty1632
Propsy1846
ProfesjaAnimator
  • Moderator
  • som veľký magič
Cytuj
pedał programujący za pomocą copy-paste
:lol2:  
z samego powodu ze kiedysz mi pomagal v modovaniu propsa niedam ...
 


mass1500

mass1500

Użytkownicy
posty149
Propsy11
ProfesjaGracz
  • Użytkownicy
zna może ktoś warunek jeśli zaatakowaliśmy npc-a (nie chodzi jeśli pokonaliśmy albo walczylśmy lub zostaliśmy pokonani)
wydaje mi się że można się sugerować reakcją na atak czyli my go uderzyliśmy npc-a a on reaguje atakiem proszę o szybką odpowiedź
 

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy

RafalBudzis

zatruta broń
#54 2012-01-23, 17:38(Ostatnia zmiana: 2012-01-23, 17:41)
Napisałem w 5 poscie chyba ???

"Robisz funkcje która będzie uruchamiana przy uderzeniach mieczem (poszukaj tutoriala o mieczach runicznych bo zamiast efektu bedziesz wywoływał to)"
jak by coś to tutaj masz liste funkcji gdzie musisz dać odwołanie dla G1
http://themodders.org/index.php?topic=9417.msg95055#msg95055
dla G2 są tylko 2 funkcje poszukaj na youTube jest w ciul filmów jak zrobić miecze magiczne/runiczne te miecze sie opierają na wywoływaniu efektu przy trafieniu w NPC ;)

EDIT:
https://www.youtube.com/watch?v=l2ghrL7Qqq8

chyba to będzie to

mass1500

mass1500

Użytkownicy
posty149
Propsy11
ProfesjaGracz
  • Użytkownicy
sry rafał ale twoja metoda jest dość ograniczona gdyż możesz zatruć tyle npc-ów ile zrobisz zmiennych, a to mi lekko odtrąca od tej metody, wymyśliłem troche inny sposób ale nie wiem jak napisać warunek "jeśli npc stoi w odległości od hera"
 

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
sry rafał ale twoja metoda jest dość ograniczona gdyż możesz zatruć tyle npc-ów ile zrobisz zmiennych, a to mi lekko odtrąca od tej metody, wymyśliłem troche inny sposób ale nie wiem jak napisać warunek "jeśli npc stoi w odległości od hera"
Napisałeś ze jest 10 % na zatrucie więc nie zdążysz zatruć więcej niż 5 NPC
co do odległości sprawdzaj plik
Gothic\_Work\Data\Scripts\Content\AI\AI_Intern\externals.d

tam wszystko jest ładnie i opisane (nie po polsku)
tobie sie przyda to
FUNC INT   Npc_GetDistToNpc (VAR C_NPC npc1, VAR C_NPC npc2) { return 0; };funkcja zwróci ci odległość do NPC

mass1500

mass1500

Użytkownicy
posty149
Propsy11
ProfesjaGracz
  • Użytkownicy
sry rafał ale twoja metoda jest dość ograniczona gdyż możesz zatruć tyle npc-ów ile zrobisz zmiennych, a to mi lekko odtrąca od tej metody, wymyśliłem troche inny sposób ale nie wiem jak napisać warunek "jeśli npc stoi w odległości od hera"
Napisałeś ze jest 10 % na zatrucie więc nie zdążysz zatruć więcej niż 5 NPC

może i masz racje ale chciałbym to napisać tak "poprawnie skryptowo" chodzi mi o to że można zatruć ile się chce npc-ów, wiem że to nie będzie zbyt potrzebne ale chce to zrobić dla własnej satysfakcji  :lol:
 

mass1500

mass1500

Użytkownicy
posty149
Propsy11
ProfesjaGracz
  • Użytkownicy
poddałem się napisałem to jak radził R.Budzis ale zastanawia mnie czy można zrobić trucizne jako rutyne, bo zbyt duża ilość funkcji w tick tocku obciąży silnik gry
 

Demonical Monk

Demonical Monk

Użytkownicy
posty145
Propsy152
  • Użytkownicy

Demonical Monk

zatruta broń
#59 2012-01-28, 11:37(Ostatnia zmiana: 2012-01-28, 11:38)
Napisałeś ze jest 10 % na zatrucie więc nie zdążysz zatruć więcej niż 5 NPC

"Daliśmy char[20], bo myśleliśmy, że nikt nie będzie mieć tak długiego nazwiska. Na tą klientkę z podwójnym nazwiskiem nadal mówimy #msg1017902segmentation fault#msg1017902..."

Bazując na tym, że jest niska szansa, możesz się jeszcze przejechać... I wtedy gracze zaczną przyłazić z bugreportami.
 


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