Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Postado pela equipe Play Evolution SA-MP
- Creditos reservados ao criador: Psycho Faus
- Site: www.PlayEvolutionSamp.net
- ---------------------------------------------------------------------------------------------
- - Play EvolutioN ™ - Tudo que você quiser para seu servidor SA-MP! -
- ---------------------------------------------------------------------------------------------
- - ******** ** ******** ** ** -
- - ** ** ** ** ** ** ** -
- - ******* ** ******** * * -
- - ** ** ** ** *** -
- - ** ******** ** ** *** -
- ---------------------------------------------------------------------------------------------
- - ******** ** ** ******* ** ** ** ********* ** ******* ** *** -
- - ** ** ** ** ** ** ** ** * ** ** ** ** * ** -
- - ******* ** ** ** ** ** ** ** * ** ** ** ** * ** -
- - ** ** ** ** ** ** ** ** * ** ** ** ** * ** -
- - ******** **** ******* ******** ****** * ** ******* *** ** -
- ---------------------------------------------------------------------------------------------
- */
- #include <a_samp>
- #define SENSETIVE 0.42
- #define MP 100
- #define HOLDING(%0) \
- ((newkeys & (%0)) == (%0))
- new Text: ___[MP];
- new Text: __[MP];
- new Float:OH[MP];
- new Float:NH[MP];
- new Float:OP[MP];
- new Float:NP[MP];
- new timer[MP];
- //------------------------------------------------------------------------------------------------------
- public OnFilterScriptInit()
- {
- print("Sniper Privilege 0.3 by Faus aka Psycho loaded.");
- for(new i = 0; i < GetMaxPlayers(); i++)
- {
- if(IsPlayerConnected(i))
- {
- __[i] = TextDrawCreate(340,355,"-");
- TextDrawAlignment(__[i],0);
- TextDrawBackgroundColor(__[i],0x000000ff);
- TextDrawFont(__[i],2);
- TextDrawLetterSize(__[i],0.3,1.100000);
- TextDrawColor(__[i],0xffffffff);
- TextDrawSetOutline(__[i],1);
- TextDrawSetProportional(__[i],1);
- TextDrawSetShadow(__[i],1);
- ___[i] = TextDrawCreate(330,205,"-");
- TextDrawAlignment(___[i],0);
- TextDrawBackgroundColor(___[i],0x000000ff);
- TextDrawFont(___[i],2);
- TextDrawLetterSize(___[i],0.2,0.85);
- TextDrawColor(___[i],0xffffffff);
- TextDrawSetOutline(___[i],1);
- TextDrawSetProportional(___[i],1);
- TextDrawSetShadow(___[i],1);
- }
- }
- return 1;
- }
- //------------------------------------------------------------------------------------------------------
- public OnFilterScriptExit()
- {
- print("Sniper Privilege 0.3 by Faus aka Psycho unloaded.");
- for(new i = 0; i < GetMaxPlayers(); i++)
- {
- if(IsPlayerConnected(i))
- {
- TextDrawHideForPlayer(i,__[i]);
- TextDrawDestroy(__[i]);
- TextDrawHideForPlayer(i,___[i]);
- TextDrawDestroy(___[i]);
- KillTimer(timer[i]);
- }
- }
- return 1;
- }
- //------------------------------------------------------------------------------------------------------
- public OnPlayerConnect(playerid)
- {
- __[playerid] = TextDrawCreate(340,355,"-");
- TextDrawAlignment(__[playerid],0);
- TextDrawBackgroundColor(__[playerid],0x000000ff);
- TextDrawFont(__[playerid],2);
- TextDrawLetterSize(__[playerid],0.3,1.100000);
- TextDrawColor(__[playerid],0xffffffff);
- TextDrawSetOutline(__[playerid],1);
- TextDrawSetProportional(__[playerid],1);
- TextDrawSetShadow(__[playerid],1);
- ___[playerid] = TextDrawCreate(330,205,"-");
- TextDrawAlignment(___[playerid],0);
- TextDrawBackgroundColor(___[playerid],0x000000ff);
- TextDrawFont(___[playerid],2);
- TextDrawLetterSize(___[playerid],0.2,0.85);
- TextDrawColor(___[playerid],0xffffffff);
- TextDrawSetOutline(___[playerid],1);
- TextDrawSetProportional(___[playerid],1);
- TextDrawSetShadow(___[playerid],1);
- return 1;
- }
- //------------------------------------------------------------------------------------------------------
- public OnPlayerDisconnect(playerid,reason)
- {
- TextDrawHideForPlayer(playerid,__[playerid]);
- TextDrawDestroy(__[playerid]);
- TextDrawHideForPlayer(playerid,___[playerid]);
- TextDrawDestroy(___[playerid]);
- KillTimer(timer[playerid]);
- return 1;
- }
- //------------------------------------------------------------------------------------------------------
- public OnPlayerUpdate(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- GetPlayerHealth(playerid, NH[playerid]);
- if(NH[playerid] != OH[playerid])
- {
- OnPlayerHealthChange(playerid, NH[playerid], OH[playerid]);
- OH[playerid] = NH[playerid];
- }
- GetPlayerArmour(playerid, NP[playerid]);
- if(NP[playerid] != OP[playerid]){
- OnPlayerArmourChange(playerid, NP[playerid], OP[playerid]);
- OP[playerid] = NP[playerid];
- }
- }
- return 1;
- }
- //------------------------------------------------------------------------------------------------------
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- new string[256];
- new Float: HP, Float:AP;
- if (HOLDING(128))
- {
- new Float:x,Float:y,Float:z;
- for(new i = 0; i < GetMaxPlayers(); i++)
- {
- if(IsPlayerConnected(i) && IsPlayerAiming(playerid,i) && GetPlayerWeapon(playerid) == 34 && i != playerid)
- {
- GetPlayerPos(i,x,y,z);
- GetPlayerHealth(i,HP);
- GetPlayerArmour(i,AP);
- format(string,256,"~g~%s Distancia: %~r~%d m.~n~~g~Ping: ~r~%dms ~g~HP: ~r~%d.0 ~g~AP: ~r~%d.0 ~g~AMSL: ~r~%d m.~n~~g~Arma: ~r~%s(%d) ~g~Aiming: ~r~%s",BadSymbols(GetName(i)),floatround(GetDistanceBetweenPlayers(i,playerid)),GetPlayerPing(i),floatround(HP),floatround(AP),floatround(z),ReturnWeaponName(GetPlayerWeapon(i)),GetPlayerAmmo(i),IsPlayerAimingNew(i,playerid));
- TextDrawSetString(__[playerid],string);
- TextDrawShowForPlayer(playerid,__[playerid]);
- NormalPlaySound(i,1056);
- break;
- }
- }
- }
- if(!HOLDING(128))
- {
- TextDrawHideForPlayer(playerid,__[playerid]);
- }
- return 1;
- }
- //------------------------------------------------------------------------------------------------------
- forward OnPlayerHealthChange(playerid, Float:newhealth, Float:oldhealth);
- public OnPlayerHealthChange(playerid, Float:newhealth, Float:oldhealth)
- {
- new string[128];
- if(oldhealth > newhealth)
- {
- new Float:minus = oldhealth - newhealth;
- for(new i = 0; i < GetMaxPlayers(); i++)
- {
- if(IsPlayerConnected(i) && IsPlayerAiming(i,playerid) && GetDistanceBetweenPlayers(i,playerid) < 350 && i != playerid)
- {
- format(string,128,"~g~%s(%d) ~p~(%s) ~r~-%dhp",BadSymbols(GetName(i)),i,ReturnWeaponName(GetPlayerWeapon(i)),floatround(minus));
- TextDrawSetString(___[playerid],string);
- TextDrawShowForPlayer(playerid,___[playerid]);
- format(string,128,"~g~%s(%d) ~p~(%s) ~r~-%dhp",BadSymbols(GetName(playerid)),playerid,ReturnWeaponName(GetPlayerWeapon(playerid)),floatround(minus));
- TextDrawSetString(___[i],string);
- TextDrawShowForPlayer(i,___[i]);
- KillTimer(timer[playerid]);
- timer[playerid] = SetTimerEx("HideDamageTextDraw", 2500, 0, "d", playerid);
- KillTimer(timer[i]);
- timer[playerid] = SetTimerEx("HideDamageTextDraw", 2500, 0, "d", i);
- NormalPlaySound(i,1056);
- break;
- }
- }
- }
- return 1;
- }
- //-----------------------------------------------------------------------------------------------------
- forward OnPlayerArmourChange(playerid, Float:newarmour, Float:oldarmour);
- public OnPlayerArmourChange(playerid, Float:newarmour, Float:oldarmour)
- {
- new string[128];
- if(oldarmour > newarmour)
- {
- new Float:minus = oldarmour - newarmour;
- for(new i = 0; i < GetMaxPlayers(); i++)
- {
- if(IsPlayerConnected(i) && IsPlayerAiming(i,playerid) && GetDistanceBetweenPlayers(i,playerid) < 350 && i != playerid)
- {
- format(string,128,"~g~%s(%d) ~p~(%s) ~r~-%dap",BadSymbols(GetName(i)),i,ReturnWeaponName(GetPlayerWeapon(i)),floatround(minus));
- TextDrawSetString(___[playerid],string);
- TextDrawShowForPlayer(playerid,___[playerid]);
- format(string,128,"~g~%s(%d) ~p~(%s) ~r~-%dap",BadSymbols(GetName(playerid)),playerid,ReturnWeaponName(GetPlayerWeapon(playerid)),floatround(minus));
- TextDrawSetString(___[i],string);
- TextDrawShowForPlayer(i,___[i]);
- KillTimer(timer[playerid]);
- timer[playerid] = SetTimerEx("HideDamageTextDraw", 2500, 0, "d", playerid);
- KillTimer(timer[i]);
- timer[playerid] = SetTimerEx("HideDamageTextDraw", 2500, 0, "d", i);
- break;
- }
- }
- }
- return 1;
- }
- //------------------------------------------------------------------------------------------------------
- stock ReturnWeaponName(weaponid)
- {
- new weaponname[32];
- GetWeaponName(weaponid,weaponname,32);
- return weaponname;
- }
- //------------------------------------------------------------------------------------------------------
- stock BadSymbols(string[])
- {
- new result[256];
- for (new i; i < strlen(string); i++)
- {
- switch(string[i]) {
- case '[':result[i] = '(';
- case ']':result[i] = ')';
- default:result[i]=string[i];
- }
- }
- return result;
- }
- //------------------------------------------------------------------------------------------------------
- stock GetName(playerid){
- new Name[256];
- GetPlayerName(playerid,Name,MAX_PLAYER_NAME);
- return Name;
- }
- //------------------------------------------------------------------------------------------------------
- stock IsPlayerAiming(playerid, aimid)
- {
- new Float:X1, Float:Y1, Float:Z1, Float:X2, Float:Y2, Float:Z2;
- GetPlayerPos(playerid, X1, Y1, Z1);
- GetPlayerPos(aimid, X2, Y2, Z2);
- new Float:Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2));
- if(Distance < 350){
- new Float:A;
- GetPlayerFacingAngle(playerid, A);
- X1 += (Distance * floatsin(-A, degrees));
- Y1 += (Distance * floatcos(-A, degrees));
- Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2));
- if(Distance < SENSETIVE){
- return true;
- }
- }
- return false;
- }
- //------------------------------------------------------------------------------------------------------
- stock IsPlayerAimingNew(playerid, aimid)
- {
- new Float:X1, Float:Y1, Float:Z1, Float:X2, Float:Y2, Float:Z2;
- new string[32];
- GetPlayerPos(playerid, X1, Y1, Z1);
- GetPlayerPos(aimid, X2, Y2, Z2);
- new Float:Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2));
- if(Distance < 350 && GetPlayerWeapon(aimid) != 0){
- new Float:A;
- GetPlayerFacingAngle(playerid, A);
- X1 += (Distance * floatsin(-A, degrees));
- Y1 += (Distance * floatcos(-A, degrees));
- Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2));
- if(Distance < SENSETIVE){
- format(string,32,"Yes");
- return string;
- }
- }
- format(string,32,"No");
- return string;
- }
- //------------------------------------------------------------------------------------------------------
- stock IsPlayerAimingNew2(playerid, aimid)
- {
- new Float:X1, Float:Y1, Float:Z1, Float:X2, Float:Y2, Float:Z2;
- GetPlayerPos(playerid, X1, Y1, Z1);
- GetPlayerPos(aimid, X2, Y2, Z2);
- new Float:Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2));
- if(Distance < 350){
- new Float:A;
- GetPlayerFacingAngle(playerid, A);
- X1 += (Distance * floatsin(-A, degrees));
- Y1 += (Distance * floatcos(-A, degrees));
- Distance = floatsqroot(floatpower(floatabs(X1-X2), 2) + floatpower(floatabs(Y1-Y2), 2));
- if(Distance < 1.5){
- return true;
- }
- }
- return false;
- }
- //------------------------------------------------------------------------------------------------------
- forward Float:GetDistanceBetweenPlayers(p1,p2);
- stock Float:GetDistanceBetweenPlayers(p1,p2)
- {
- new Float:x11,Float:y11,Float:z11,Float:x3,Float:y3,Float:z3;
- if (!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
- {
- return -1.00;
- }
- GetPlayerPos(p1,x11,y11,z11);
- GetPlayerPos(p2,x3,y3,z3);
- return floatsqroot(floatpower(floatabs(floatsub(x3,x11)),2)+floatpower(floatabs(floatsub(y3,y11)),2)+floatpower(floatabs(floatsub(z3,z11)),2));
- }
- //------------------------------------------------------------------------------------------------------
- forward HideDamageTextDraw(playerid);
- public HideDamageTextDraw(playerid)
- {
- TextDrawHideForPlayer(playerid,___[playerid]);
- return 1;
- }
- //------------------------------------------------------------------------------------------------------
- forward NormalPlaySound(playerid,sid);
- public NormalPlaySound(playerid,sid)
- {
- new Float:x,Float:y,Float:z;
- GetPlayerPos(playerid,x,y,z);
- PlayerPlaySound(playerid,sid,x,y,z);
- return 1;
- }
- //------------------------------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement