Opět velice děkuju!
Strážce už hýbe pusou, mluví i zvukově (na to jsem přišel) a píše kam má :-)
Ještě by mě ale zajímalo, jak bych mohl udělat ten script univerzálně pro všechny entity a actory. Takhle jsem ve Strážcově scriptu vyměnil talkRobotEnt.něco za this.něco a tenhle speciální script funguje na Strážce (ukazuje jeho ikonku a vedle ní text). Takže když mi bude mluvit this.Talk(...); tak je to ok, ale když mluví Virtual.Talk(...); , tak je (pochopitelně) tam, kde je nastavený.
Nevím tedy, jak by se to dalo udělat univerzálně - pokud mluví this , mluví třeba jedním druhem hýbání sprite, písma, ikonky a hlasu a pokud by mluvil Virtual, mluvil by jiným druhem písma, měl by jinou ikonku (a jiný hlas).
Ta funkce mi teď vypadá takto:
method Talk(srcString, Soundfilename, srcActor, xPosition, Duration, TalkStances, TextAlignment)
{
var twin;
if (srcActor == null) twin = "icon"; // basic window with ghost
else
twin = srcActor; // NPC window
var tmpState = Game.Interactive;
Game.Interactive = false; // we save the interactivity state for later and turn it off
var dlgWin = Game.LoadWindow("interface\system\dijalog.window"); // load the dialogue window
var tString = Game.ExpandString(srcString); // prepare the localized string to handle formatting
var tLength = tString.Length;
var lines = ToInt(tLength / 300) + 1; // find out how many lines will we need
dlgWin.SetImage("sprites/"+twin+".png"); // set the image
dlgWin.Y = 525;
// set the caption parameters
this.SubtitlePosRelative = false;
this.SubtitlesPosXCenter = false;
this.SubtitlesWidth = 680;
this.SubtitlesPosX = 90;
if (xPosition != null) this.SubtitlesPosX = xPosition;
this.SubtitlesPosY = 630 + 15* lines; // position the caption in the window based on number of lines
this.SetFont("fonts\verdana.font"); // set the speech font
this.SoundPanning = false; // make the sound centered
this.Talk(srcString, Soundfilename, null, "", "", 0); // say the line
Game.UnloadObject(dlgWin); // dispose of the window
Game.Interactive = tmpState;
}
Jinak s Vaším WME pracuju 4 dny a je to profesionální a přehledné. Akorát musím proniknout do scriptování víc. Mnohé jsem si našel, ale tyhle věci zatím ne.
Díky!