Tick Tock 6618 14

O temacie

Autor CBA

Zaczęty 16.07.2009 roku

Wyświetleń 6618

Odpowiedzi 14

CBA

CBA

Użytkownicy
posty100
Profesjabrak
  • Użytkownicy
żywcem skopiowałem z innego forum bo mnie tu skierowali :>
Witam!
Zrobiłem tick tocka bo na nim ma się opierać mój skrypt regenerachi hp :> ale oczywiście nie działa keidy się zranię to nic się nie dzieje
tick tocka w spacerze zrobiłem a tak wygląda skrypt
Cytat:
//-------- eigentliche Startup des Spiels --------
FUNC VOID INIT_WORLD ()
{
Wld_SendTrigger("TICK_TOCK");
func void tick_tock()
{
Npc_ChangeAttribute (self, ATR_HITPOINTS, HP_Apfel);
};
INIT_Sub_Newcamp ();
INIT_Sub_Oldcamp ();
INIT_Sub_Psicamp ();
INIT_Sub_Demontower ();
INIT_Sub_Freeminecamp ();
INIT_Sub_Surface ();

B_InitMonsterAttitudes ();
B_InitGuildAttitudes();
};
aha i chce powiedzieć że tick tock w spacku raczej jest ok bo kiedy dam to
Cytat:
PrintScreen (inttostring(minitime/10), minitime%100,minitime%100,"FONT_OLD_20_WHITE.TGA",2);
minitime=minitime+1;
to liczby latają po ekranie ;p  co znaczy że działa
http://www.vpx.pl/zdjecie,tick_tock.html
Pomoże ktoś? :>
 

Zysk

Zysk

Użytkownicy
posty606
Propsy451
  • Użytkownicy
tu self nic nie znaczy, musisz użyć hero
 

CBA

CBA

Użytkownicy
posty100
Profesjabrak
  • Użytkownicy

CBA

Tick Tock
#2 2009-07-16, 19:46(Ostatnia zmiana: 2009-07-16, 19:47)
Dzięki ale teraz wyskakuje błąd :(
http://www.vpx.pl/zdjecie,func.html
a oto ta linia
func void tick_tock()
 

Zysk

Zysk

Użytkownicy
posty606
Propsy451
  • Użytkownicy
nie możesz deklarować jednej funkcji w innej
 

CBA

CBA

Użytkownicy
posty100
Profesjabrak
  • Użytkownicy
Dzięki ale nadal nie działa :(  dodałem coś takiego i również nic
//-------- eigentliche Startup des Spiels --------
FUNC VOID INIT_WORLD ()
{
Wld_SendTrigger("TICK_TOCK");
INIT_Sub_Newcamp ();
INIT_Sub_Oldcamp ();
INIT_Sub_Psicamp ();
INIT_Sub_Demontower ();
INIT_Sub_Freeminecamp ();
INIT_Sub_Surface ();

B_InitMonsterAttitudes ();
B_InitGuildAttitudes();
};
   var int minitime;
   func void tick_tock()
{
   Npc_ChangeAttribute (hero, ATR_HITPOINTS, HP_Apfel);
   minitime=minitime+1;
};
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja

Adanos
Administrator

Tick Tock
#5 2009-07-16, 20:29(Ostatnia zmiana: 2009-07-16, 20:30)
A spróbuj dać zamiast tego:
Npc_ChangeAttribute (hero, ATR_HITPOINTS, HP_Apfel);to:
hero.attribute[ATR_HITPOINTS] += HP_Apfel;

CBA

CBA

Użytkownicy
posty100
Profesjabrak
  • Użytkownicy
Niestety Adanos nie pomogło :(
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja

Adanos
Administrator

Tick Tock
#7 2009-07-16, 20:49(Ostatnia zmiana: 2009-07-16, 20:49)
Dobra, jeszcze raz. W czym jest problem? Tzn. co działa, a co nie.

Dracon

Dracon

Użytkownicy
posty1068
Propsy904
Profesjabrak
  • Użytkownicy

Dracon

Tick Tock
#8 2009-07-16, 20:55(Ostatnia zmiana: 2009-07-16, 20:56)
Na końcu funkcji tick tocka musi być:
if (true)
{  Wld_SendTrigger("TICK_TOCK");   };
U mnie wtedy tick tock poszedł

I nie rób skryptu do triggera w startrupie. Lepiej zrób w story/events.

Tak swoją drogą to inaczej mógłbyś zrobić tą regenerację, ale nie będę za ciebie robił skryptu...
 
,,Dobry, to człowiek, który nie ukrywa siedzącego w nim zwierzęcia. A taki co usiłuje udawać dobrego, jest wręcz niebezpieczny. Najgroźniejsi są ci, którzy sami głęboko wierzą, że są dobrzy. Odrażający, ohydny przestępca może zamordować jednego człowieka, dziesięciu, stu, ale nigdy nie zabija milionów. Miliony mordują ci, którzy mają się za samą dobroć.''

Wiktor Suworow, Akwarium

CBA

CBA

Użytkownicy
posty100
Profesjabrak
  • Użytkownicy

CBA

Tick Tock
#9 2009-07-16, 20:56(Ostatnia zmiana: 2009-07-16, 21:18)
No niby jest ok odpala się gothic i nie wyskakuje żaden problem.
Zanim znów zacząłem być w spirit of the fight to zdążyłem zrobić dla jaj pc hero jako Adanosa :D  (życie 1000 i mana w końcu to Bóg w gothicu :P ) i jako że ciężko było by mi się zranić miejąć tyle hp to odpalam konsole i wciskam h które mnie rani i nic się nie dzieje :(
EDIT: Zrobiłem tak jak powiedziałeś Dracon i nadal nie działa :D
w starupie
FUNC VOID INIT_WORLD ()
{
if (true)
{  Wld_SendTrigger("TICK_TOCK");   };
INIT_Sub_Newcamp ();
INIT_Sub_Oldcamp ();
INIT_Sub_Psicamp ();
INIT_Sub_Demontower ();
INIT_Sub_Freeminecamp ();
INIT_Sub_Surface ();

B_InitMonsterAttitudes ();
B_InitGuildAttitudes();
};
a w evenets
  var int minitime;
   func void tick_tock()
{
   hero.attribute[ATR_HITPOINTS] += HP_Apfel;
   minitime=minitime+1;
};
 

sebastiansok

sebastiansok

Użytkownicy
posty93
Propsy1
  • Użytkownicy
Dobra to więc tak, na początku dajemy zmienną:
Cytuj
var int NPC_Regeneracja;
Następnie dodajemy:
Cytuj
func void tick_tock()
{
   if(NPC_Regeneracja == 1)
   {
     self.attribute[ATR_REGENERATEHP] = 1;
    }
};
tu masz Tick_tock'a, a w dialogu musisz dać  linijkę:
Cytuj
NPC_Regeneracja = 1;
Spróbuj powinno zadziałać
 
89% graczy uważa że najważniejsza jest grafika jeśli należysz do tych 11% wklej to do podpisu!

Dracon

Dracon

Użytkownicy
posty1068
Propsy904
Profesjabrak
  • Użytkownicy

Dracon

Tick Tock
#11 2009-07-17, 10:12(Ostatnia zmiana: 2009-07-17, 10:20)
Inaczej to trza zrobić...
Zrobię już ten skrypt (mam dobry humor ;)  ), ale liczę na to, że w modzie będę w creditsach.
////////constants.d (na początku pliku) //////////
var int level_regeneracji;
const int HP_lvl_1 = 1;
const int HP_lvl_2 = 3;
const int HP_lvl_3 = 5;
// można zrobić jeszcze więcej levelów;) ///////


////////// Twoj_plik_z_tick_tockiem.d //
func void tick_tock()
{
   if (hero.attribute[ATR_HITPOINTS] > 0)
   {
 if (level_regeneracji == 1)
 {
 hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + HP_lvl_1;
 };
 if (level_regeneracji == 2)
 {
 hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + HP_lvl_2;
 };
 if (level_regeneracji == 3)
 {
 hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + HP_lvl_3;
 };
 if (hero.attribute[ATR_HITPOINTS]>hero.attribute[ATR_HITPOINTS_max])
 {
hero.attribute[ATR_HITPOINTS]=hero.attribute[ATR_HITPOINTS_max];
 };
   };
};

Pisałem od razu na forum - ten skrypt nie jest skompilowany.

//Edit: Hmmm... a może zrobię z tego tutorial?
 
,,Dobry, to człowiek, który nie ukrywa siedzącego w nim zwierzęcia. A taki co usiłuje udawać dobrego, jest wręcz niebezpieczny. Najgroźniejsi są ci, którzy sami głęboko wierzą, że są dobrzy. Odrażający, ohydny przestępca może zamordować jednego człowieka, dziesięciu, stu, ale nigdy nie zabija milionów. Miliony mordują ci, którzy mają się za samą dobroć.''

Wiktor Suworow, Akwarium

sebastiansok

sebastiansok

Użytkownicy
posty93
Propsy1
  • Użytkownicy
ale ja nie daje na LVLe
 
89% graczy uważa że najważniejsza jest grafika jeśli należysz do tych 11% wklej to do podpisu!

Dracon

Dracon

Użytkownicy
posty1068
Propsy904
Profesjabrak
  • Użytkownicy
Pomyśl przez 3 minuty, to może jakimś cudem wymyślisz jak to zrobić  :D ...
 
,,Dobry, to człowiek, który nie ukrywa siedzącego w nim zwierzęcia. A taki co usiłuje udawać dobrego, jest wręcz niebezpieczny. Najgroźniejsi są ci, którzy sami głęboko wierzą, że są dobrzy. Odrażający, ohydny przestępca może zamordować jednego człowieka, dziesięciu, stu, ale nigdy nie zabija milionów. Miliony mordują ci, którzy mają się za samą dobroć.''

Wiktor Suworow, Akwarium

CBA

CBA

Użytkownicy
posty100
Profesjabrak
  • Użytkownicy

CBA

Tick Tock
#14 2009-07-20, 09:02(Ostatnia zmiana: 2009-07-20, 10:14)
Dzięki Dracon tera działa :D  temat można zamknąć

Ok, temat zamykam,
Adanos
 


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