CMD:fly(playerid)
{
if(!IsAllowed(playerid, 2)) return NoAuth(playerid);
new Float:x, Float:y, Float:z;
if(Fly[playerid] == false)
{
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(playerid, x, y, z+5);
SetPlayerArmour(playerid, 1000000000.0);
SetPlayerHealth(playerid, 1000000000.0);
SetTimerEx("AdminFly", 100, 0, "d", playerid);
Fly[playerid] = true;
return 1;
}
else
{
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(playerid, x, y, z+0.5);
ClearAnimations(playerid);
SetPlayerArmour(playerid, 100.0);
SetPlayerHealth(playerid, 100.0);
Fly[playerid] = false;
return 1;
}
}
// Admin Fly
forward AdminFly(playerid);
public AdminFly(playerid)
{
if(!IsPlayerConnected(playerid))
return Fly[playerid] = false;
if(Fly[playerid])
{
if(!IsPlayerInAnyVehicle(playerid))
{
new
keys,
ud,
lr,
Float:x[2],
Float:y[2],
Float:z;
GetPlayerKeys(playerid, keys, ud, lr);
GetPlayerVelocity(playerid, x[0], y[0], z);
if(ud == KEY_UP)
{
GetPlayerCameraPos(playerid, x[0], y[0], z);
GetPlayerCameraFrontVector(playerid, x[1], y[1], z);
ApplyAnimation(playerid,"SWIM","SWIM_crawl",6.1,1,1,1,1,0,1);
SetPlayerToFacePos(playerid, x[0] + x[1], y[0] + y[1]);
SetPlayerVelocity(playerid, x[1], y[1], z);
}
else
SetPlayerVelocity(playerid, 0.0, 0.0, 0.01);
}
SetTimerEx("AdminFly", 100, 0, "d", playerid);
}
return 0;
}
#define IsAllowed(%1,%2) (PlayerInfo[%1][pAdmin] >= %2)
CMD:fly(playerid)
{
if(!IsAllowed(playerid, 2)) return NoAuth(playerid);
new Float:x, Float:y, Float:z;
if(Fly[playerid] == false)
{
Fly[playerid] = true;
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(playerid, x, y, z+5);
SetPlayerArmour(playerid, 1000000000.0);
SetPlayerHealth(playerid, 1000000000.0);
AdminFly(playerid);
}
else
{
Fly[playerid] = false;
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(playerid, x, y, z+0.5);
ClearAnimations(playerid);
SetPlayerArmour(playerid, 100.0);
SetPlayerHealth(playerid, 100.0);
}
return 1;
}
forward AdminFly(playerid);
public AdminFly(playerid)
{
if(Fly[playerid] == true)
{
if(!IsPlayerInAnyVehicle(playerid))
{
new
keys,
ud,
lr,
Float:x[2],
Float:y[2],
Float:z;
GetPlayerKeys(playerid, keys, ud, lr);
GetPlayerVelocity(playerid, x[0], y[0], z);
if(ud == KEY_UP)
{
GetPlayerCameraPos(playerid, x[0], y[0], z);
GetPlayerCameraFrontVector(playerid, x[1], y[1], z);
ApplyAnimation(playerid,"SWIM","SWIM_crawl",6.1,1,1,1,1,0,1);
SetPlayerToFacePos(playerid, x[0] + x[1], y[0] + y[1]);
SetPlayerVelocity(playerid, x[1], y[1], z);
}
else
SetPlayerVelocity(playerid, 0.0, 0.0, 0.01);
}
AdminFly(playerid);
}
return 0;
}
Try this;
PHP код:
|
Try this;
PHP код:
|
#include a_samp
#include zcmd
/*******************************Superman System********************************/
#define DontUSEOnPlayerUpdate false
new bool:flying[MAX_PLAYERS char];
#if DontUSEOnPlayerUpdate
new SuperManTimerID[MAX_PLAYERS];
forward public AdminFly(playerid);
#endif
/******************************************************************************/
Float:SetPlayerToFacePos(playerid, Float:X, Float:Y)
{
new
Float:pX1,
Float:pY1,
Float:pZ1,
Float:ang;
if(!IsPlayerConnected(playerid)) return 0.0;
GetPlayerPos(playerid, pX1, pY1, pZ1);
if( Y > pY1 ) ang = (-acos((X - pX1) / floatsqroot((X - pX1)*(X - pX1) + (Y - pY1)*(Y - pY1))) - 90.0);
else if( Y < pY1 && X < pX1 ) ang = (acos((X - pX1) / floatsqroot((X - pX1)*(X - pX1) + (Y - pY1)*(Y - pY1))) - 450.0);
else if( Y < pY1 ) ang = (acos((X - pX1) / floatsqroot((X - pX1)*(X - pX1) + (Y - pY1)*(Y - pY1))) - 90.0);
if(X > pX1) ang = (floatabs(floatabs(ang) + 180.0));
else ang = (floatabs(ang) - 180.0);
ang += 180.0;
SetPlayerFacingAngle(playerid, ang);
return ang;
}
public OnPlayerUpdate(playerid)
{
#if !DontUSEOnPlayerUpdate
if(flying{playerid})
{
if(!IsPlayerInAnyVehicle(playerid))
{
new
keys,
ud,
lr,
Float:x[2],
Float:y[2],
Float:z;
GetPlayerKeys(playerid, keys, ud, lr);
GetPlayerVelocity(playerid, x[0], y[0], z);
if(ud == KEY_UP)
{
GetPlayerCameraPos(playerid, x[0], y[0], z);
GetPlayerCameraFrontVector(playerid, x[1], y[1], z);
ApplyAnimation(playerid, "SWIM", "SWIM_crawl", 4.1, 0, 1, 1, 0, 0);
SetPlayerToFacePos(playerid, x[0] + x[1], y[0] + y[1]);
SetPlayerVelocity(playerid, x[1], y[1], z);
}
else
{
SetPlayerVelocity(playerid, 0.0, 0.0, 0.01);
}
}
}
#endif
return 1;
}
public OnPlayerConnect(playerid)
{
flying{playerid} = false;
#if DontUSEOnPlayerUpdate
SuperManTimerID[playerid] = 0;
#endif
}
public OnPlayerDisconnect(playerid,reason)
{
#if DontUSEOnPlayerUpdate
if(SuperManTimerID[playerid])
{
KillTimer(SuperManTimerID[playerid]);
SuperManTimerID[playerid] = 0;
}
#endif
}
#if DontUSEOnPlayerUpdate
public AdminFly(playerid)
{
if(!IsPlayerConnected(playerid))
return KillTimer(SuperManTimerID[playerid]);
if(flying{playerid})
{
if(!IsPlayerInAnyVehicle(playerid))
{
new
keys,
ud,
lr,
Float:x[2],
Float:y[2],
Float:z;
GetPlayerKeys(playerid, keys, ud, lr);
GetPlayerVelocity(playerid, x[0], y[0], z);
if(ud == KEY_UP)
{
GetPlayerCameraPos(playerid, x[0], y[0], z);
GetPlayerCameraFrontVector(playerid, x[1], y[1], z);
ApplyAnimation(playerid, "SWIM", "SWIM_crawl", 4.1, 0, 1, 1, 0, 0);
SetPlayerToFacePos(playerid, x[0] + x[1], y[0] + y[1]);
SetPlayerVelocity(playerid, x[1], y[1], z);
}
else
SetPlayerVelocity(playerid, 0.0, 0.0, 0.01);
}
}
return 1;
}
#endif
CMD:superman(playerid, params[])
{
if(!IsAllowed(playerid, 2))
{
new Float:x, Float:y, Float:z;
if(!flying{playerid})
{
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(playerid, x, y, z+5);
SetPlayerArmour(playerid, 1000000000.0);
SetPlayerHealth(playerid, 1000000000.0);
#if DontUSEOnPlayerUpdate
SuperManTimerID[playerid] = SetTimerEx("AdminFly", 100, true, "d", playerid);
#endif
flying{playerid} = true;
}
else
{
GetPlayerPos(playerid, x, y, z);
SetPlayerPos(playerid, x, y, z+0.5);
ClearAnimations(playerid);
SetPlayerArmour(playerid, 100.0);
SetPlayerHealth(playerid, 100.0);
flying{playerid} = false;
#if DontUSEOnPlayerUpdate
KillTimer(SuperManTimerID[playerid]);
SuperManTimerID[playerid] = 0;
#endif
return 1;
}
}
else
{
NoAuth(playerid);
}
return 1;
}
Yo nigga, calling a function as much as possible every milli-second causes in crash xp.
@NeXoR your code has nothing wrong, I have used this system before it was working perfect however I've optimized its codes so try the new system: PHP код:
|