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 - a-v-o

#21
maybe this works without a timer:

in the interaction which starts the animation:
if (start_final_animation == 1)
{
SetObjectView(0,10);
AnimateObject(0,1,10,0);
}

in repeatedly_execute:
if ((start_final_animation == 1) && (IsObjectAnimating (0) == 0))
{
Display("Game Over");
QuitGame(0);
}

in object interaction to stop timer:
start_final_animation = 0;
SetObjectView (0, NORMAL_VIEW);
#22
Modules, Plugins & Tools / Re:Star Teck
Sat 20/03/2004 20:51:02
Instead of the green region, you can use the interaction "player walks off region" to close the door.
#23
@Darth Mandarb:
MoveCharacterBlocking is the blocking version of MoveCharacter. VAL is the "direct" Parameter which is used to control wether to ignore walkable areas or not.

@Akumayo:
MoveCharacter is non-blocking. I'd suggest you first try out a solution you were given, unless you really know that it isn't working.

Besides Gilbot's solution you can use a combination of MoveCharacter and MoveCharacterPath in repeatedly_execute:

if (character [BLUM].x <= 50)
{
 MoveCharacter (BLUM, 200, 100);
 MoveCharacterPath (BLUM, 50, 100);
}
#24
When a virus is attached to the entry point then the virus will be started first and the "ags virus check" will start too late. The virus is already active in the system.

A change of the file size is an indicator for a virus, but not every virus changes the file size.

I think I heard about a virus which hooks into the file functions and shows the correct uninfected file information of infected files, so the AGS engine would get the correct file size though the real file is larger.

#25
As it is advanced technical stuff I just put here a link to the thread:

http://www.agsforums.com/yabb/index.php?board=2;action=display;threadid=4343;start=0

for more information feel free to contact me.
#26
Quote from: strazer on Mon 08/03/2004 00:06:36Another suggestion: I suspect many beginners have the default Windows option "Hide file extensions for known file types" enabled.
When we tell them to name their files music1.mid, I imagine they rename it to music01.mid.mid actually and it won't play.
Could AGS compensate for that, i.e. check for .mid.mid etc. as well?
This option should be switched off anyway, because it is often abused by "unwanted" software. In my opinion it would be better to inform beginners to switch off this option for security reasons than to compensate it.
#27
If you implement a SetObjectOn (Room, Object), then you will probably write this information into a global 2-dimensional array of boolean values.

For GetObjectOn (Room, Object) the problem are the values at game start. This could be handled in runtime at game start or at compile time where code for initialization of the (above mentioned) array is created.

On the other hand "global objects" (objects which can be picked up in one room and dropped in any other room) which were wanted in an other thread would also be a solution because they should also be managed independent from rooms. OOP might be an answer: objects are handled like characters.

Just some cents from a programmer who needn't program these ideas  ;D
#28
It should be:
ProcessClick(character[GUY].x - GetViewportX(), character[GUY].y - GetViewportY() + 2, 1);
#29
What error message do you get when you try "strCopy(juju,pupu);"?
Is it a compiler error message or a runtime error?
#30
You should split your code into 2 parts and put the first part into "...before fadein":

StartCutscene (1);
GUIOff (0);
GUIOff (2);
SetCharacterView(EGO,5);

All other stuff like Animate... and Display... should be in "...after fadein" because they update the screen. You can then use Wait in the code.
#31
Put it before the first use of these variables OUTSIDE any function, like below:

function abc ()
{
// function body  
}

string text;
int index;

function uses_text ()
{
StrCopy (text, "Hello");
}
#32
To have also background speech sound the script can be modified to use PlaySound for this task.

something like: qDisplaySpeech (int charid, int sound, string message)

for no sound, sound is -1

Just an idea  ;D
#33
If you use SetCharacterView then you should probably use ChangeCharacterView instead.
#34
Advanced Technical Forum / Re:Updating my game
Tue 24/02/2004 08:29:55
if you really need v2.55 then you can get it from my computer:
ftp://a-v-o.selfhost.de/ags_255.zip
#35
you can use custom properties for this, but then you would have to type the coordinates and use a movecharacter command to get the character there
#36
Advanced Technical Forum / Re:Editor.dat file
Mon 23/02/2004 22:34:20
The file can be corrupt anyway, like not all data saved in the file.

From what I could see the global header and the global script are stored in the editor.dat. Also the sprites list, not sure what else.

You can try this to see how much you can get back:
Create a new blank game.
Copy your game folder and do the following with the copy:
copy the editor.dat from the new blank game over the broken editor.dat in the copy
then start agsedit and open the copied game.
It should open without errors, but also only with the global script from the new blank game. Probably the sprites won't be in the sprite manager either.

when you open the broken editor.dat in notepad, then you can get the global script from there (or as much as there exists).
I'm not sure what else can be recovered, maybe part of the sprite table.
#37
Advanced Technical Forum / Re:ScreenTint
Fri 20/02/2004 17:52:13
it seems to me that you want to change the tinting of the screen by the time, like in a loop.
But you don't want a script like...

int a = 0;
while (a <= 50)
{
TintScreen (a, 0, 0);
a += 10;
}

...because this is blocking and you want it happen in the background. Then you better do it like this:

int tr, tg, tb;
int tt = 0;
int tc;

function StartTintScreen ()
{
 tr = 0;
tg = 0;
tb = 0;
tt = 1;
tc = 0;
}

function repeatedly_execute ()
{
if (tt > 0)
{
if (tc > 10)
{
tc = 0;
if (tt == 1)
{
// red
tr += 10;
if (tr > 50)
{
 tr = 40;
tt++;
}
}
if (tt == 2)
{
tr -= 10;
if (tr < 50)
{
 tr = 0;
tt++;
}
// blue
if (tt == 3)
{
tb += 10;
if (tb > 50)
{
 tb = 40;
tt++;
}
}
if (tt == 4)
{
tb -= 10;
if (tb < 50)
{
 tb = 0;
tt = 0; // switch off
}
TintScreen (tr, tg, tb);
}
tc++;
}

}
#38
which error message(s) do you get?

maybe it is:
resultHeight=func_ptr("test", 0, 5);

on the other hand, there is the following plugin api function if you want to get the height (and width):

void GetTextExtent (int font, const char *text, int *width, int *height);
#39
I'd use 2 objects: One for the opponent which is automatically scalled when coming closer. And one for the lance which could be moved left, right, up and down.

Or why would you want to use rawdrawlines?
#40
I think he wants automatic background chatting between the NPCs like they walk in the background to show something like a scene where people walk and talk.

E.g something like this: While you explore a pub, a guest comes in, talks to the barkeeper and leaves the pub later, others come in, talk and leave, ... But not as a cutscenes, but as background activity.
SMF spam blocked by CleanTalk