Yes, you nailed. It was an script controlling it. Thank you.
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Show posts Menu//ROOM SCRIPT
AudioChannel *carBurning;
function room_AfterFadeIn(){
carBurning = aExplosionroom_burningcar.Play();
carBurning.SetRoomLocation(oCarFire.X, oCarFire.Y); //This is the row that the error points
}
Quote from: Crimson Wizard on Tue 14/12/2021 00:19:26With the ID is working.
This is strange. I might test this out myself, but in the meanwhile, would that work if you check ID instead?
i.e.Code: ags if (this.ID == Sara.ID) { anim_view = 242; }
Sara: Bla bla bla bla.
option-on 1
function MySay(this Character*, const string text) {
// Starting up
int anim_view;
if (this == Sara) { anim_view = 242; }
else if (this == Kovacs) { anim_view = 526; }
else if (this == Mel) { if(Mel.View == 548) {anim_view = 467; }}
Display("%d",anim_view);
// Running speech
this.LockView(anim_view); // lock to speaking animation
this.Animate(this.Loop, 3, eRepeat, eNoBlock, eForwards);
this.Say(text);
// Ending
this.UnlockView(); // unlock back to current view
}
Quote from: Crimson Wizard on Mon 13/12/2021 02:16:02It is running with changeview so far, but I will use lock if it is more correct. I meant "mugshots".
First of all, this code looks wrong, because for proper behavior you need to call LockView, not ChangeView, before Animate (and then UnlockView). But I'm not certain what other actions are playing at the same time (are you also playing some portraits simultaneously? if this is what you've meant by "mushots"...)
Quote from: Crimson Wizard on Mon 13/12/2021 02:16:02Thanks for the suggestion. I didn't know it was possible to set a custom dialog script.
In any case, my suggestion is to not start animation in the repeatedly_execute, but instead write a custom Say function that runs everything, and use that for speech.
If this is only for particular character / certain moments, then may use this function explicitly in dialogs. But if it's for all the characters in game, set up "Custom Say function in dialog scripts" in General Settings -> Dialog section: then this function will be used instead of Say to replace common dialog lines.
The example of how the function may look like:Code: ags function MySay(this Character*, const string text) { // Starting up int anim_view; if (this == Sara) { anim_view = 242; } else if (this == SomeoneElse) { anim_view = xxx; } // etc // Running speech this.LockView(anim_view); // lock to speaking animation this.Animate(this.Loop, 3, eRepeat, eNoBlock, eForwards); this.Say(text); // Ending this.UnlockView(); // unlock back to current view }
Then it may be used likeCode: ags player.MySay("text"); Sara.MySay("bla bla bla");
if (Sara.Speaking && !Sara.Animating) {
Sara.ChangeView(242); //Change to speaking animation
Sara.Animate(Sara.Loop, 3, eRepeat, eNoBlock, eForwards);
} else if(!Sara.Speaking && Sara.View == 242) {
Sara.ChangeView(244); //Change back to walk animation
}
Quote from: nightmarer on Mon 29/11/2021 14:32:20BTW I sent you the videos through Discord
Not sure from which build started, but I will provide you a video.
By continuing to use this site you agree to the use of cookies. Please visit this page to see exactly how we use these.
Page created in 0.073 seconds with 14 queries.