|
View unanswered posts | View active topics
Author |
Message |
-RoF-
|
Post subject: Re: Užitečné scripty Posted: 16:07 23. Sep 2011 |
|
Joined: 20:20 24. Jul 2009 Posts: 5342
|
Tak zkoušel jsem a testoval a nevím Dle toho co si psal Quote: 1. Zamčená páka ku_lever_lock.nss Já nevím kam ten script dát, jestli do onused nebo kam. Quote: 2. Otevírání dveří pomocí více pák ku_door_lever.nss zkoušel jsem, dal jsem to k páce do onused Nastavil jsem proměné na páku DOORS_TAG string "dverex" LEVER_COUNT int "2" TIMEOUT float "5" A prostě nic napsalo mi to "není určen tag dveří DOORS_TAG" Quote: Na zmizení NPC je návod Díval jsem se na to, ale taky jsem nepochopil kam ten script na NPC umístnit no. Holt to chce víc návod pro ty co scriptům moc nerozumí, krok po kroku
_________________ Aria Oria - pohledná divoká dívka, která ráda své skvostné tělo vystavuje jen ve skromném oblečení. Její postava nese znaky dračí krve, od rudých křídel, přes oranžové dračí oči, až po tělo hřející tak, jako by měla horečku. Měšťanka Karathy a členka Morusova stánku.
*otisk rudých rtů nad tím malý dráček držící mrkev a to vše ve zlatém poli*
|
|
Top |
|
kucik
|
Post subject: Re: Užitečné scripty Posted: 16:16 23. Sep 2011 |
|
Joined: 10:42 10. May 2007 Posts: 16269 Location: Somewhere around nothing
|
Opraveno 24. 09. 2011ku_door_lever.nss: Code: void LeverReturn(object oDoors, object oLever) {
AssignCommand(oLever,PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); int iPushed = GetLocalInt(oDoors,"KU_LEVER_PUSHED") - 1; if(iPushed < 0) iPushed = 0; SetLocalInt(oDoors,"KU_LEVER_PUSHED",iPushed);
}
void main() { int iType = 0; //Doors string sTag = ""; int i; //ovladacmu prvku nastavit tyto promenne: //DOORS_COUNT, int, pocet dveri //PLC_DOORS, int, 1 pokud jsou dvere placeable //DOORS_TAG, string, tag dvari int iCount = GetLocalInt(OBJECT_SELF,"DOORS_COUNT"); float LeverTimeout = GetLocalFloat(OBJECT_SELF,"TIMEOUT"); object oLever = OBJECT_SELF;
if(GetLocalInt(OBJECT_SELF,"PLC_DOORS")) { iType = 1; } sTag = GetLocalString(OBJECT_SELF,"DOORS_TAG");
if(iCount < 1) { iCount = 1; }
PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE);
if(GetStringLength(sTag) > 0) { for(i=1;i<=iCount;i++) { object oDoors = GetNearestObjectByTag(sTag,OBJECT_SELF,i); //SpeakString("mam dvere:"+GetName(oDoors)); int iNeeded = GetLocalInt(oDoors,"LEVER_COUNT"); int iPushed = GetLocalInt(oDoors,"KU_LEVER_PUSHED") + 1; SetLocalInt(oDoors,"KU_LEVER_PUSHED",iPushed); if(iPushed == iNeeded) { AssignCommand(oDoors,ActionOpenDoor(oDoors)); } DelayCommand(LeverTimeout,LeverReturn(oDoors,oLever)); } return; }
SpeakString("Neni urceny tag dveri: 'DOORS_TAG'"); }
_________________ Neaktivní a nezasahující do vývoje. Pouze nouzový support pro WB/DM. *********************************************** Les jambes en l'air, comme une femme lubrique, Brûlante et suant les poisons, Ouvrait d'une façon nonchalante et cynique Son ventre plein d'exhalaisons.
|
|
Top |
|
kucik
|
Post subject: Re: Užitečné scripty Posted: 16:17 23. Sep 2011 |
|
Joined: 10:42 10. May 2007 Posts: 16269 Location: Somewhere around nothing
|
-RoF- wrote: Tak zkoušel jsem a testoval a nevím Dle toho co si psal Quote: 1. Zamčená páka ku_lever_lock.nss Já nevím kam ten script dát, jestli do onused nebo kam. Jo, do onused.
_________________ Neaktivní a nezasahující do vývoje. Pouze nouzový support pro WB/DM. *********************************************** Les jambes en l'air, comme une femme lubrique, Brûlante et suant les poisons, Ouvrait d'une façon nonchalante et cynique Son ventre plein d'exhalaisons.
|
|
Top |
|
-RoF-
|
Post subject: Re: Užitečné scripty Posted: 18:05 23. Sep 2011 |
|
Joined: 20:20 24. Jul 2009 Posts: 5342
|
Ty scripty mě zničí Takže..... 1. Zamčená páka Vytvořil jsem script tak jak má být Dal jsem dveře a tag "dvere" (na dveře jsem dal script ja_door_onopen a proměné jak mají být DOORCLOSE int 1 a DOORCLOSE_DELAY int 1) Udělal jsem páku a dal na ni script ku_lever_lock Na páku jsem nastavil proměné DOORS_TAG string dvere UNLOCKED string ku_opendoor Páku jsem zamkl a dal na zem klíč, kterým se páka odemkla. testoval jsem - nefunguje ------------------------------ 2 páky na 1 dveře Dal jsem dveře a tag byl dverex (na dveře jsem dal script ja_door_onopen a proměné jak mají být DOORCLOSE int 1 a DOORCLOSE_DELAY int 5) Dal jsem dvě páky vedle sebe script obě mají ku_door_lever Proměné jsem jim dal DOORS_COUNT int 1 (otevírá tedy 1 dveře) DOORS_TAG string dvere x LEVER_COUNT int 2 (jsou třeba 2 páky) TIMEOUT float 5 (musí se za obě páky zatáhnout v rozmezí 5 sekund) testoval jsem - nefunguje ---------------------------------------------- Dál jsem zkoušel i script ku_opendoor Funguje v pohodě, dám dveře na ně script a proměné a páku a na ni script a proměné. Pohoda. Problém je, kdžy tu páku dám dál od dveří. Pak script selže a nefunguje. Jako by ty dveře nenašel. Viz obrázek
Attachments: |
paky.jpg [ 96.22 KiB | Viewed 8709 times ]
|
_________________ Aria Oria - pohledná divoká dívka, která ráda své skvostné tělo vystavuje jen ve skromném oblečení. Její postava nese znaky dračí krve, od rudých křídel, přes oranžové dračí oči, až po tělo hřející tak, jako by měla horečku. Měšťanka Karathy a členka Morusova stánku.
*otisk rudých rtů nad tím malý dráček držící mrkev a to vše ve zlatém poli*
|
|
Top |
|
kucik
|
Post subject: Re: Užitečné scripty Posted: 19:39 23. Sep 2011 |
|
Joined: 10:42 10. May 2007 Posts: 16269 Location: Somewhere around nothing
|
Tak mi to posli. Ja zkusim zjistit, co tam nefunguje.
_________________ Neaktivní a nezasahující do vývoje. Pouze nouzový support pro WB/DM. *********************************************** Les jambes en l'air, comme une femme lubrique, Brûlante et suant les poisons, Ouvrait d'une façon nonchalante et cynique Son ventre plein d'exhalaisons.
|
|
Top |
|
Aulus
|
Post subject: Re: Užitečné scripty Posted: 09:50 04. Sep 2013 |
|
Joined: 17:31 22. Jan 2012 Posts: 5998 Location: Nový Jičín / Brno
|
Potřeboval bych poradit s použitím skriptu. Co mám použít za příkaz, když chci, aby NPC nějak reagovalo na konkrétní projev PC mimo rozhovor? Myslím tím to, že PC řekne nějaké konkrétní slovo, NPC odpoví a PC dostane za to odměnu. Zkoušel jsem GetLocalString a TestStringAgainstPattern, ale buď na to jdu úplně špatně nebo na něco zapomínám. Díky za pomoc.
_________________ "Všechny hranice jsou konvence, které čekají, až je někdo přesáhne. Někdo může přesáhnout konvenci, pokud mu k tomu někdo jiný vydá podnět." David Mitchell, Atlas mraků "But what do we have left once we abandon the lie? Chaos. A gaping pit waiting to swallow us all.”
|
|
Top |
|
Shaman88
|
Post subject: Re: Užitečné scripty Posted: 12:03 04. Sep 2013 |
|
Joined: 09:41 01. Sep 2010 Posts: 9754
|
Aulus wrote: Potřeboval bych poradit s použitím skriptu. Co mám použít za příkaz, když chci, aby NPC nějak reagovalo na konkrétní projev PC mimo rozhovor? Myslím tím to, že PC řekne nějaké konkrétní slovo, NPC odpoví a PC dostane za to odměnu. Zkoušel jsem GetLocalString a TestStringAgainstPattern, ale buď na to jdu úplně špatně nebo na něco zapomínám. Díky za pomoc. Záleží jestli znáš předem to co chceš aby hráč řekl nebo ne. Dej přímo příklad kde a v čem to používáš.
|
|
Top |
|
Aulus
|
Post subject: Re: Užitečné scripty Posted: 12:19 04. Sep 2013 |
|
Joined: 17:31 22. Jan 2012 Posts: 5998 Location: Nový Jičín / Brno
|
Shaman88 wrote: Záleží jestli znáš předem to co chceš aby hráč řekl nebo ne. Dej přímo příklad kde a v čem to používáš. Jo, předem znáš, co má PC říct. Jedná se odpověď na hádanku, ale nechci ji do rozhovoru, protože to nemá být výběr z možností. V podstatě chci, ať se po vyřčení správné odpovědi (nemusí to být a poprvé, pokusů může být nepočítaně) otevře nová větev rozhovoru, po oslovení NPC, kde je naskriptována i odměna. Všechno zvládnu udělat, jen potřebuju vědět, jak zanést do skriptu, že si hra všimne té správné odpovědi v logu.
_________________ "Všechny hranice jsou konvence, které čekají, až je někdo přesáhne. Někdo může přesáhnout konvenci, pokud mu k tomu někdo jiný vydá podnět." David Mitchell, Atlas mraků "But what do we have left once we abandon the lie? Chaos. A gaping pit waiting to swallow us all.”
|
|
Top |
|
Puxina
|
Post subject: Re: Užitečné scripty Posted: 12:34 04. Sep 2013 |
|
Joined: 14:39 27. Aug 2013 Posts: 2521
|
Něco podobné je v dungu v bažinách v tom chrámu s ještěrkama, kde je matematický příklad a když s postavou normálně napíšeš to číslo a dáš enter, tak je tam nějaký script, který spustí portál.
Možná by to šlo použít.
_________________ Abigaill Moon - střelená, praštěná...no dobře prostě vtipkující drobná elfina - princezna Abi
Mireia Chica de Guerra Vasquez - vysoká bojovnice z ciziny s falchionem většinou držící flašku alkoholu - Mireia
Lucka Jehlička - malá hobití druidka s medvědem v kapse - Lucka
|
|
Top |
|
Shaman88
|
Post subject: Re: Užitečné scripty Posted: 15:02 04. Sep 2013 |
|
Joined: 09:41 01. Sep 2010 Posts: 9754
|
Aulus wrote: Shaman88 wrote: Záleží jestli znáš předem to co chceš aby hráč řekl nebo ne. Dej přímo příklad kde a v čem to používáš. Jo, předem znáš, co má PC říct. Jedná se odpověď na hádanku, ale nechci ji do rozhovoru, protože to nemá být výběr z možností. V podstatě chci, ať se po vyřčení správné odpovědi (nemusí to být a poprvé, pokusů může být nepočítaně) otevře nová větev rozhovoru, po oslovení NPC, kde je naskriptována i odměna. Všechno zvládnu udělat, jen potřebuju vědět, jak zanést do skriptu, že si hra všimne té správné odpovědi v logu. Řekněme že správná odpověď je kolo. Nejpve musíš někdy před danou událostí, třeba když NPC tu hádanku zadává nastavit naslouchání daného vzoru a pak zapnout u té NPC naslouchání konverzace. Doporucuju to udelat ve skriptu kde NPC rika danou hadanku, nejprve nastavis co ma prijimat: Nejprve dáš aby poslochalo vůbec: SetListening(OBJECT_SELF,TRUE); A pak ten vzor: SetListenPattern(OBJECT_SELF,"**kolo**",4000); - tohle udělá že to příjme kolo v jakékoli větě SetListenPattern(OBJECT_SELF,"kolo",4000); tohle přímo kolo Pozor je to citlive na velke nebo male pismena takze kdybys chtěl třeba at ti to příjme odpověď ve stylu "Správná odpověď je kolo." nebo "Kolo by to mohlo být." tak musíš už trošku chytřeji tam dát i možnosti s velkými písmeny: SetListenPattern(OBJECT_SELF,"**kolo** || **Kolo**",4000); Jen pro vysvětlení - to dodá tomu tvému naslouchácímu vzoru identifikátor 4000. A pak musíš v OnConversation události(ktera se spustí kdyz na nej nekdo promluvi) na daném NPC dodat: int nMatch = GetListenPatternNumber(); tzn. pokud na na něj někdo promluvi, vytahnes si cislo if(nMatch == 4000) a to pak srovnas se svymi vzory a mas reseni { SpeakString("Sprvávná odpověď); SetListening(OBJECT_SELF,FALSE); !!! A hlavně nesmíš zapomenout vypnout naslouchání!!!! }
|
|
Top |
|
Aulus
|
Post subject: Re: Užitečné scripty Posted: 15:09 04. Sep 2013 |
|
Joined: 17:31 22. Jan 2012 Posts: 5998 Location: Nový Jičín / Brno
|
Díky moc.
_________________ "Všechny hranice jsou konvence, které čekají, až je někdo přesáhne. Někdo může přesáhnout konvenci, pokud mu k tomu někdo jiný vydá podnět." David Mitchell, Atlas mraků "But what do we have left once we abandon the lie? Chaos. A gaping pit waiting to swallow us all.”
|
|
Top |
|
Shaman88
|
Post subject: Re: Užitečné scripty Posted: 15:13 04. Sep 2013 |
|
Joined: 09:41 01. Sep 2010 Posts: 9754
|
Aulus wrote: Díky moc. Hlavně ale pokud budeš upravovat skripty NPC. Tak ten skript vzdy prejmenuj nez ho upravíš protože ten stejny skript pouzivaji všechny NPC.
|
|
Top |
|
Aulus
|
Post subject: Re: Užitečné scripty Posted: 15:21 04. Sep 2013 |
|
Joined: 17:31 22. Jan 2012 Posts: 5998 Location: Nový Jičín / Brno
|
Shaman88 wrote: Aulus wrote: Díky moc. Hlavně ale pokud budeš upravovat skripty NPC. Tak ten skript vzdy prejmenuj nez ho upravíš protože ten stejny skript pouzivaji všechny NPC. Jasně, na to už jsem přišel. ¨) BTW - Proč je to vypnutí naslouchání tak důležité? Aby se to neaktivovalo znovu?
_________________ "Všechny hranice jsou konvence, které čekají, až je někdo přesáhne. Někdo může přesáhnout konvenci, pokud mu k tomu někdo jiný vydá podnět." David Mitchell, Atlas mraků "But what do we have left once we abandon the lie? Chaos. A gaping pit waiting to swallow us all.”
|
|
Top |
|
innfra
|
Post subject: Re: Užitečné scripty Posted: 15:28 04. Sep 2013 |
|
Joined: 16:59 15. Mar 2009 Posts: 1551
|
Zbytečná zátěž pro server.
_________________ Tariel Reynolt - "Kde mám dárečka?" Tomas Tane - "Tady si jeden neodpočine." Finnean Násir Taran - "Za kodex a za sestru!" Alexandr Rázný - "Už mě to tu nebaví! Puste mě ven!" Tomáš Alrik Tane - "Já vim, moc mluvim." Tagar Kovadlina - "Háááá Hřbitůváčka!" - Smazán
Elitní Kazišuk!
|
|
Top |
|
Shaman88
|
Post subject: Re: Užitečné scripty Posted: 15:36 04. Sep 2013 |
|
Joined: 09:41 01. Sep 2010 Posts: 9754
|
Jo přesně je to strašná zátěž pro server. To pak to NPC parsuje každou větu co slyší a hledá v něm ty patterny... Když je kolem něj nějaký quest tak to znamená hodně velký problém.
|
|
Top |
|
Who is online |
Users browsing this forum: No registered users and 135 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
| |