[Include] 3DTryg Functions
#41

Quote:
Originally Posted by KenyEnergy
View Post
I do not understand how colandreas has detected "aim" and that does not just add:
PHP Code:
CMD:salo(playerid){
    
Kick(playerid);
    return 
1;

Reply
#42

Update v3.0.0:

- Added contributors in the header file.
- Update compatibility for i_quat.inc by IllidanS4
- Update compatibility for rotation.inc by Nero_3D

- Added functions:
PHP Code:
bool:IsRotationTest(Float:rotation,Float:r_min,Float:r_max); //internal function 3DTryg
GetRandomPointInCircularSector(Float:x,Float:y,Float:rz,Float:radius,Float:view_angle,&Float:tx,&Float:ty);
GetRandomPointOnCircularSector(Float:x,Float:y,Float:rz,Float:radius,Float:view_angle,&Float:tx,&Float:ty); 
- Added FCNPC functions (ColAndreas):
PHP Code:
FCNPC_GoToPlayerOnGroundCol(npcid,playerid,type MOVE_TYPE_AUTO,Float:speed MOVE_SPEED_AUTO,bool:UseMapAndreas false,Float:cut_size 1.0,Float:climbing 2.0,bool:setangle true);
FCNPC_GoToAirCol(npcid,Float:x,Float:y,Float:z,type MOVE_TYPE_AUTO,Float:speed MOVE_SPEED_AUTO,Float:cut_size 0.0); //for airplanes 
- Added FCNPC function:
PHP Code:
FCNPC_GoToAir(npcid,Float:x,Float:y,Float:z,type MOVE_TYPE_AUTO,Float:speed MOVE_SPEED_AUTO); //for airplanes 
- Fixed FCNPC functionts (ColAndreas):
PHP Code:
FCNPC_GoToCol(npcid,Float:x,Float:y,Float:z,type MOVE_TYPE_AUTO,Float:speed MOVE_SPEED_AUTO,bool:UseMapAndreas false,Float:cut_size 0.0,bool:setangle true);
FCNPC_GoToPlayerCol(npcid,playerid,type MOVE_TYPE_AUTO,Float:speed MOVE_SPEED_AUTO,bool:UseMapAndreas false,Float:cut_size 0.0,bool:setangle true); 
- Updated algorithm:
PHP Code:
bool:IsPointInCircularSector(Float:px,Float:py,Float:x,Float:y,Float:rz,Float:radius,Float:view_angle);
bool:IsPointInSphericalSector(Float:px,Float:py,Float:pz,Float:x,Float:y,Float:z,Float:rx,Float:rz,Float:radius,Float:vrx,Float:vrz);
bool:IsPlayerOnPlayerScreen(playerid,targetid,Float:rx=INVALID_ROTATION,Float:rz=INVALID_ROTATION,Float:vertical=VERTICAL_CAMERA_RADIUS,Float:horizontal=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true);  *
bool:IsPlayerOnFakeScreen(Float:x,Float:y,Float:z,targetid,Float:rx,Float:rz,Float:vertical=VERTICAL_CAMERA_RADIUS,Float:horizontal=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true); 
Video for FCNPC_GoToPlayerOnGroundCol:
https://www.youtube.com/watch?v=Y2ZcCaxajrY

Video for FCNPC_GoToAirCol:
https://www.youtube.com/watch?v=snZ-25QuBm0
Reply
#43

These updates are true fucking vision dude! SA-MP has really evolved tremendously.
Reply
#44

Is there any function that I could use to reproduce players aim into textdraws for other players who spectate him?
Reply
#45

Update v3.0.1:

- Update FCNPC Module v1.4.0
- Added functions:
PHP Code:
bool:IsPlayerStay(playerid);      //Animation test
bool:IsPlayerRunning(playerid);   //Animation test
bool:IsPlayerSwim(playerid);      //Animation test
bool:IsPlayerJump(playerid);      //Animation test
bool:IsPlayerParaFall(playerid);  //Animation test
bool:IsPlayerParaGlide(playerid); //Animation test
bool:IsPlayerFall(playerid);      //Animation test 
- Renamed functions (preserved old):
PHP Code:
Tryg3DKeyPressed -> Tryg3D_KeyPressed
Tryg3DKeyReleased 
-> Tryg3D_KeyReleased
Tryg3DKeyHolding 
-> Tryg3D_KeyHolding 
- Added new compiler options:
PHP Code:
#define DISABLE_3D_TRYG_MAPANDREAS //Use before 3DTryg.inc for disable MapAndreas Module
#define DISABLE_3D_TRYG_COLANDREAS //Use before 3DTryg.inc for disable ColAndreas Module
#define DISABLE_3D_TRYG_YSF        //Use before 3DTryg.inc for disable YSF Module
#define DISABLE_3D_TRYG_STREAMER   //Use before 3DTryg.inc for disable Streamer Module
#define DISABLE_3D_TRYG_FOXFOREACH //Use before 3DTryg.inc for disable FoxForeach Module
#define DISABLE_3D_TRYG_YSIFOREACH //Use before 3DTryg.inc for disable Foreach Module
#define DISABLE_3D_TRYG_FCNPC      //Use before 3DTryg.inc for disable FCNPC Module 
Reply
#46

Update v3.0.4:

- Change YSF Module from 'YSF IS4' to 'YSF kurta999'
- Update Compatibility for Actors
- Update Compatibility for FCNPC
- Added online version checker and server announce
- Renamed argument 'arc_height' -> 'spread'
PHP код:
bool:GetArcPointsFloor2D(Float:x,Float:y,Float:z,Float:tx,Float:ty,Float:spread,Float:points[][],max_points sizeof(points));
bool:GetArcPointsCellar2D(Float:x,Float:y,Float:z,Float:tx,Float:ty,Float:spread,Float:points[][],max_points sizeof(points));
bool:GetArcPointsStarboard2D(Float:x,Float:y,Float:z,Float:tx,Float:ty,Float:spread,Float:points[][],max_points sizeof(points));
bool:GetArcPointsLarboard2D(Float:x,Float:y,Float:z,Float:tx,Float:ty,Float:spread,Float:points[][],max_points sizeof(points)); 
- Added extended functions:
PHP код:
Tryg3D_SetStreamDistance(Float:streamdistance); //default 300.0 (server.cfg: stream_distance)
Float:Tryg3D_GetStreamDistance(); 
- Added compiler options:
PHP код:
#define ENABLE_3D_TRYG_STREAM3D  //Use before 3DTryg.inc for enable Stream3D Module 
#define DISABLE_3D_TRYG_ANNOUNCE //Use before 3DTryg.inc for disable 3DTryg Announce 
- Added Stream3D Functions:
PHP код:
StreamCreate(variable);
Stream:StreamCircle(Float:x,Float:y,Float:radius);
Stream:StreamCylinder(Float:xA,Float:yA,Float:zA,Float:xB,Float:yB,Float:zB,Float:radius);
Stream:StreamCylinderEx(Float:x,Float:y,Float:minz,Float:maxz,Float:radius);
Stream:StreamSphere(Float:x,Float:y,Float:z,Float:radius);
Stream:StreamRectangle(Float:minx,Float:miny,Float:maxx,Float:maxy);
Stream:StreamCube(Float:minx,Float:miny,Float:minz,Float:maxx,Float:maxy,Float:maxz);
Stream:StreamCircularSector(Float:x,Float:y,Float:rz,Float:radius,Float:view_angle);
Stream:StreamSphericalSector(Float:x,Float:y,Float:z,Float:rx,Float:rz,Float:radius,Float:vrx,Float:vrz);
bool:IsPointInStream(Float:x,Float:y,Float:z,Stream:StreamData[Stream3D]);
bool:IsPlayerInStream(playerid,Stream:StreamData[Stream3D]);
bool:IsObjectInStream(objectid,Stream:StreamData[Stream3D]);
bool:IsActorInStream(actorid,Stream:StreamData[Stream3D]);
bool:IsNPCInStream(npcid,Stream:StreamData[Stream3D]);
bool:IsDynamicObjectInStream(objectid,Stream:StreamData[Stream3D]); 
- Added stream types:
PHP код:
s_circle
s_cylinder
s_cylinderex
s_sphere
s_rectangle
s_cube
s_circularsector
s_sphericalsector 
Example for Stream3D:
PHP код:
new StreamCreate(test);
test StreamCircle(12.0,15.0,10.0);
if(
IsPointInStream(0.0,0.0,5.0,test)){
    
printf("A");
}
test StreamCube(-500.0,-500.0,-50.0,400.0,40.0,15.0);
if(
IsPointInStream(0.0,0.0,5.0,test)){
    
printf("B");

Reply
#47

I'm getting wrong rotation with GetGroundRotation function.
Example:
The ground rotation for my actual postion is 300 on X and 250 on Y, but if I use these values my object looks inverted on ROT. I solved mutilplying the values by (-1.0), so then turned -300 and -250.

Idk if I'm using this on an incorrent way, but even with yourexample code I'm getting the wrong value.
Reply
#48

Quote:
Originally Posted by renatog
Посмотреть сообщение
I'm getting wrong rotation with GetGroundRotation function.
Example:
The ground rotation for my actual postion is 300 on X and 250 on Y, but if I use these values my object looks inverted on ROT. I solved mutilplying the values by (-1.0), so then turned -300 and -250.

Idk if I'm using this on an incorrent way, but even with yourexample code I'm getting the wrong value.
This function works well, but some objects require a transformation that what is the id of your object.
Reply
#49

Edit: my bad.

gj.
Reply
#50

Код:
bool:IsVehicleOnPlayerScreen(playerid,vehicleid,Float:rx=INVALID_ROTATION,Float:rz=INVALID_ROTATION,Float:vertical=VERTICAL_CAMERA_RADIUS,Float:horizontal=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true);

bool:IsVehicleOnFakeScreen(Float:x,Float:y,Float:z,vehicleid,Float:rx,Float:rz,Float:vertical=VERTICAL_CAMERA_RADIUS,Float:horizontal=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true);
I would use this function to change the interior to the cars that are not seen and thus avoid being easily seen on the radar.
Reply
#51

Update v3.0.5:

- Added auto FCNPC MapAndreas init.
- Added compiler option:
PHP код:
#define DISABLE_3D_TRYG_ACTOR //Use before 3DTryg.inc for disable Actors Module 
- Added Internal functions:
PHP код:
NLTV(value,min);                    //NotLessThanValue
NMTV(value,max);                    //NotMoreThanValue
Float:NLTVF(Float:value,Float:min); //NotLessThanValueFloat
Float:NMTVF(Float:value,Float:max); //NotMoreThanValueFloat 
- Added Extended function:
PHP код:
GetTryg3DActiveCount(); //returns the number of scripts that were activated 3DTryg 
- Updated functions:
PHP код:
//parameter bool:testLOS only works with ColAndreas 
bool:IsPlayerOnPlayerScreen(playerid,targetid,Float:rx=INVALID_ROTATION,Float:rz=INVALID_ROTATION Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true);
bool:IsPlayerOnFakeScreen(Float:x,Float:y,Float:z,targetid,Float:rx,Float:rz,Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true); 
- Added functions:
PHP код:
GetPlayerCameraLookAt(playerid,&Float:x,&Float:y,&Float:z); //Not support camera move
//parameter bool:testLOS only works with ColAndreas
IsPointInSphericalSectorEx(Float:px,Float:py,Float:pz,Float:x,Float:y,Float:z,Float:rx,Float:rz,Float:radius,Float:vrx,Float:vrz,bool:testLOS=true);
 
bool:IsVehicleOnPlayerScreen(playerid,vehicleid,Float:rx=INVALID_ROTATION,Float:rz=INVALID_ROTATION,Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true);
bool:IsVehicleOnFakeScreen(Float:x,Float:y,Float:z,vehicleid,Float:rx,Float:rz,Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true);
bool:IsObjectOnPlayerScreen(playerid,objectid,Float:rx=INVALID_ROTATION,Float:rz=INVALID_ROTATION,Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true);
bool:IsObjectOnFakeScreen(Float:x,Float:y,Float:z,objectid,Float:rx,Float:rz,Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true);
bool:IsActorOnPlayerScreen(playerid,actorid,Float:rx=INVALID_ROTATION,Float:rz=INVALID_ROTATION,Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true);
bool:IsActorOnFakeScreen(Float:x,Float:y,Float:z,actorid,Float:rx,Float:rz,Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true); 
- Added Streamer functions:
PHP код:
SetPlayerAbsolutePosition(playerid,Float:x,Float:y,Float:z,Float:angle,worldid = -1,interiorid = -1,compensatedtime = -1);
SetPlayerAbsolutePositionVeh(playerid,Float:x,Float:y,Float:z,Float:angle,worldid = -1,interiorid = -1,compensatedtime = -1);
//parameter bool:testLOS only works with ColAndreas
bool:IsDynamicObjectOnPlayerScreen(playerid,objectid,Float:rx=INVALID_ROTATION,Float:rz=INVALID_ROTATION,Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true);
bool:IsDynamicObjectOnFakeScreen(Float:x,Float:y,Float:z,objectid,Float:rx,Float:rz,Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true); 
- Added Streamer functions (FCNPC):
PHP код:
SetNPCAbsolutePosition(npcid,Float:x,Float:y,Float:z,Float:angle,worldid = -1,interiorid = -1,compensatedtime = -1); 
Reply
#52

IsPlayerOnPlayerScreen Not support FCNPC ?, I tried it and it does not work from the perspective of an NPC seeing a player. Although I suppose not, but, you could create a function that takes into account the position of a character / bot, which would do the same IsPlayerOnPlayerScreen function only in this way takes into account the position and rotation of a player, in a nutshell, It is not what you see where the camera is focused, if not the player / bot.

Edit: Add parameter for virtual world.

regards.
Reply
#53

1. Works with NPC, however, requires the use
PHP код:
FCNPC_AimAt(npcidFloat:xFloat:yFloat:zbool:shoot falseshoot_delay = -1bool:setangle true); 
After using the function NPC has set the camera.

2. If you want to do it without AimAt can also get random camera rotation.
PHP код:
new V3[Vectors3D];
FCNPC_GetPosition(npcid,V3[T3D:X],V3[T3D:Y],V3[T3D:Z]);
if(
IsPlayerOnFakeScreen(V3[T3D:X],V3[T3D:Y],V3[T3D:Z],playerid,0.0,float(random(360)),VERTICAL_CAMERA_RADIUS,HORIZONTAL_CAMERA_RADIUS,true)){
    
//attack !

3. I will add checking VirtualWorld in a future update.
Reply
#54

Update v3.1.0:

- Update FCNPC Module v1.5.0
- Updated StreamType: added s_invalid

- Updated functions:
Код:
bool:IsPlayerOnPlayerScreen(playerid,targetid,Float:rx=INVALID_ROTATION,Float:rz=INVALID_ROTATION Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true,bool:testVW=true);
bool:IsVehicleOnPlayerScreen(playerid,vehicleid,Float:rx=INVALID_ROTATION,Float:rz=INVALID_ROTATION Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true,bool:testVW=true);
bool:IsActorOnPlayerScreen(playerid,actorid,Float:rx=INVALID_ROTATION,Float:rz=INVALID_ROTATION,Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true,bool:testVW=true);
- Update Streamer function:
Код:
bool:IsDynamicObjectOnPlayerScreen(playerid,objectid,Float:rx=INVALID_ROTATION,Float:rz=INVALID_ROTATION,Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true,bool:testVW=true);
- Added Stream3D functions:
PHP код:
StreamType:GetStreamType(Stream:StreamData[Stream3D]);
bool:IsValidStream(Stream:StreamData[Stream3D]);
Stream:ConvertAreaToStream(areaid); 
- Fixed function:
PHP код:
GetArcPointsCellar2D(Float:x,Float:y,Float:z,Float:tx,Float:ty,Float:spread,Float:points[][],max_points sizeof(points)); 
New Video for Arc Functions:
https://www.youtube.com/watch?v=Z1xotEcITUs
Reply
#55

Functions of screen... add support for streamer objects.

IsPlayerAttacking (melee)

Thanks for the work in the include, it has been very useful to me in developing my game mode.
Reply
#56

Quote:
Originally Posted by LatinZ
View Post
Functions of screen... add support for streamer objects.

IsPlayerAttacking (melee)

Thanks for the work in the include, it has been very useful to me in developing my game mode.
Quote:
Originally Posted by AbyssMorgan
View Post
Update v3.0.5:

- Added Streamer functions:
PHP Code:
SetPlayerAbsolutePosition(playerid,Float:x,Float:y,Float:z,Float:angle,worldid = -1,interiorid = -1,compensatedtime = -1);
SetPlayerAbsolutePositionVeh(playerid,Float:x,Float:y,Float:z,Float:angle,worldid = -1,interiorid = -1,compensatedtime = -1);
//parameter bool:testLOS only works with ColAndreas
bool:IsDynamicObjectOnPlayerScreen(playerid,objectid,Float:rx=INVALID_ROTATION,Float:rz=INVALID_ROTATION,Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true);
bool:IsDynamicObjectOnFakeScreen(Float:x,Float:y,Float:z,objectid,Float:rx,Float:rz,Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true); 
It has already been added.

How would work function IsPlayerAttacking(melee) ?
Reply
#57

The parameter to support streamer objects would be useful in visibility functions (without the need to use IsDynamicObjectOnPlayerScreen, which would be optional if the programmer only wants to perform X functions with those objects).

Code:
bool:IsVehicleOnPlayerScreen(playerid,vehicleid,Float:rx=INVALID_ROTATION,Float:rz=INVALID_ROTATION,Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true,bool:testVW=true,bool:support_streamer_objects = false)

... Other functions "screen..."
Then if support_streamer_objects is true, streamer objects would be part of the

IsPlayerAttacking would be basically when a user performs the attack animation (with or without white weapons).
Reply
#58

Quote:
Originally Posted by LatinZ
View Post
The parameter to support streamer objects would be useful in visibility functions (without the need to use IsDynamicObjectOnPlayerScreen, which would be optional if the programmer only wants to perform X functions with those objects).

Code:
bool:IsVehicleOnPlayerScreen(playerid,vehicleid,Float:rx=INVALID_ROTATION,Float:rz=INVALID_ROTATION,Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true,bool:testVW=true,bool:support_streamer_objects = false)

... Other functions "screen..."
Then if support_streamer_objects is true, streamer objects would be part of the

IsPlayerAttacking would be basically when a user performs the attack animation (with or without white weapons).
The only collisions that are detected in these functions are received from ColAndreas Plugin. (bool:testLOS=true)

To detect collisions ColAndreas dynamic objects is required to use.
PHP Code:
CA_CreateDynamicObject_DC(modelidFloat:xFloat:yFloat:zFloat:rxFloat:ryFloat:rzvw = -1interior = -1playerid = -1Float:streamdist 300.0Float:drawdist 300.0)
CA_CreateDynamicObject_SC(modelidFloat:xFloat:yFloat:zFloat:rxFloat:ryFloat:rzvw = -1interior = -1playerid = -1Float:streamdist 300.0Float:drawdist 300.0)
CA_CreateDynamicObjectEx_DC(modelidFloat:xFloat:yFloat:zFloat:rxFloat:ryFloat:rzFloat:drawdistance 0.0Float:streamdistance 200.0worlds[] = { -}, interiors[] = { -}, players[] = { -}, maxworlds sizeof worldsmaxinteriors sizeof interiorsmaxplayers sizeof players)
CA_CreateDynamicObjectEx_SC(modelidFloat:xFloat:yFloat:zFloat:rxFloat:ryFloat:rzFloat:drawdistance 0.0Float:streamdistance 200.0worlds[] = { -}, interiors[] = { -}, players[] = { -}, maxworlds sizeof worldsmaxinteriors sizeof interiorsmaxplayers sizeof players
Reply
#59

Update v3.1.1:

- Rebuilding include structure.
- Added compiler options:
PHP Code:
#define ENABLE_3D_TRYG_LINE3D //Use before 3DTryg.inc for enable Line3D Module 
- Added Line3D Functions:
PHP Code:
Line3DCreate(variable,max_points);
GetLine3DValue(variable,pointid,name);
SetLine3DValue(variable,pointid,name,value);
bool:GetLine3DPointPos(Line3D:LineData[][LinePoint3D],pointid,&Float:x,&Float:y,&Float:z,max_points sizeof(LineData));
bool:SetLine3DPointPos(Line3D:LineData[][LinePoint3D],pointid,Float:x,Float:y,Float:z,max_points sizeof(LineData));
bool:GetLine3DPointRot(Line3D:LineData[][LinePoint3D],pointid,&Float:rx,&Float:ry,&Float:rz,max_points sizeof(LineData));
bool:SetLine3DPointRot(Line3D:LineData[][LinePoint3D],pointid,Float:rx,Float:ry,Float:rz,max_points sizeof(LineData));
CountLine3DPoints(Line3D:LineData[][LinePoint3D],max_points sizeof(LineData));
AddPointToLine3D(Line3D:LineData[][LinePoint3D],Float:x,Float:y,Float:z,Float:rx=INVALID_ROTATION,Float:ry=INVALID_ROTATION,Float:rz=INVALID_ROTATION,max_points sizeof(LineData)); 
- Added definitions:
PHP Code:
INVALID_LINE3D_POINT_ID 
Reply
#60

Update v3.2.0:

- Code optimizations
- Fixed Timeline Sync (YSF)
- Updated function:
Code:
Tryg3D_GivePlayerDamage(targetid,Float:damage,playerid,weaponid,bool:force_spawn=true,bool:deathmsg=true);
- Renamed function
PHP Code:
Tryg3D_swap_int -> Tryg3D_SwapInt 
- Added ATM Core functions / macros:
PHP Code:
T3D:GetSAMIncludeVersion(value,name[],maxdest sizeof(name));
T3D:DisableADMLogging(bool:disable);
//Macro T3D:function
T3D:function test(alfa,beta){
    return 
alfa beta;
}
//Time Macros
T3D:SecToTimeDay(second);      //Use: %d:%02d:%02d:%02d
T3D:MSToTimeDay(millisecond);  //Use: %d:%02d:%02d:%02d
T3D:SecToTime(second);         //Use: %02d:%02d:%02d
T3D:MSToTime(millisecond);     //Use: %02d:%02d:%02d
T3D:SecToTimeMini(second);     //Use: %02d:%02d
T3D:MSToTimeMini(millisecond); //Use: %02d:%02d 
- Added YSF Functions:
PHP Code:
CountTextDraw();
CountPlayerTextDraw(playerid);
CountVisibleTextDraw(playerid);
CountVisiblePlayerTextDraw(playerid); 
- Update 3DTryg for Streamer Dynamic Actor (Coming Soon)
The function will be added only if the new version Streamer Plugin has been installed.

- Added Streamer functions:
PHP Code:
Float:GetDynamicActorDistFromPoint(actorid,Float:x,Float:y,Float:z);
Float:GetPlayerDynamicActorDistance(playerid,actorid);
bool:IsDynamicActorInRangeOfPoint(actorid,Float:range,Float:x,Float:y,Float:z); 
GetDynamicActorOrientationPos(actorid,element_orientation:orientation,Float:distance,&Float:tx,&Float:ty,&Float:tz);
bool:IsDynamicActorOnPlayerScreen(playerid,actorid,Float:rx=INVALID_ROTATION,Float:rz=INVALID_ROTATION,
Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true,
bool:testVW=true);
bool:IsDynamicActorOnFakeScreen(Float:x,Float:y,Float:z,actorid,Float:rx,Float:rz,
Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testLOS=true); 
- Added Streamer functions (ColAndreas):
PHP Code:
GetDynamicActorOrientPosCol(actorid,element_orientation:orientation,Float:distance,&Float:tx,&Float:ty,&Float:tz); 
- Added Streamer functions (FCNPC):
PHP Code:
Float:GetNPCDynamicActorDistance(npcid,actorid); 
- Added Stream3D functions (Streamer):
PHP Code:
bool:IsDynamicActorInStream(actorid,Stream:StreamData[Stream3D]); 
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)