Thalie


Persistentní svět hry Neverwinter Nights
It is currently 17:54 28. Mar 2024

All times are UTC + 1 hour [ DST ]





Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 41 posts ]  Go to page Previous  1, 2, 3  Next
Author Message
 Post subject: Re: Užitečné scripty
PostPosted: 16:07 23. Sep 2011 
Offline
Ďábel
User avatar
 Profile

Joined: 20:20 24. Jul 2009
Posts: 5342
Tak zkoušel jsem a testoval a nevím :roll: :oops: 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
Reply with quote  

 Post subject: Re: Užitečné scripty
PostPosted: 16:16 23. Sep 2011 
Offline
Temnota
User avatar
 WWW  ICQ  Profile

Joined: 10:42 10. May 2007
Posts: 16269
Location: Somewhere around nothing
Opraveno 24. 09. 2011

ku_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
Reply with quote  

 Post subject: Re: Užitečné scripty
PostPosted: 16:17 23. Sep 2011 
Offline
Temnota
User avatar
 WWW  ICQ  Profile

Joined: 10:42 10. May 2007
Posts: 16269
Location: Somewhere around nothing
-RoF- wrote:
Tak zkoušel jsem a testoval a nevím :roll: :oops: 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
Reply with quote  

 Post subject: Re: Užitečné scripty
PostPosted: 18:05 23. Sep 2011 
Offline
Ďábel
User avatar
 Profile

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
paky.jpg [ 96.22 KiB | Viewed 8455 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
Reply with quote  

 Post subject: Re: Užitečné scripty
PostPosted: 19:39 23. Sep 2011 
Offline
Temnota
User avatar
 WWW  ICQ  Profile

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
Reply with quote  

 Post subject: Re: Užitečné scripty
PostPosted: 09:50 04. Sep 2013 
Offline
Čestný člen týmu Thalie
User avatar
 Profile

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
Reply with quote  

 Post subject: Re: Užitečné scripty
PostPosted: 12:03 04. Sep 2013 
Offline
WB Thalie
User avatar
 ICQ  Profile

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
Reply with quote  

 Post subject: Re: Užitečné scripty
PostPosted: 12:19 04. Sep 2013 
Offline
Čestný člen týmu Thalie
User avatar
 Profile

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
Reply with quote  

 Post subject: Re: Užitečné scripty
PostPosted: 12:34 04. Sep 2013 
Offline
Bůh
User avatar
 Profile

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
Reply with quote  

 Post subject: Re: Užitečné scripty
PostPosted: 15:02 04. Sep 2013 
Offline
WB Thalie
User avatar
 ICQ  Profile

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
Reply with quote  

 Post subject: Re: Užitečné scripty
PostPosted: 15:09 04. Sep 2013 
Offline
Čestný člen týmu Thalie
User avatar
 Profile

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
Reply with quote  

 Post subject: Re: Užitečné scripty
PostPosted: 15:13 04. Sep 2013 
Offline
WB Thalie
User avatar
 ICQ  Profile

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
Reply with quote  

 Post subject: Re: Užitečné scripty
PostPosted: 15:21 04. Sep 2013 
Offline
Čestný člen týmu Thalie
User avatar
 Profile

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
Reply with quote  

 Post subject: Re: Užitečné scripty
PostPosted: 15:28 04. Sep 2013 
Offline
Urozený
User avatar
 Profile

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
Reply with quote  

 Post subject: Re: Užitečné scripty
PostPosted: 15:36 04. Sep 2013 
Offline
WB Thalie
User avatar
 ICQ  Profile

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
Reply with quote  

Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 41 posts ]  Go to page Previous  1, 2, 3  Next

All times are UTC + 1 hour [ DST ]



Who is online

Users browsing this forum: Google [Bot] and 19 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

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group  
Design By Poker Bandits