public OnPlayerUpdate(playerid) { AntiDeAMX(); // Anti Player Crasher by bartekdvd if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { new Float:vec[3]; GetPlayerCameraFrontVector(playerid, vec[0], vec[1], vec[2]); new bool:possible_crasher = false; for(new i = 0; !possible_crasher && i < sizeof(vec); i++) if(floatabs(vec[i]) > 10.0) possible_crasher = true; if(possible_crasher) return 0; // да не изпраща фалшиви данни, които ще предотвратят краш } if (GetPVarInt(playerid, "laser")) { RemovePlayerAttachedObject(playerid, 0); if ((IsPlayerInAnyVehicle(playerid)) || (IsPlayerInWater(playerid))) return 1; switch (GetPlayerWeapon(playerid)) { case 23: { if (IsPlayerAiming(playerid)) { if (GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK) { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // SP standing aiming 0.108249, 0.030232, 0.118051, 1.468254, 350.512573, 364.284240); } else { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // SP crouched aiming 0.108249, 0.030232, 0.118051, 1.468254, 349.862579, 364.784240); } } else { if (GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK) { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // SP standing not aiming 0.078248, 0.027239, 0.113051, -11.131746, 350.602722, 362.384216); } else { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // SP crouched not aiming 0.078248, 0.027239, 0.113051, -11.131746, 350.602722, 362.384216); } } } case 27: { if (IsPlayerAiming(playerid)) { if (GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK) { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // SPAS standing aiming 0.588246, -0.022766, 0.138052, -11.531745, 347.712585, 352.784271); } else { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // SPAS crouched aiming 0.588246, -0.022766, 0.138052, 1.468254, 350.712585, 352.784271); } } else { if (GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK) { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // SPAS standing not aiming 0.563249, -0.01976, 0.134051, -11.131746, 351.602722, 351.384216); } else { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // SPAS crouched not aiming 0.563249, -0.01976, 0.134051, -11.131746, 351.602722, 351.384216); } } } case 30: { if (IsPlayerAiming(playerid)) { if (GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK) { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // AK standing aiming 0.628249, -0.027766, 0.078052, -6.621746, 352.552642, 355.084289); } else { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // AK crouched aiming 0.628249, -0.027766, 0.078052, -1.621746, 356.202667, 355.084289); } } else { if (GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK) { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // AK standing not aiming 0.663249, -0.02976, 0.080051, -11.131746, 358.302734, 353.384216); } else { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // AK crouched not aiming 0.663249, -0.02976, 0.080051, -11.131746, 358.302734, 353.384216); } } } case 31: { if (IsPlayerAiming(playerid)) { if (GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK) { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // M4 standing aiming 0.528249, -0.020266, 0.068052, -6.621746, 352.552642, 355.084289); } else { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // M4 crouched aiming 0.528249, -0.020266, 0.068052, -1.621746, 356.202667, 355.084289); } } else { if (GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK) { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // M4 standing not aiming 0.503249, -0.02376, 0.065051, -11.131746, 357.302734, 354.484222); } else { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // M4 crouched not aiming 0.503249, -0.02376, 0.065051, -11.131746, 357.302734, 354.484222); } } } case 34: { if (IsPlayerAiming(playerid)) { /*if (GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK) { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // Sniper standing aiming 0.528249, -0.020266, 0.068052, -6.621746, 352.552642, 355.084289); } else { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // Sniper crouched aiming 0.528249, -0.020266, 0.068052, -1.621746, 356.202667, 355.084289); }*/ return 1; } else { if (GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK) { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // Sniper standing not aiming 0.658248, -0.03276, 0.133051, -11.631746, 355.302673, 353.584259); } else { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // Sniper crouched not aiming 0.658248, -0.03276, 0.133051, -11.631746, 355.302673, 353.584259); } } } case 29: { if (IsPlayerAiming(playerid)) { if (GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK) { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // MP5 standing aiming 0.298249, -0.02776, 0.158052, -11.631746, 359.302673, 357.584259); } else { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // MP5 crouched aiming 0.298249, -0.02776, 0.158052, 8.368253, 358.302673, 352.584259); } } else { if (GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK) { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // MP5 standing not aiming 0.293249, -0.027759, 0.195051, -12.131746, 354.302734, 352.484222); } else { SetPlayerAttachedObject(playerid, 0, GetPVarInt(playerid, "color"), 6, // MP5 crouched not aiming 0.293249, -0.027759, 0.195051, -12.131746, 354.302734, 352.484222); } } } } } if(GetPlayerWantedLevel(playerid)>5) { new vR = random(sizeof(Vrand)); SetPlayerPos(playerid, Vrand[vR][0], Vrand[vR][1], Vrand[vR][2]); return 1; } new string[128], pname[24]; GetPlayerName(playerid, pname, sizeof(pname)); if(GetPlayerPing(playerid) >= 300) { format(string, sizeof(string), "SERVER: %s беше кикнат от сървъра. [Причина: Висок пинг!]", pname); SendClientMessageToAll(COLOR_RED, string); Kick(playerid); } return 1; }
I see a lot of stuff in there that needs optimisation, but nothing that would cause massive lags.
|
public OnPlayerUpdate(playerid)
{
static oldCameraMode[MAX_PLAYERS]; // important that this be static because value needs to be retained
new newCameraMode = GetPlayerCameraMode(playerid);
if(oldCameraMode[playerid] != newCameraMode)
{
OnPlayerCameraModeChange(playerid, newCameraMode, oldCameraMode);
return 1;
}
return 1;
}
OnPlayerCameraModeChange(playerid, newmode, oldmode);
{
if(newmode == 53) // aiming weapon (excluding sniper/rpg)
{
// player started aiming, do stuff
}
if(oldmode == 53)
{
// player stopped aiming, do stuff
}
return;
}