home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar 2006 April
/
Gamestar_83_2006-04_dvd.iso
/
Dema
/
demowot_english.exe
/
Script
/
Source
/
entities.inc
< prev
next >
Wrap
Text File
|
2005-03-11
|
9KB
|
258 lines
/* Entity functions
* Interface between the Small script system and
* Digital reality GameEngine.
*
* (c) Copyright 2002-2003, Digital Reality Kft.
* This file is provided as is (no warranties).
*/
#if defined _entity_included
#endinput
#endif
#define _entity_included
enum vec2
{
x,y
}
enum vec3
{
x,y,z
}
enum quat
{
x,y,z,w
}
enum rgba
{
r,g,b,a
}
enum ModifierType
{
MULTIPLY,
ADD,
SET,
MAXVALUE
}
/* Egy olyan vΘletlenszßmot generßl amelyet lehet hasznßlni multiplayer
* jßtΘkban is, mert az engine szinkronizßlja. EgΘsz szßmokkal m√k÷dik.
*/
native Rnd( MinValue, MaxValue );
/* A megadott stringID-j√ entitßs id-jΘt adja vissza, vagy 0-ßt
* Ezt az ID-t nem szabad egy funkci≤hφvßson kφvⁿl eltßrolni. Ugyanis
* egy save-load megvßltoztatja!!!
* Spec ID-k:
* "world" a World pointerΘt adja visza
* "self" annak az objektumnak a pointerΘt adja vissza ahol a script fut
*/
native DrID:GetEntity(stringid[]);
/* A megadott entitßsbase-t adja vissza
* Ezt az ID-t nem szabad egy funkci≤hφvßson kφvⁿl eltßrolni. Ugyanis
* egy save-load megvßltoztatja!!!
*/
native DrID:GetEntityBase(stringid[]);
/* A megadott entitßs base-jat adja vissza
* Ezt az ID-t nem szabad egy funkci≤hφvßson kφvⁿl eltßrolni. Ugyanis
* egy save-load megvßltoztatja!!!
*/
native DrID:GetBaseEntity( DrID:entity );
/* A megadott nevu component id-jΘt adja vissza, vagy 0-ßt
* Ezt az ID-t nem szabad egy funkci≤hφvßson kφvⁿl eltßrolni. Ugyanis
* egy save-load megvßltoztatja!!!
*/
native DrID:GetComponent( DrID:entity, componentname[], SubID=-1);
/* A megadott nevu Modifier id-jΘt adja vissza, vagy 0-ßt
* Ezt az ID-t nem szabad egy funkci≤hφvßson kφvⁿl eltßrolni. Ugyanis
* egy save-load megvßltoztatja!!!
*/
native DrID:GetModifier( ModifierName[] )
native AddModifier( ModifierName[], ClassName[], PropertyName[], Priority, ModifierType:Type, IsSingleObject, ScopeID[], IsActive, Float:Value4Easy, Float:Value4Normal, Float:Value4Hard )
/* Visszaadja egy cObject class azonositojat
*/
native DrID:GetClassID( Classname[] );
/* Visszaadja, hogy egy cObject ilyen tipusu-e
*/
native bool:IsInstanceOf( DrID:Object, DrID:ClassId) = Instanceof;
native DrID:GetComponentBase( DrID:component);
/* A megadott selector listßban iterßl vΘgig.
* Minden egyes elemnΘl felhφvja a megadott public fⁿggvΘnyt
* az entitßs id-jΘvel Θs egy szßmlßl≤val paramΘterkΘnt.
* public callbackfuggveny( DrID:ID, count )
* Ennek a fⁿggvΘnynek true-t kell visszaadnia, ha tovabb kell iteralni, false-t, ha allj.
* Lass·, ha lehet ne hasznßld.
*/
native IterateEntities(functionname[], const selectorid[]="", const className[]="" );
/* Property kezel⌡ fⁿggvΘnyek
* Az ID a GetEntity-vel vagy GetComponent-tel lekΘrdezett ID.
*/
native GetPropertyInt( const DrID:ID, const PropertyName[] )
native SetPropertyInt( const DrID:ID, const PropertyName[], const Value )
native DrID:GetPropertyObject( const DrID:ID, const PropertyName[] )
native SetPropertyObject( const DrID:ID, const PropertyName[], const DrID:Value )
native Float:GetPropertyFloat( const DrID:ID, const PropertyName[] )
native SetPropertyFloat( const DrID:ID, const PropertyName[], const Float:Value )
native bool:GetPropertyBool( const DrID:ID, const PropertyName[] )
native SetPropertyBool( const DrID:ID, const PropertyName[], const Value )
// the 3. param is the return value
native GetPropertyVec2( const DrID:ID, const PropertyName[], Float:Value[vec2] )
native SetPropertyVec2( const DrID:ID, const PropertyName[], const Float:Value[vec2] )
// the 3. param is the return value
native GetPropertyVec3( const DrID:ID, const PropertyName[], Float:Value[vec3] )
native SetPropertyVec3( const DrID:ID, const PropertyName[], const Float:Value[vec3] )
// the 3. param is the return value
native GetPropertyQuat( const DrID:ID, const PropertyName[], Float:Value[quat] )
native SetPropertyQuat( const DrID:ID, const PropertyName[], const Float:Value[quat] )
// the 3. param is the return value
native GetPropertyRGBA( const DrID:ID, const PropertyName[], Float:Value[rgba] )
native SetPropertyRGBA( const DrID:ID, const PropertyName[], const Float:Value[rgba] )
// the 3. param is the return value
native GetPropertyString( const DrID:ID, const PropertyName[], const MaxLength, Value[] )
native SetPropertyString( const DrID:ID, const PropertyName[], const Value[] )
native DrID:GetArrayElement( const DrID:ID, const PropertyName[], Index )
native GetPropArrayLength( const DrID:ID, const PropertyName[] )
// Event Handling
// If, the TargetObject == 0, then the Function called by all entities
// If, the Classname == "cScript" then MessageID is UserEvent!!!!!!
// Az UserEvent esetΘben a Sender a kⁿld⌡ script "self" objectje, azaz a scripthez rendelt
// Entitas (Pl. Enterprise) lesz! Ezzel lehet Sz√rΘseket is vΘgezni
native AddEntityEvent( FunctionName[], DrID:TargetObject, ClassName[], MessageID, Float:Delay = 0.0 )
native AddSelectorEvent( FunctionName[], Selector[], ClassName[], MessageID, Float:Delay = 0.0 )
// A megadott id⌡ m·lva elindφtja a Funkci≤t.
// Az id⌡ mßsodpercben Θrtend⌡. TermΘszetesen lehet t÷rtszßm is, pl. 0.5 !
native AddTimerEvent( FunctionName[], Float:Timing, const TimeManager[] = "GameLogic", bool:CorrectTime=false)
native AddUserEvent( FunctionName[], MessageID, Float:Delay = 0.0 )
// Az UserEvent esetΘben a Sender a kⁿld⌡ script "self" objectje, azaz a scripthez rendelt
// Entitas (Pl. Enterprise) lesz! Ezzel lehet Sz√rΘseket is vΘgezni
native CallUserEvent( MessageID, Param=0 )
native CallUserEventEntity( MessageID, DrID:Param=DrID:0 ) = CallUserEvent
native CallUserEventFloat( MessageID, Float:Param=0.0 )
native RemoveEvent( FunctionName[] )
native RemoveEntityEvent( FunctionName[], DrID:Entity)
// A Megadott funkci≤ az alßbbi szintaxus· legyen:
// ParamΘterkΘnt megkapja a kⁿld⌡ entitßs ID-jΘt (pointerΘt) valamint
// Ha az Event-nek volt parametere, akkor azt is
// public EventCallback( DrID:Sender, Parameter=-1 )
// KΘp pont tßvolsßgßt adja vissza Float-kΘnt!!!
native Float:Distance( Float:Pos1[vec3], Float:Pos2[vec3] )
// A jßtΘk nehΘzsΘgi szint beßllφtßsßt adja vissza
// 0 - k÷nny√
// 1 - normal
// 2 - nehez
native GetDifficult();
// Az aktiv Event MessageParameteret adja vissza, mint DrID
// Ezt a funkci≤ MINDEN olyan funkci≤ ELOTT kell hasznßlni, amely
// esemΘnyt vßlthat ki.
native DrID:GetMsgParamObject();
native GetMsgParamInt();
native Float:GetMsgParamFloat();
native GetMsgParamString( OutputStr[], MaxLength=10 );
// Az InputStrben megadott szoveget fogja Integerre alakitani
// Ha az InputStr nem jo akkor 0-t ad vissza.
native Str2Int(InputStr[]);
// A Value-ban megadott szßmot az OutPutStr-ben megadott string-t÷mbbe t÷lti be
// A FormatumStr adja meg a szßm formßtumßt.
// "%hosszi"
// % - kell
// hossz - a szam karakteres max hossza
//
// PΘlda: %10i = 10 hosszu (nagatφvnal 9) el⌡jeles szam
// Viszont ezt lehet mßsra is hasznßlni!!
// A formßtumsting:
// %10x - 10 hosszu Hexa szam
// %10u - 10 hosszu elojel nΘlkⁿli szam (Nem aboszut ertek!!)
//
// Ez a normal c formatum
//
// A visszadott szßm a string hossza. Ha valami gubanc tortΘnt
// Akkor ez 0.
native Int2Str( Value, OutPutStr[], MaxLength=10, const FormatumStr[]="" );
// A Value-ban megadott szßmot az OutPutStr-ben megadott string-t÷mbbe t÷lti be
// A FormatumStr adja meg a szßm formßtumßt.
// "%hossz.tizedesekf"
// % - kell
// hossz - a szam karakteres max hossza
// . - tizedes jel, kell, beleszßmφt a max hosszba.
// tizedesek - a tizedesjegyek szßma.
//
// PΘlda: %10.3f = 6 egΘsz Θs 3 tizedes lesz a formßtum.
// ha a szam negatφv, akkor 5 egesz Θs 3 tizedes lesz!!!
//
// Ez a normal c formatum
//
// A visszadott szßm a string hossza. Ha valami gubanc tortΘnt
// Akkor ez 0.
native Float2Str( Float:Value, OutPutStr[], MaxLength=10, const FormatumStr[]="" );
// ╓sszefⁿz 2 stringet
// Biztosφtani kell az eredmΘny tßrolßsßhoz egy puffert!!!
native ConcatString( OutPutStr[], MaxLength=10, const InputStr1[]="", const InputStr2[]="" );
// Compare String return value: 0 - equal, <0 - InputStr1 < InputStr2, >0 - InputStr1 > InputStr2
native CompareString( InputStr1[], InputStr2[]);
native StrFind(Str[], SubStr[]); // returns the position index of the first character of SubStr in Str, or -1, if it can't be found
native StrReplace(Str[], Old[], New[]); // returns the number of replacements made
native StrMid(Result[], Str[], Start, Length);
native ActivateEntity(DrID:Entity);
native DeActivateEntity(DrID:Entity);
native bool:IsEntityActive(DrID:Entity)=IsEntityActivate;
native Float:GetNumberSetting(Path[], ID[]);
// Az alabbi ID-k elromlanak save-load utan, ezert nem szabad elmenteni. (Gyakorlatilag
// a kovetkezo code eventig marad meg az erteke.)
native DrID:GetListID( Name[]);
native GetListName( DrID:ID, OutputStr[], MaxLength=25 );
native GetListLen( ListName[] );
native AddToSelector(SelectorName[], DrID:ID);
native RemoveFromSelector(SelectorName[], DrID:ID);
native StartProfiler();
native EndProfiler();
native GetEntityID( DrID:ID );
native DrID:GetEntityByID( EntityID );