Please login or register.

Login with username, password and session length
Advanced search  

News:

IRC channel - server: waelisch.de  channel: #wme (read more)

Author Topic: Vzájemná kombinace předmětů v inventáři  (Read 3942 times)

0 Members and 1 Guest are viewing this topic.

ahedov

  • Lurker
  • *
  • Karma: 2
  • Offline Offline
  • Posts: 29
    • View Profile
Vzájemná kombinace předmětů v inventáři
« on: January 16, 2012, 06:18:46 PM »

Ahojte, píšu proto, že jsem si myslel, že zas tak neinteligentní nejsem, ale tohle prostě nechápu.

V inventáři mám dvě věci - papír a tužku. Tyhle předměty můžu zkombinovat dohromady a samozřejmě tak, že je jedno jestli kliknu tužkou na papír nebo papírem na tužku, takže jsem přidal k tužce tenhle skript:

Code: WME Script
  1. on "papir"
  2. {
  3.         Game.SelectedItem = null;
  4.         Game.DropItem("papir");
  5.         Game.DeleteItem("tuzka");
  6.         Game.TakeItem("paptuz");
  7.         itTaken("paptuz");
  8. }

DropItem jsem dal k papíru, protože ten na scéně fyzicky neexistuje a proto se smaže jen z inventáře, tužka nemůže mít DropItem, protože by se objevila na scéně, tak jsem jí vymazal. Až potud všechno funguje skvěle. Když si to přehraju tak to jede. Problém nastane, když to samé napíšu do skriptu pro papir:

Code: WME Script
  1. on "tuzka"
  2. {       
  3.         Game.SelectedItem = null;
  4.         Game.DeleteItem("tuzka");
  5.         Game.DropItem("papir");
  6.         Game.TakeItem("paptuz");
  7.         itTaken("paptuz");
  8. }

V ten okamžik, když použiju papír na tužku (tedy obráceně), tak sice oba předměty zmizí, ale po příkazu TakeItem se v inventáři neobjeví předmět paptuz a dokonce se nevykoná ani funkce itTaken("paptuz"), což je funkce, kterou zobrazuju pomocné okénko se sebraným předmětem.

Co dělám špatně? Díky za jakoukoli odpověď.
Logged

Mnemonic

  • WME developer
  • Administrator
  • Addicted to WME forum
  • *
  • Karma: 41
  • Offline Offline
  • Gender: Male
  • Posts: 5683
    • View Profile
    • Dead:Code Site
Re: Vzájemná kombinace předmětů v inventáři
« Reply #1 on: January 16, 2012, 06:27:29 PM »

Záludnost je v tom DeleteItem. Ten příkaz totiž okamžitě zabije předmět v inventáři, včetně jeho skriptu. Takže mám-li např. předmět "book", k němu připojen skript, který zavolá DeleteItem("book"), tak žádný další příkaz po tomhle už se neprovede, protože skript prostě v tu chvíli přestane existovat.
Logged
Yes, I do have a twitter account
Please don't send me technical questions in private messages, use the forum. ::wave

ahedov

  • Lurker
  • *
  • Karma: 2
  • Offline Offline
  • Posts: 29
    • View Profile
Re: Vzájemná kombinace předmětů v inventáři
« Reply #2 on: January 16, 2012, 06:44:47 PM »

Díky Mnemonicu za briskní odpověď, problém jsem pochopil, přeházel akce a už to šlape, i když rychlost vykonávání příkazů způsobuje, že jsou v inventáři v jednu chvíli všechny věci najednou a teprve pak zmizí, ale to už je asi jen maličkost.
Logged
 

Page created in 0.06 seconds with 20 queries.