Menu

Show posts

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

Messages - eri0o

#2421
Steam offers really good tools for developers and it's really supportive of open source. If you don't want to use the client, use this tool -> https://github.com/berenm/steam-cli
#2422
I can't understand what you just said, but you will probably need to write your own specialized Speech function if you need to personalize for all your particular Edge cases. Can't you just removing animation from being on Say and create a MySay with an optional parameter that triggers the specific animation, and then have different views/loops depending on YOUR knowledge of the sentence ahead?
#2423
My mind is totally blown by that answer.
#2425
I thought I had commented here but apparently I didn't (was it on Discord?). Loslem, I liked your game and really wanting to play more. I don't remember if it had gamepad support, but in case it doesn't, Dualnames made a very good new gamepad plugin that appears to work great across platforms.

I really liked when the character falls on the knees, and the story bits. I wonder if you can use distortions to add water at some points in the background to give more animations on the bg to make the scenes more interesting, and still keep the 1 bit look.
#2426
About apostrophes check if this link solves for you. If it doesn't, your font may be indeed missing the character. :/
#2427
The mouse is just 1 pixel position, what do you mean by 1/4 in? What is oEPS? Is it an object? Object have x and y as integers. Probably missing IntToFloat (oEPS.x) ?
#2428
There's no better ending, he just goes to a different place, and some things are set into motion during this time.

Logan will return on Future Flashback.  :-D
#2429
I noticed I never answered this.  8-0 I need help just adding the missing modules to the list on the website, be through Pull Request or writing requests for missing/non updated modules on the issue tracker.
#2430
Yes, overall, I use for ignoring script ordering, and I think emiting and consuming events are good for things that don't happen often, instead of having to check conditions on repeatedly execute. They feel more organized too, for some cases.
#2431
That's a good point CW. This is the code I ended up using.

CustomEvent.ash
Code: ags
// Custom Event Module Header
// Add enums as needed for your events
enum CustomEventType {
  eCET_DialogStarted,
  eCET_DialogEnded,
}; 

import void emitCustomEvent(CustomEventType customEvent); 
import bool listenCustomEvent(EventType event, int data, CustomEventType customEvent);


CustomEvent.asc
Code: ags
// Custom Event Module Script

void emitCustomEvent(CustomEventType customEvent){ 
  GiveScore(100+customEvent); 
} 

bool listenCustomEvent(EventType event, int data, CustomEventType customEvent){
   if(event==eEventGotScore && data>=100){ 
     if(data-100 == customEvent){
       return true; 
     } 
   } 
   
  return false; 
}
#2432
Use an object for your door and change the graphics. The door graphic change will persist.
#2433
Hey, how do I exit the game using the Joystick?
#2434
Hey, I think the code below may work, as simple complication of the CW idea! Add it at top of your scripts to be able to use events to ignore script order dependency to call and listen events.

CustomEvent.asc
Code: ags

Dictionary* events;
Dictionary* id_to_event_map;
int eventIDs;

void emitCustomEvent(String CustomEvent){
  if(events==null){
    events = Dictionary.Create(); 
    id_to_event_map = Dictionary.Create(); 
  }
  
  if(!events.Contains(CustomEvent)){  
    events.Set(CustomEvent, String.Format("%d",eventIDs));
    id_to_event_map.Set(String.Format("%d",eventIDs), CustomEvent);
    eventIDs++;
  }
  
  String event_id_asString = events.Get(CustomEvent);
  
  GiveScore(100+event_id_asString.AsInt);
}

bool listenCustomEvent(EventType event, int data, String CustomEvent){
  if(event==eEventGotScore && data>= 100){
    int event_id = data - 100;
    
    if(id_to_event_map.Get(String.Format("%d",event_id)) == CustomEvent){
      return true;
    }
  }
  return false;
}


CustomEvent.ash
Code: ags

import void emitCustomEvent(String CustomEvent);
import bool listenCustomEvent(EventType event, int data, String CustomEvent);


To emit custom events

Code: ags

emitCustomEvent("MyCustomEvent");



To listen to custom events

Code: ags

void on_event(EventType event, int data){
  if(  listenCustomEvent( event, data, "MyCustomEvent") ){
    // do something
  }
}
#2435
AGS Games in Production / Re: Future Flashback
Sat 13/07/2019 18:10:44
During April we updated the blog theme and did some fixes on the website.

We posted about here: A Small update of themes. Below I am adding links to two music videos for people who didn't saw those before.





I am currently writing a new post with some more updates.  8-)
#2436
Hello,

Since today I am getting two weird bugs that I either didn't have before or never noticed on the AGS 3.4.3.1 Editor. Note that I use AGS Editor on Ubuntu 18.04 (previously 16.04) through Wine, for years, but this has never been a problem.

Sometimes, when I try to rename a script and then cancel the action, I get the following error on the Editor.

Error: External component has thrown an exception.
Version: AGS 3.4.3.1

Code: ags
System.Runtime.InteropServices.SEHException: External component has thrown an exception.
   at System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at System.Windows.Forms.NativeWindow.DefWndProc(Message& m)
   at System.Windows.Forms.Control.DefWndProc(Message& m)
   at System.Windows.Forms.TreeView.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.TreeView.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


Also when I replace some text on the code editor, when I rewrite the name of a variable by double clicking it to select and start typing, I get:

Error: Length cannot be less than zero.
Parameter name: length
Version: AGS 3.4.3.1

Code: ags
System.ArgumentOutOfRangeException: Length cannot be less than zero.
Parameter name: length
   at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
   at AGS.CScript.Compiler.FastString.Substring(Int32 offset, Int32 length)
   at AGS.Editor.AutoComplete.ConstructCache(Script scriptToCache, Boolean isBackgroundThread)
   at AGS.Editor.ScriptEditor.scintilla_OnBeforeShowingAutoComplete(Object sender, EventArgs e)
   at AGS.Editor.ScintillaWrapper.ShowAutoComplete(Int32 charsTyped, String autoCompleteList)
   at AGS.Editor.ScintillaWrapper.ShowAutoCompleteIfAppropriate(Int32 minimumLength)
   at AGS.Editor.ScintillaWrapper.OnUpdateUI(Object sender, EventArgs e)
   at Scintilla.ScintillaControl.DispatchScintillaEvent(SCNotification notification)
   at Scintilla.ScintillaControl.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


Has someone ever met those bugs? I have recently used the latest 3.5.0.14 release of the Editor and I think they don't happen there, but I think I didn't got they before on 3.4.3.1, so I think I have something funny somewhere on my project.

I have backups so currently I am trying to see if there was any state before where this didn't occur. I really don't remember having them.
#2437
Can you print screen the error and add it here?
#2438
Thanks CW!  :-D

(I did a quirk way with enums to separate my dialogs from script, but I am way below the integer limit, so this cool :D)
#2439
Yes, you can use script in the middle of dialogs as long as they are not starting at the beginning of the line (precede with space to use scripting).

Ok, question, what's the integer limit? Can it go to 100000 (one hundred thousand)?
#2440
Those are sexy docs! XD

Wuhu, amazing work! I still need to remove headphones jack -> be courageous enough to fully move from 3.4.3 to 3.5.0   (roll)

Thank you for the work you put into this module. It's really great and it makes using AGS a much more joyful experience.  :)
SMF spam blocked by CleanTalk