Frictional Games Forum (read-only)

Full Version: The meaning of Parameters
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Have you ever wondered what it is when people talk about a parameter?
Don't you know how it works? Well, I'll tell you.

A parameter is the little amount of text inside these ( Parameter)
They always come after: void function() <-- parameter goes in here
parameters are used to specify what kind of callback you want.

Here are some common examples:

AddEntityCollideCallback
Colliding = (string &in asParent, string &in asChild, int alState)

Spoiler below!

Because:
asParent = 1st object
asChild = 2nd object
alState = How do they collide? When 1 goes inside? When 1 goes outside? Both?

SetEntityPlayerInteractCallback
Interacting = (string &in asEntity)

Spoiler below!

Because:
asEntity = The entity you interact with. There can only be 1 thing that is cabable of interacting and that is the player.

AddUseItemCallback
Use Item = (string &in asItem, string &in asEntity)

Spoiler below!

Because:
asItem = The item you use.
AsEntity = The entity you use it on

SetEntityPlayerLookAtCallback
Look-at function = (string &in asEntity, int alState)

Spoiler below!

Because:
asEntity = The entity you look at
alState = Defining if you are: Looking at it? Looking away from it? Both?


CheckPoint
Checkpoint function = (string &in asName, int alCount)

Spoiler below!

Because:
asName = The name of the Checkpoint.
alCount = How many times you have respawned at that checkpoint.

AddTimer
Timer function = (string &in asTimer)

Spoiler below!

Because:
asTimer = The name of the timer.

SetEntityCallbackFunc
SetEntityCallbackFunc = (string &in asEntity, string &in asType)

Spoiler below!

Because:
asEntity = The entity you are specifying.
asType = Which kind of callback are you wanting? OnPickup? Break? OnIgnite?

Now these parameters are commonly used in scripts and if-statements.
If you don't know what an if-statement is then you should check that out first, because that will make your scripting even better!
I will give you some function examples for each of the codes i have listed above:

AddEntityCollideCallback("Player", "ScriptArea_1", "CollideFunction", true, 0);
Spoiler below!

void CollideFunction(string &in asParent, string &in asChild, int alState)
{
if(alState == 1)
{
//Do something if the player is walking into the script area.
//How about a screen effect?
FadeImageTrailTo(1, 1);
}
if(alState == -1)
{
//Do something when the player leaves the script area
FadeImageTrailTo(0, 1);
}
}

SetEntityPlayerInteractCallback("ScriptArea", "InteractFunction", true);
Spoiler below!

void InteractFunction(string &in asEntity)
{
//First we do stuff
FadeImageTrailTo(1, 1);
//And then we set the entity, that we just interacted with, inactive
SetEntityActive(asEntity, false);
}

**Notice that in the next function there is 2 items, but only 1 script area**
AddUseItemCallback("", "Item_1", "ScriptArea_1", "UseItemFunction", true);
AddUseItemCallback("", "Item_2", "ScriptArea_1", "UseItemFunction", true);
Spoiler below!

void UseItemFunction(string &in asItem, string &in asEntity)
{
if(asItem == "Item_1")
{
//Do stuff if you used Item_1
}
if(asItem == "Item_2")
{
//Do stuff if you used Item_2
}
}

CheckPoint("", "PlayerStartArea_1", "CheckpointFunction", "DeathHints", "Entry_1");
Spoiler below!

void CheckpointFunction(string &in asName, int alCount)
{
if(alCount == 5)
{
//Do stuff if you respawned 5 times
}
}

**Notice that "asTimer" is the same as "asName"**
**Also notice that I am calling 2 timers. The first is called in 5 seconds. The second is called in 10 seconds. Both of them is calling the same function, but they have different asName**

AddTimer("Timer_1", 5, "TimerFunction");
AddTimer("Timer_2", 10, "TimerFunction");
Spoiler below!

void TimerFunction(string &in asTimer)
{
if(asTimer == "Timer_1")
{
//Do stuff after 5 sconds
}
if(asTimer == "Timer_2")
{
//Do stuff after 10 seconds
}
}

**Notice that in this script i am interacting with a candle, but it could have been a lot of other stuff... Though the Onignite only works on candles (I guess)**
SetEntityCallbackFunc("candle_1", "CallbackFunction");
Spoiler below!

void CallbackFunction(string &in asEntity, string &in asType)
{
if(asType == "OnIgnite")
{
//Do stuff when you light the candle, but only if you light the candle!
}
}

Note: Syntax is the rules of the language. While parameters and arguments concern syntax, syntax is not limited to just that.
Do you even know the meaning of the word Syntax?
Quote:A syntax(...)
----
Thanks for this information!
(09-16-2012, 05:01 PM)nemesis567 Wrote: [ -> ]Do you even know the meaning of the word Syntax?
Quote:A syntax(...)
----
No i do not know the precise definition of the word "Syntax", but since i couldn't find any thread about these, and more and more people have been asking about this, i felt i should do something. Thats why i made this. And so what if they use the wrong word in a wrong context, as long as people understand each other, and they are only making custom stories for fun!
I just wanted to make a tutorial that was easy to understand. Smile
Avoiding any further conflict I must say that from the two ways of learning something, it's quite better to use the plain rock one, instead of walking over sand.
Yea, you might be right Smile That was also how i learned it... But there is just people out there who takes a bridge at one place, copy it, and then crosses the hole without knowing what they did, why they get an error, or why it doesnt work Smile I understand what you mean Smile And if i did a bad thing, i am sorry Smile
You didn't do a bad thing if you felt you did the right thing.
No that sounds about right Smile
(09-16-2012, 07:47 PM)beecake Wrote: [ -> ]Yea, you might be right Smile That was also how i learned it... But there is just people out there who takes a bridge at one place, copy it, and then crosses the hole without knowing what they did, why they get an error, or why it doesnt work Smile I understand what you mean Smile And if i did a bad thing, i am sorry Smile
Sorry for bumping this, but I felt that I had to do it: This post has the smiley : ) amount record.
Pages: 1 2