←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Modyfikacja
Przeróbka pluginu

Zablokowany

  • +
  • -
pLeTeR - zdjęcie pLeTeR 16.01.2010

Prosił bym o przerobienie tego pluginu

Żeby nie tylko TT mogli go używać ale i też CT

http://amxx.pl/post-...ornetkasma.html
Odpowiedz

  • +
  • -
Portek - zdjęcie Portek 16.01.2010

#include <amxmodx>

#include <amxmisc>

#include <fakemeta>

#include <cstrike>



#define PLUGIN "+lornetka"

#define VERSION "1.1"

#define AUTHOR "R3X"



#define STD_FOV 90



new gcvarMaxZoom,gcvarMinZoom;

new gcvarDistance;

new gmsgFOV, gmsgScreenFade;



new giFOV[33];

new bool:useNow[33];



new gHUD;



public plugin_init() {

 register_plugin(PLUGIN, VERSION, AUTHOR);

 

 gcvarMaxZoom=register_cvar("lornetka_maxzoom","1");

 gcvarMinZoom=register_cvar("lornetka_minzoom","30");

 gcvarDistance=register_cvar("lornetka_distance", "1");//0-nic, 1-unity, 2-metry

 

 gmsgFOV=get_user_msgid("SetFOV");

 gmsgScreenFade = get_user_msgid("ScreenFade");

 

 gHUD = CreateHudSyncObj();

 

 register_clcmd("+lornetka","cmdPLornetka");

 register_clcmd("-lornetka", "cmdMLornetka");

 

 register_forward(FM_TraceLine, "fwTraceLine");

 register_forward(FM_CmdStart, "fwCmdStart");

}

public client_connect(id){

 useNow[id] = false;

 giFOV[id] = STD_FOV;

}



// Author: B. Josh Becker

// Effects.inl

//Quote

stock Create_ScreenFade(id, duration, holdtime, fadetype, red, green, blue, alpha){



 message_begin( MSG_ONE,gmsgScreenFade,{0,0,0},id ) 		 

 write_short( duration ) 		 // fade lasts this long duration

 write_short( holdtime ) 		 // fade lasts this long hold time

 write_short( fadetype ) 		 // fade type (in / out)

 write_byte( red ) 			 // fade red

 write_byte( green ) 			 // fade green

 write_byte( blue ) 			 // fade blue

 write_byte( alpha ) 			 // fade alpha

 message_end()

}

//EndOfQuote



stock setFOV(id, fov = STD_FOV){

 message_begin(MSG_ONE, gmsgFOV, _, id);

 write_byte(fov);

 message_end();

}

public cmdPLornetka(id){

 if(!is_user_alive(id)){

 	 client_print(id, print_center, "Jestes martwy!");

 	 return PLUGIN_HANDLED;

 }

 new iZoom = get_pcvar_num(gcvarMinZoom);

 setFOV(id, iZoom);

 useNow[id] = true;

 giFOV[id] = iZoom;

 

 Create_ScreenFade(id, 0, 0, 4, 0, 0, 0, 90);

 return PLUGIN_HANDLED;

}

public cmdMLornetka(id){

 ClearSyncHud(id, gHUD);

 setFOV(id);

 useNow[id] = false;

 giFOV[id] = STD_FOV;

 

 Create_ScreenFade(id, 0, 0, 4, 200, 0, 0, 0);

 return PLUGIN_HANDLED;

}



public fwTraceLine(Float:start[3], Float:end[3], conditions, id, tr_handle){

 if(!is_user_alive(id)){

 	 if(is_user_connected(id) && useNow[id])

 		 cmdMLornetka(id);

 	 return FMRES_IGNORED;

 }

 if(!useNow[id])

 	 return FMRES_IGNORED;

 new iDist = get_pcvar_num(gcvarDistance);

 if(!iDist)

 	 return FMRES_IGNORED;

 new Float:fOrigin[3], Float:endPos[3];

 pev(id, pev_origin, fOrigin);

 get_tr2(tr_handle, TR_vecEndPos, endPos);

 

 new Float:fDistance = get_distance_f(fOrigin, endPos);

 

 new szUnites[15];

 if(iDist == 1){

 	 copy(szUnites, 14, " jednostek");

 }else{

 	 copy(szUnites, 14, "m");

 	 fDistance/=60;

 }

 set_hudmessage(200, 0, 0, -1.0, 0.61, 0,0.0,1.0);

 ShowSyncHudMsg(id,gHUD, "Dystans: %.2f%s^n^nLewy - Przybliz^nPrawy - Oddal", fDistance, szUnites);

 

 return FMRES_IGNORED;

}

public fwCmdStart(id, uc_handle, seed){

 if(!is_user_alive(id) || !useNow[id])

 	 return FMRES_IGNORED;

 new iButtons = get_uc(uc_handle, UC_Buttons);

 if(iButtons&IN_ATTACK){

 	 zoom_in(id);

 	 set_uc(uc_handle, UC_Buttons, iButtons&(~IN_ATTACK));

 	 set_pev(id, pev_weaponanim, 0);

 	 return FMRES_SUPERCEDE;

 }

 if(iButtons&IN_ATTACK2){

 	 zoom_out(id);

 	 set_uc(uc_handle, UC_Buttons, iButtons&(~IN_ATTACK2));

 	 return FMRES_SUPERCEDE;

 }

 return FMRES_IGNORED;

}

zoom_out(id){

 new iMin = get_pcvar_num(gcvarMinZoom);

 if(giFOV[id] < iMin){

 	 giFOV[id] = min(giFOV[id]+1, iMin);

 	 setFOV(id, giFOV[id]);

 }

}

zoom_in(id){

 new iMax = get_pcvar_num(gcvarMaxZoom);

 if(giFOV[id] > iMax){

 	 giFOV[id] = max(giFOV[id]-1, iMax);

 	 setFOV(id, giFOV[id]);

 }

}
Odpowiedz

  • +
  • -
pLeTeR - zdjęcie pLeTeR 17.01.2010

dzięki
Odpowiedz
Zablokowany