Deo skripte:
ako je potrebno postavicuDebug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
//Slika/video ingame problema(obavezno ako je ingame problem): ako treba postavicu
mozda sam malo lose objasnio koj je problem
ako je potrebno postavicu//CMD:ascamera( playerid, params[] ) {
if( PlayerInfo[ playerid ][ xAdmin ] >= 7 ) {
if( FlyMode[ playerid ] == true && flymodecamera[ playerid ][ cameramode ] == true ) {
new as = KreiranAutoSalon[ playerid ];
new Float:fPX, Float:fPY, Float:fPZ,
Float:fVX, Float:fVY, Float:fVZ,
Float:object_x, Float:object_y, Float:object_z;
const Float:fScale = 5.0;
GetPlayerCameraPos( playerid, fPX, fPY, fPZ);
GetPlayerCameraFrontVector( playerid, fVX, fVY, fVZ);
object_x = fPX + floatmul( fVX, fScale );
object_y = fPY + floatmul( fVY, fScale );
object_z = fPZ + floatmul( fVZ, fScale );
AutoSalon[ as ][ aCameraPos ][ 0 ] = fPX;
AutoSalon[ as ][ aCameraPos ][ 1 ] = fPY;
AutoSalon[ as ][ aCameraPos ][ 2 ] = fPZ;
AutoSalon[ as ][ aCameraLookAt ][ 0 ] = object_x;
AutoSalon[ as ][ aCameraLookAt ][ 1 ] = object_y;
AutoSalon[ as ][ aCameraLookAt ][ 2 ] = object_z;
SaveSalon( as );
CancelFlyMode( playerid );
SendInfoMessage( playerid, "Uspesno si sacuvao pozicije." );
SendInfoMessage( playerid, "Sada koristi /asport da se vratis do auto salona." );
}
}
return true;
}//ovo je komanda za cuvanje pozicijeenum noclipenum {
bool:cameramode,
flyobject,
mode,
lrold,
udold,
lastmove,
Float:accelmul
}
new flymodecamera[ MAX_PLAYERS ];
#define MOVE_FORWARD 1
#define MOVE_BACK 2
#define MOVE_LEFT 3
#define MOVE_RIGHT 4
#define MOVE_FORWARD_LEFT 5
#define MOVE_FORWARD_RIGHT 6
#define MOVE_BACK_LEFT 7
#define MOVE_BACK_RIGHT 8
#define MOVE_SPEED 100.0
#define ACCEL_RATE 0.03 flymodecamera[ playerid ] = false;
flymodecamera[ playerid ] = 0;
flymodecamera[ playerid ] = 0;
flymodecamera[ playerid ] = 0;
flymodecamera[ playerid ] = 0;
flymodecamera[ playerid ] = 0.0;stock GetMoveDirectionFromKeys( ud, lr ) {
new direction = 0;
if(lr < 0)
{
if(ud < 0) direction = MOVE_FORWARD_LEFT;
else if(ud > 0) direction = MOVE_BACK_LEFT;
else direction = MOVE_LEFT;
}
else if(lr > 0)
{
if(ud < 0) direction = MOVE_FORWARD_RIGHT;
else if(ud > 0) direction = MOVE_BACK_RIGHT;
else direction = MOVE_RIGHT;
}
else if(ud < 0) direction = MOVE_FORWARD;
else if(ud > 0) direction = MOVE_BACK;
return direction;
}
stock MoveCamera( playerid ) {
new Float:FV[ 3 ], Float:CP[ 3 ];
GetPlayerCameraPos( playerid, CP[ 0 ], CP[ 1 ], CP[ 2 ] );
GetPlayerCameraFrontVector( playerid, FV[ 0 ], FV[ 1 ], FV[ 2 ] );
if( flymodecamera[ playerid ][ accelmul ] <= 1 ) flymodecamera[ playerid ][ accelmul ] += ACCEL_RATE;
new Float:speed = MOVE_SPEED * flymodecamera[ playerid ][ accelmul ];
new Float:Xa, Float:Ya, Float:Za;
GetNextCameraPosition( flymodecamera[ playerid ][ mode ], CP, FV, Xa, Ya, Za );
MovePlayerObject( playerid, flymodecamera[ playerid ][ flyobject ], Xa, Ya, Za, speed );
flymodecamera[ playerid ][ lastmove ] = GetTickCount( );
return 1;
}
stock GetNextCameraPosition(move_mode, Float:CP[ 3 ], Float:FV[ 3 ], &Float:Xa, &Float:Ya, &Float:Za) {
#define OFFSET_X (FV*6000.0)
#define OFFSET_Y (FV*6000.0)
#define OFFSET_Z (FV*6000.0)
switch(move_mode)
{
case MOVE_FORWARD:
{
Xa = CP+OFFSET_X;
Ya = CP+OFFSET_Y;
Za = CP+OFFSET_Z;
}
case MOVE_BACK:
{
Xa = CP-OFFSET_X;
Ya = CP-OFFSET_Y;
Za = CP-OFFSET_Z;
}
case MOVE_LEFT:
{
Xa = CP-OFFSET_Y;
Ya = CP+OFFSET_X;
Za = CP;
}
case MOVE_RIGHT:
{
Xa = CP+OFFSET_Y;
Ya = CP-OFFSET_X;
Za = CP;
}
case MOVE_BACK_LEFT:
{
Xa = CP+(-OFFSET_X - OFFSET_Y);
Ya = CP+(-OFFSET_Y + OFFSET_X);
Za = CP-OFFSET_Z;
}
case MOVE_BACK_RIGHT:
{
Xa = CP+(-OFFSET_X + OFFSET_Y);
Ya = CP+(-OFFSET_Y - OFFSET_X);
Za = CP-OFFSET_Z;
}
case MOVE_FORWARD_LEFT:
{
Xa = CP+(OFFSET_X - OFFSET_Y);
Ya = CP+(OFFSET_Y + OFFSET_X);
Za = CP+OFFSET_Z;
}
case MOVE_FORWARD_RIGHT:
{
Xa = CP+(OFFSET_X + OFFSET_Y);
Ya = CP+(OFFSET_Y - OFFSET_X);
Za = CP+OFFSET_Z;
}
}
}
stock CancelFlyMode( playerid ) {
FlyMode[ playerid ] = false;
CancelEdit( playerid );
TogglePlayerSpectating( playerid, false);
DestroyPlayerObject( playerid, flymodecamera[ playerid ][ flyobject ] );
flymodecamera[ playerid ][ cameramode ] = false;
return 1;
}
forward FlyMode1( playerid );
public FlyMode1( playerid ) {
FlyModeAh( playerid );
}
stock FlyModeAh( playerid ) {
new Float:X, Float:Y, Float:Z;
GetPlayerPos( playerid, X, Y, Z );
TogglePlayerSpectating( playerid, true );
flymodecamera[ playerid ][ flyobject ] = CreatePlayerObject( playerid, 19300, X, Y, Z, 0.0, 0.0, 0.0 );
AttachCameraToPlayerObject( playerid, flymodecamera[ playerid ][ flyobject ] );
FlyMode[ playerid ] = true;
flymodecamera[ playerid ][ cameramode ] = true;
return 1;
}//za flymode if( flymodecamera[ playerid ][ cameramode ] == true ) {
new keys,ud,lr;
GetPlayerKeys(playerid,keys,ud,lr);
if(flymodecamera[ playerid ] && (GetTickCount() - flymodecamera[ playerid ][ lastmove ] > 100))
{
MoveCamera(playerid);
}
if(flymodecamera[ playerid ] != ud || flymodecamera[ playerid ] != lr)
{
if((flymodecamera[ playerid ] != 0 || flymodecamera[ playerid ] != 0) && ud == 0 && lr == 0){
StopPlayerObject(playerid, flymodecamera[ playerid ] );
flymodecamera[ playerid ] = 0;
flymodecamera[ playerid ] = 0.0;
}
else
{
flymodecamera[ playerid ] = GetMoveDirectionFromKeys(ud, lr);
MoveCamera(playerid);
}
}
flymodecamera[ playerid ] = ud; flymodecamera[ playerid ] = lr;
return 0;
}
return true;
}Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava