Hi zusammen
Ich möchte, dass mein Charakter wenn ich zum Beispiel "Schau an irgendwas" mache, non-blocking zum WalkToPoint geht und wenn er da ist was sagt.
Ich hab mir schon das NoBlock-Module gezogen, aber ich versteh noch nicht ganz was da in welchen code-abschnitt soll. Wo soll zum Beispiel dieses NoBlock.Do(usw) hin?
hat da jemand schon erfahrungen mit?
Gehe non-blocking zum Hotspot und mach dann was
-
- Frischling
- Beiträge: 6
- Registriert: 24.07.2007, 23:20
- Mister L
- Rätselmeister
- Beiträge: 1913
- Registriert: 21.03.2005, 01:55
- Kontaktdaten:
Ähm, reicht da nicht ein einfaches "MovePlayer" ?
Bzw.
"character[EGO].Walk(155, 122);"
NoBlock ist dann ja autoatisch mit drin.
Bzw.
"character[EGO].Walk(155, 122);"
NoBlock ist dann ja autoatisch mit drin.
My MMM-Episodes: #7 "Right said Fred", #32 "Secret of Maniac Mansion", # 33 "Carry on Smiley", H05 "Escape from Maniac Mansion", #45 "Maniac Monday", #54 "CSI:RONVILLE", #58 "The People's Court", #70 "Maniac Mansion Begins", #74 "The Curse of King RootenTooten", #93 "Murder a.t. Moonshine Mansion"
-
- Frischling
- Beiträge: 6
- Registriert: 24.07.2007, 23:20
Nein, ich will ja dass der charakter erst dann, wenn er den Hotspot erreicht hat was sagt oder macht. Mit "eBlock" geht das ja auch der Reihenfolge nach, aber ich kann die Aktion nicht abbrechen, sondern bekomme den Wait-Cursor bis der Charakter am Hotspot ist. Wenn ich aber zum Beispiel sage:
player.walk(100, 100, eNoBlock);
player.display("Hallo");
dann wartet er mit der Ausgabe von "Hallo" nicht bis der Charakter an dem Punkt ist.
Im Prinzip brauche ich also ein "abbrechbares eBlock"
player.walk(100, 100, eNoBlock);
player.display("Hallo");
dann wartet er mit der Ausgabe von "Hallo" nicht bis der Charakter an dem Punkt ist.
Im Prinzip brauche ich also ein "abbrechbares eBlock"
-
- Frischling
- Beiträge: 6
- Registriert: 24.07.2007, 23:20
Ahh habs schon... Ich hab das NoBlock.Do(blabla) in die global_script section an die Stelle an der auch das ProcessClick(blabla) ausgeführt wird und mit ner if-Abfrage den Aktionen zugeordnet. Danach noch ne while-Schleife um zum Standard-Curser zurückzuwechseln.
jetzt geht's
Code: Alles auswählen
if(GetCursorMode()==0){
ProcessClick(mouse.x, mouse.y, mouse.Mode );
}
else{
NoBlock.Do(GetCursorMode(), eLocationHotspot, NoBlock.GetHotXY(mouse.x, mouse.y));
}
while(GetCursorMode()!=0) SetNextCursorMode();