Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Wiadomości - Markool

Strony: [1] 2
1
Skrypty / Wyświetlanie listu w monologu
« dnia: 2013-07-19, 11:01 »
noo to brzmi trochę lepiej dzięki:)

2
Skrypty / Wyświetlanie listu w monologu
« dnia: 2013-07-19, 09:35 »
nie jest możliwe bycie w trakcie dialogu i otworzenie listu? jeśli jest to gdzie bym musiał się pobawić, choice jest ważne więc kończenie dialogu odpada

3
Skrypty / Wyświetlanie listu w monologu
« dnia: 2013-07-18, 09:59 »
Co mam zrobić aby po wywołaniu funckji dialogowej otwierał się dokument nie wychodząc z aivara monologu po prostu by pokazało treść na ekranie jak przy otwieraniu dokumentów a także by potem się zamykały po opcji wróć.
skrypt:

instance  list (C_INFO)
{
        npc                     = PC_Hero;
        nr                      = 999;
        condition       = listt;
        information     = Listl;
        permanent       = 1;
important =  0;
        description = "Zobacz skrzynkę";
};

FUNC Listt()
{
        if (monolog == otwart)
        {
                return TRUE;
        };
};

func VOID Listl()
{
Info_ClearChoices (List);


Info_AddChoice          (List,"Otwórz list "List_1);

Info_AddChoice          (List,"Otwórz list "List_2);




       
};
func VOID List_1()
{
Info_ClearChoices (List);

Info_AddChoice          (List,"wróć "Listl);






       
};
func VOID List_2()
{
Info_ClearChoices (List);

Info_AddChoice          (List,"wróć "Listl);







       
};

4
Skrypty / Choice
« dnia: 2013-07-10, 18:10 »
działa dzięki

5
Skrypty / Choice
« dnia: 2013-07-10, 13:26 »
tworzę skrypt ruletki i natrafiłem na problem
instance  PC_rulon (C_INFO)
{
        npc                     = PC_Hero;
        nr                      = 2;
        condition       = PC_rulon_TRUE;
        information     = PC_rulon_Info;
        permanent       = 1;
important =  0;
        description = "Ruletka";
};

FUNC INT PC_rulon_TRUE()
{
        if (monolog == otwart)
        {
                return TRUE;
        };
};

func VOID PC_rulon_Info()
{




Info_ClearChoices (PC_rulon);
Info_AddChoice          (PC_rulon,"odbierz wygraną",PC_rulon_Wyb2);

if(stawa > 0)
{
Info_AddChoice          (PC_rulon,"Obstaw",PC_rulon_Wyb1);
};

   
Info_AddChoice          (PC_rulon,"stawka",PC_rulon_Wyb3);




};
func VOID PC_rulon_Wyb2()
{

};

func VOID PC_rulon_Wyb1()
{
Rulet = Hlp_Random(37);



};

func VOID PC_rulon_Wyb3()
{
Info_ClearChoices (PC_rulon_Wyb33);
Info_AddChoice          (PC_rulon_Wyb33,"1",PC_rulon_Wyb3_Wybor1);
Info_AddChoice          (PC_rulon_Wyb33,"2",PC_rulon_Wyb3_Wybor2);    
Info_AddChoice          (PC_rulon_Wyb33,"5",PC_rulon_Wyb3_Wybor3);
Info_AddChoice          (PC_rulon_Wyb33,"10",PC_rulon_Wyb3_Wybor4);
Info_AddChoice          (PC_rulon_Wyb33,"25",PC_rulon_Wyb3_Wybor5);
Info_AddChoice          (PC_rulon_Wyb33,"50",PC_rulon_Wyb3_Wybor6);
Info_AddChoice          (PC_rulon_Wyb33,"100",PC_rulon_Wyb3_Wybor7);
Info_AddChoice          (PC_rulon_Wyb33,"200",PC_rulon_Wyb3_Wybor8);
Info_AddChoice          (PC_rulon_Wyb33,"500",PC_rulon_Wyb3_Wybor9);


};

wszystko jest dobrze ale gdy dodam tą część skryptu

Info_ClearChoices (PC_rulon_Wyb33);
Info_AddChoice          (PC_rulon_Wyb33,"1",PC_rulon_Wyb3_Wybor1);
Info_AddChoice          (PC_rulon_Wyb33,"2",PC_rulon_Wyb3_Wybor2);    
Info_AddChoice          (PC_rulon_Wyb33,"5",PC_rulon_Wyb3_Wybor3);
Info_AddChoice          (PC_rulon_Wyb33,"10",PC_rulon_Wyb3_Wybor4);
Info_AddChoice          (PC_rulon_Wyb33,"25",PC_rulon_Wyb3_Wybor5);
Info_AddChoice          (PC_rulon_Wyb33,"50",PC_rulon_Wyb3_Wybor6);
Info_AddChoice          (PC_rulon_Wyb33,"100",PC_rulon_Wyb3_Wybor7);
Info_AddChoice          (PC_rulon_Wyb33,"200",PC_rulon_Wyb3_Wybor8);
Info_AddChoice          (PC_rulon_Wyb33,"500",PC_rulon_Wyb3_Wybor9);

wyskakuje błąd Unknown identifier PC_Rulon_Wyb33
nawet jeśli zrobiłem rozgałęzienia

func VOID PC_rulon_Wyb3_wybor1()
{

};
itd.

może oto chodzi
1. Choice w jednym dialogu może mieć jedno rozgałęzienie a w dalszych jego gałęziach nie da się rozgałęziać
2. A może func VOID PC_rulon_Wyb3() i Info_ClearChoices (PC_rulon_Wyb33); powinny mieć to samą nazwę
3. Poprostu mój błąd

Wystarczy mi przykład jak ma wyglądać "choice w choice"

6
Skrypty / warunek if
« dnia: 2013-07-08, 15:27 »
ok działa dzięki

7
Skrypty / warunek if
« dnia: 2013-07-08, 14:42 »
właśnie tak też próbowałem ogólnie chodzi mi by nie wpisywać 100 warunków if
if( wylosowana == wartość ) na
else ifsię krzaczy więc zastosowałem
!! i nadal się krzaczy czyli wszystkie warunki są jednocześnie spełniane a chciałbym aby spełnił to tylko jeden chyba że mam zastosować strukturę
if
{

}
else
{

  if
   {
   
   }
   else
   {
   
    }
}

czy może robię błąd z operatorami

8
Skrypty / warunek if
« dnia: 2013-07-08, 11:37 »
kod:
Amuletrand = Hlp_Random(100);
if(Amuletrand >= 12)
{
CreateInvItems (self, markool_scavenger_amulette,1);
};


if else(Amuletrand <= 24)
!!(Amuletrand <= 12)
{
CreateInvItems (self, markool_wolf_amulette, 1);
};

if else(Amuletrand <= 36)
!!(Amuletrand <= 24)
{
CreateInvItems (self, markool_bloodfly_amulette,1);
};

if else(Amuletrand <= 38)
!!(Amuletrand <= 36)
{
CreateInvItems (self, markool_shadowbeast_amulette,1);
};


if else(Amuletrand <= 40)
!!(Amuletrand <= 38)
{
CreateInvItems (self, markool_troll_amulette,1);
};

if else(Amuletrand <= 45)
!!(Amuletrand <= 40)
{
CreateInvItems (self,markool_waran_amulette,1);
};

if else(Amuletrand <= 50)
!!(Amuletrand <= 45)
{
CreateInvItems (self, markool_snapper_amulette,1);
  Print("ole");

};

if else(Amuletrand > 50 )
{
CreateInvItems (self, markool_npc_scavenger_amulette,1);
  Print("Ooo jak przykro..");

};

najpierw spróbowałem z samymi if spróbowałem tak i też nie idzie else if również.
Negacja też nie podziałała na same if co mnie zdziwiło co jest tu nie tak ?

9
Skrypty / Globalny przedmiot
« dnia: 2012-07-04, 16:22 »
Witam w jakim pliku zadeklarować lub miej więcej gdzie np.
CreateInvItems (self, ItFoMuttonRaw, 1);
aby po zabiciu dowolnej istoty w grze było to w jej wnętrznościach, ale zrobić to globalnie a nie w każdej z osobna deklarować .

10
Skrypty / respawn co tydzien
« dnia: 2012-06-07, 20:21 »
Cytuj
Gotowca nikt Ci nie pośle

Cytuj
polaking może ty byś mi gtowca przesłał w spoilerzze np?

ja bym na to nie liczył^^

11
Skrypty / respawn co tydzien
« dnia: 2012-06-07, 19:47 »
Niewiem co kiedyś mi może odwalić ale na razie się nie zapowiada bym robił tutki xD, troszkę musiałem poprawić kod a w miejscu gdzie u cb jest '<>' to który ze znaków xd i jeszcze w tym monologu wpisać w konkretnym miejscu czy odrazu po tym?
func void PC_Sleep (var int t)
{
a bez dawanie tego do sleep tzn że jak zaśniemy hoc raz w ciągu tygodnia to się nie zrespi i zacznie odliczać od nowa czy zignoruje spanie w co jednak trochę wątpie,

Czasem zapominam że to forum dla kreatywnych ^^  po za tym jak pytam to znaczy że niewiem gdzie zacząć i małe nakierowanie chyba wystarczy xd i ja niewiem co tu niejasne ja tam przeczytałem jeszcze raz i nic niezrozumiałego nie wycztałem może dlatego że wiem o co chciałem przekazać a czasem gubię przecinki co gubi innych xd bo poprostu dałem możliwości ja przemyślam każdą możliwą sytuację bo czasem jedno słowa ma kilka znaczeń a ja chce zasmakować pełnej kwestii żeby w późniejszym etapie się nie przejechać, dlatego lubię znać dokładny system jak będzie wykonywany . Yhm z doświadczenia wiem że to co tu napisałem też nie będzie za łatwe do zrozumienia xD

12
Skrypty / respawn co tydzien
« dnia: 2012-06-07, 11:44 »
witam chciałbym zrobić cotygodniowy respawn jeśli to możliwe bez użycia tick_tocka np samą funkcją Wld_GetDay by było najlepiej dodam też że po każdym odrodzneniu staty rosną jednak w ogóle danego potwora czyli jak zabije 2 wilki to siła obu po tygodniu po zrespieniu zwiększy się o 2% ale to akurat chyba dam radę zrobić;) tylko chodzi oto by resp następywał tydzień od zabicia potwora albo w wyznaczonym czasie np w "poniedziałki' czyli co 7 dni powiedzmy od zaczęcia gry albo po dialogu obojętne mi to ważne by co tydzień respiło

13
Skrypty / Krytyczny stan zdrowia
« dnia: 2012-05-31, 08:18 »
można też chyba w zs_dead dodać warunek, wtedy po zabiciu kogoś wyświetli się komunikat jeśli bd mieć 'tyle' pkt życia.

14
Skrypty / liczenie zabójstw
« dnia: 2012-05-27, 11:53 »
już naprawiłem wszystko, levelowanie stworzyłem w zs_dead parę zmiennych które przeniosłem na instance bestii i wszystko zapisuje;) na razie mi to wystarczy dzięki za pomoc:p

edit temat do zamknięcia.

15
Skrypty / liczenie zabójstw
« dnia: 2012-05-27, 11:10 »
pewnie to zadziała na g1 ale na g2nk się nie widzi tu orginalny skrypt to
   // ------ XP ------
if ( Npc_IsPlayer(other) || (other.aivar[AIV_PARTYMEMBER]==TRUE) )
&& (self.aivar[AIV_VictoryXPGiven] == FALSE)
{
B_GivePlayerXP (self.level * XP_PER_VICTORY);

self.aivar[AIV_VictoryXPGiven] = TRUE;
};
nie czyta npcismonster nawet
   if (NpcIsMonster(other) && other.aivar[AIV_MM_PARTYMEMBER])
        {
        other.aivar[AIV_MMPT_POINTS] +=1;
        other.exp += self.level * XP_PER_LEVEL_DEAD;
        };
wszystko działa oprucz aivaru nawet levelowanie zrobiłem i działa ;)chociaż nie zapisuje stat:/ błąd na aivarze pewnie dlatego ze w g2nk inne są puste.

if (other.guild == GIL_SUMMONED_WOLF && other.aivar[AIV_PARTYMEMBER])
        {
        other.aivar[AIV_MMPT_POINTS] +=1;
        other.exp += self.level * XP_PER_VICTORY;
        };
Cytuj
BTW, spróbowałbyś chociaż najpierw samemu ogarnąć podstawy i spróbować to skleić, a nie oczekujesz że dostaniesz coś gotowego :|

Prubuje ale bez punktu zaczepienia nie wiem co sklejać;)

Dobra 2 ostatnie pytania
-co zrobic/wpisać by zdobyty exp się zapisał, razem z resztą statystyk ? bo po każdym odesłaniu/zginięciu staty po ponownym wezwaniu mają początkową wartość;/
-a które w g2nk aivary są puste?

16
Skrypty / liczenie zabójstw
« dnia: 2012-05-26, 20:47 »
ymmm czyli co i gdzie wpisać?

17
Skrypty / liczenie zabójstw
« dnia: 2012-05-26, 19:37 »
if (self.id == SummonedScavenger.id)
{
   exp_Scavenger += 1;
};

jak wrzucam na koniec błąd wyskakuje(syntax error : if) i za nim seria, chyba że to w jakimś konkretnym miejscu umieścić?

Z dokumentem ok;)
           
yyyy coś mi odwaliło że to napis przy zdobywaniu lv XD

18
Skrypty / liczenie zabójstw
« dnia: 2012-05-26, 18:57 »
a więc co tu dokładnie w pliku wpisać by liczyło zabójstwa?
func void ZS_Dead ()
{
// ------ aivars resetten ------
self.aivar[AIV_RANSACKED] = FALSE;
self.aivar[AIV_PARTYMEMBER] = FALSE;

B_StopLookAt (self);
AI_StopPointAt (self);

// ------ XP ------
if ( Npc_IsPlayer(other) || (other.aivar[AIV_PARTYMEMBER]==TRUE) )
&& (self.aivar[AIV_VictoryXPGiven] == FALSE)
{
B_GivePlayerXP (self.level * XP_PER_VICTORY);

self.aivar[AIV_VictoryXPGiven] = TRUE;
};


// ------ Sumpfdrohne -------
if (self.aivar[AIV_MM_REAL_ID] == ID_SWAMPDRONE)
{
if (Npc_GetDistToNpc(self, other) < 300)
{
other.attribute[ATR_HITPOINTS] -= 50;
//Npc_ChangeAttribute(other, ATR_HITPOINTS, -50);
};

zrobiłem coś takiego ale nie działa, a co do aivarów to jaki mógły być i jak zadeklarowany jeszcze się w nie tak nie zagłębiałem ale też by się przydało do innych potworków
if      (Npc_IsDead  (self))
&&(other == SummonedScavenger)
{
exp_Scavenger += 1;
};

A co do tej zmiennej wyświetlaej w dokumencie to działa z jedną wadą że po każdym włączeniu dokumentu cyfra piszę się obok a nie ją zastępuje np otworzę 5 razy zrzędu a zabić jest zero to coś takiego piszę 00000 a po zabiciu jednego po 6 sprawdzeniu 000001
var string carryx;carryx = IntToString (carry);
var string carren ;
carren = ConcatStrings(carren, carryx);

Doc_PrintLines ( nDocID,  0, carren);
a co do zdobywania doświadczenia to też coś zrobiłem
w pliku b_giveplayerxp
func void B_GivePlayerXP_scavenger (var int add_xp)
{
if (level_scavenger == 0)
{
exp_next_scavenger = 500;
};
//----------------------------------------------------------------------------
exp_Scavenger = exp_Scavenger + add_xp;

//----------------------------------------------------------------------------
var string concatText;
concatText = PRINT_XPGained;
concatText = ConcatStrings (concatText, IntToString(add_xp));
PrintScreen (concatText, -1, YPOS_XPGained, FONT_ScreenSmall, 2);

//----------------------------------------------------------------------------
if ( exp_Scavenger >= exp_next_scavenger )
{
level_scavenger = level_scavenger+1;
exp_next_scavenger = exp_next_scavenger +((level_scavenger+1)*500);

ATR_HITPOINTS_MAX_scavenger = ATR_HITPOINTS_MAX_scavenger + HP_PER_LEVEL;
ATR_HITPOINTS_scavenger = ATR_HITPOINTS_scavenger + HP_PER_LEVEL;



PrintScreen (PRINT_LevelUp, -1, YPOS_LevelUp, FONT_Screen, 2);
Snd_Play ("Ścierwojad LevelUp");
};
B_Checklog ();
a to owej bestii;)
INSTANCE SummonedScavenger (Mst_Default_Scavenger)
{
name = "Przywołany Ścierwojad ";
guild = GIL_SUMMONED_WOLF;
aivar[AIV_MM_REAL_ID] = 10000;
level = level_scavenger;
Npctype = NPCTYPE_MAIN;
// ------ XP Setup ------
exp = exp_Scavenger ;

exp_next = exp_next_Scavenger ;
exp_next_Scavenger = 500;
//----- Attribute ----

attribute [ATR_STRENGTH] = 35;
attribute [ATR_DEXTERITY] = 35;
if (level_scavenger == 0)
{
ATR_HITPOINTS_MAX_scavenger =70;
}
else
{
attribute [ATR_HITPOINTS_MAX] = ATR_HITPOINTS_MAX_scavenger;
};
if (level_scavenger == 0)
{
ATR_HITPOINTS_scavenger =70;
}
else
{
attribute [ATR_HITPOINTS] = ATR_HITPOINTS_scavenger;
};
attribute [ATR_MANA_MAX] = 0;
attribute [ATR_MANA] = 0;

aivar[AIV_PARTYMEMBER] = true;
B_SetAttitude (self, ATT_FRIENDLY);

start_aistate = ZS_MM_Rtn_Summoned;

B_SetVisuals_Scavenger();

Npc_SetToFistMode(self);

 

};
może trochę przekombinowałem;) a może działa gdybym wywołał to by naliczało mu zabijanie, ten skrypt levelowania zacząłem właśnie podstosowywać pod ilość zabić czyli exp jako liczba zabójstw a nie doświadczenie z konkretnego potwora bo kompletnie niewiedziałem gdzie wstawić by jak heros otrzymywał expa, obie metody wolałbym znać, i co właśnie z levelowaniem. Oczywiście nie musi być to widoczne gdy w grze po wpisaniu marvina klikam
  • i patrze staty potwora wszystko ze zmiennych będzie specjalny dokument który będzie wyświetlał lv, exp i ogólne statystki;) i na ekranie by się pojawił napis że potwór zlevelował tak samo jak normalnie u herosa.

19
Skrypty / liczenie zabójstw
« dnia: 2012-05-26, 08:57 »
Witam potrzebuję fukcji dzięki której będzie liczyć zabójstwa przyzywanego potwora czyli w momencie jak zada śmietelny cios będzie dodawać 1 do zmiennej i gdzie ją umieścić(pewnie w np mst_scavenger gdzie jest owy potwór zadeklarowany ale pytam w razie czego) albo inaczej jak zrobić by temu potworowi normalnie naliczało doświadczenie jak herosowi, oczywiście te doświadczenie się nie resetowało po zabiciu go, no i jak zrobić by w jakimś dokumencie wyświetlało zmienne, dobra na razie tyle:)

20
Pytania i problemy / danie maks przedmiotów posiadanych
« dnia: 2010-02-14, 10:42 »
jaką czyność dodać podczas dialogu by np. other oddał wszystkie np. złoto, inne itemy. posiadane w ekwipunku

Strony: [1] 2
Do góry