hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.06.16. 22:21



Jelenlévő felhasználók

Jelenleg 340 felhasználó van jelen :: 2 regisztrált, 0 rejtett és 338 vendég

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot], Google [Bot]az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása Hozzászólás a témához  [3 hozzászólás ] 
Szerző Üzenet
HozzászólásElküldve:2015.09.11. 08:22 
Offline
Újonc

Csatlakozott:2014.11.08. 21:26
Hozzászólások:10
Mint ahogy az a cimben is benne van azt a plugint keresem, amelyik mutassa, hogy melyik gombokat nyomja le az adott jatekos amit a spectatorok latnak :xicon_e_biggrin:

Elore is koszi szepen!! :D :D


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve:2015.09.11. 10:05 
Offline
Tiszteletbeli
Avatar

Csatlakozott:2014.09.08. 22:21
Hozzászólások:3014
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 555 alkalommal
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta>
  4. #include <colorchat>
  5. #include <cstrike>
  6.  
  7. #define PLUGIN "Spec Info"
  8. #define VERSION "1.0"
  9. #define AUTHOR "crash"
  10.  
  11. #pragma semicolon 1
  12.  
  13. #define RED 0
  14. #define GREEN 255
  15. #define BLUE 159
  16. #define UPDATEINTERVAL 1.0
  17.  
  18. #define FLAG ADMIN_IMMUNITY
  19.  
  20. new cvar_x;
  21. new cvar_y;
  22. new g_spectarget[33];
  23. new g_specmode[33];
  24. new bool:ShowkeysON[33];
  25.  
  26. new gMaxPlayers;
  27. new gCvarImmunity;
  28. new bool:gOnOff[33] = { true, ... };
  29.  
  30. public plugin_init() {
  31. register_plugin(PLUGIN, VERSION, AUTHOR);
  32.  
  33. register_forward(FM_PlayerPostThink, "fwd_playerpostthink");
  34.  
  35. register_event("TextMsg", "event_textmsg", "b", "2&#Spec_Mode");
  36. register_event("StatusValue", "event_statusvalue", "bd", "1=2");
  37. register_event("SpecHealth2", "event_spechealth2", "bd");
  38. register_event("ResetHUD", "event_resethud", "be");
  39.  
  40. cvar_x = register_cvar("keylistenhud_x", "-1.0");
  41. cvar_y = register_cvar("keylistenhud_y", "0.46");
  42.  
  43. gCvarImmunity = register_cvar("amx_speclist_immunity", "0", 0, 0.0);
  44.  
  45. register_clcmd("say /showkeys","cmdShowkeys", -1, "");
  46. register_clcmd("say_team /showkeys","cmdShowkeys", -1, "");
  47.  
  48. register_clcmd("say /speclist", "cmdSpecList", -1, "");
  49. register_clcmd("say_team /speclist", "cmdSpecList", -1, "");
  50.  
  51. gMaxPlayers = get_maxplayers();
  52.  
  53. set_task(UPDATEINTERVAL, "tskShowSpec", 123094, "", 0, "b", 0);
  54. }
  55.  
  56.  
  57. public cmdSpecList(id)
  58. {
  59. if( gOnOff[id] ){
  60. gOnOff[id] = false;
  61. ColorChat(id, GREEN, "^x01* You will no longer see who's spectating you");
  62. }
  63. else{
  64. gOnOff[id] = true;
  65. ColorChat(id, GREEN, "^x01* You will now see who's spectating you");
  66. }
  67. }
  68.  
  69. public tskShowSpec()
  70. {
  71. static szHud[1102];//32*33+45
  72. static szName[34];
  73. static bool:send;
  74.  
  75. for( new alive = 1; alive <= gMaxPlayers; alive++ )
  76. {
  77. new bool:sendTo[33];
  78. send = false;
  79.  
  80. if( !is_user_alive(alive) )
  81. {
  82. continue;
  83. }
  84.  
  85. sendTo[alive] = true;
  86.  
  87. get_user_name(alive, szName, 32);
  88. format(szHud, 45, "Spectating:^n");
  89.  
  90. for( new dead = 1; dead <= gMaxPlayers; dead++ )
  91. {
  92. if( is_user_connected(dead) )
  93. {
  94. if( is_user_alive(dead)
  95. || is_user_bot(dead) )
  96. {
  97. continue;
  98. }
  99.  
  100. if( pev(dead, pev_iuser2) == alive )
  101. {
  102. if( !(get_pcvar_num(gCvarImmunity)&&get_user_flags(dead, 0)&FLAG) )
  103. {
  104. get_user_name(dead, szName, 32);
  105. add(szName, 33, "^n", 0);
  106. add(szHud, 1101, szName, 0);
  107. send = true;
  108. }
  109.  
  110. sendTo[dead] = true;
  111.  
  112. }
  113. }
  114. }
  115.  
  116. if( send == true )
  117. {
  118. for( new i = 1; i <= gMaxPlayers; i++ )
  119. {
  120. if( sendTo[i] == true
  121. && gOnOff[i] == true )
  122. {
  123. set_hudmessage(RED, GREEN, BLUE,
  124. 0.75, 0.15, 0, 0.0, UPDATEINTERVAL + 0.1, 0.0, 0.0, -1);
  125.  
  126. show_hudmessage(i, szHud);
  127. }
  128. }
  129. }
  130. }
  131. return PLUGIN_CONTINUE;
  132. }
  133.  
  134. public client_connect(id) {
  135. reset(id);
  136. ShowkeysON[id] = false;
  137. gOnOff[id] = true;
  138. }
  139. public client_disconnect(id) {
  140. reset(id);
  141. ShowkeysON[id] = false;
  142. gOnOff[id] = true;
  143. }
  144. public event_resethud(id) {
  145. reset(id);
  146. }
  147.  
  148. public reset(id) {
  149. g_spectarget[id] = 0, g_specmode[id] = false;
  150. }
  151.  
  152. public cmdShowkeys(id) {
  153. if(!ShowkeysON[id]) {
  154. ShowkeysON[id] = true;
  155. ColorChat(id, GREEN, "^x01* Showkeys are now^x04 enabled");
  156. }
  157. else
  158. {
  159. ShowkeysON[id] = false;
  160. ColorChat(id, GREEN, "^x01* Showkeys are now^x04 disabled");
  161. }
  162. }
  163.  
  164. public event_textmsg(id) {
  165. static specmode[12];
  166. read_data(2, specmode, 11);
  167.  
  168. if(equal(specmode, "#Spec_Mode2") || equal(specmode, "#Spec_Mode4"))
  169. g_specmode[id] = true;
  170. else
  171. g_specmode[id] = false;
  172.  
  173. return PLUGIN_CONTINUE;
  174. }
  175.  
  176. public event_statusvalue(id) {
  177. if(is_user_connected(id) && !is_user_alive(id))
  178. set_spec_target(id, read_data(2));
  179. }
  180.  
  181. public event_spechealth2(id) {
  182. if(is_user_connected(id) && !is_user_alive(id))
  183. set_spec_target(id, read_data(2));
  184. }
  185.  
  186. public set_spec_target(index, target) {
  187. if(target > 0)
  188. g_spectarget[index] = target;
  189. }
  190.  
  191. public fwd_playerpostthink(id) {
  192. if(!is_user_alive(id) || g_specmode[id]) {
  193. new target = g_spectarget[id];
  194. if((target < 1) || !is_user_alive(target))
  195. return FMRES_IGNORED;
  196.  
  197. new button = pev(target, pev_button);
  198.  
  199. static key[6][6];
  200. formatex(key[0], 5, "%s", (button & IN_FORWARD) && !(button & IN_BACK) ? " W " : " ");
  201. formatex(key[1], 5, "%s", (button & IN_BACK) && !(button & IN_FORWARD) ? " S " : " ");
  202. formatex(key[2], 5, "%s", (button & IN_MOVELEFT) && !(button & IN_MOVERIGHT) ? "A" : " ");
  203. formatex(key[3], 5, "%s", (button & IN_MOVERIGHT) && !(button & IN_MOVELEFT) ? "D" : " ");
  204. formatex(key[4], 5, "%s", (button & IN_DUCK) ? " DUCK " : " ");
  205. formatex(key[5], 5, "%s", (button & IN_JUMP) ? " JUMP " : " ");
  206.  
  207. set_hudmessage(0, 255, 159, get_pcvar_float(cvar_x), get_pcvar_float(cvar_y), 0, _, 0.1, _, _, 1);
  208. show_hudmessage(id, "%s^n%s %s %s^n^n%s %s", key[0], key[2], key[1], key[3], key[4], key[5]);
  209. }
  210. else if(is_user_alive(id) && ShowkeysON[id]) {
  211. if((id < 1) || !is_user_alive(id))
  212. return FMRES_IGNORED;
  213.  
  214. new buttonkey = pev(id, pev_button);
  215.  
  216. static keybutton[6][6];
  217. formatex(keybutton[0], 5, "%s", (buttonkey & IN_FORWARD) && !(buttonkey & IN_BACK) ? " W " : " ");
  218. formatex(keybutton[1], 5, "%s", (buttonkey & IN_BACK) && !(buttonkey & IN_FORWARD) ? " S " : " ");
  219. formatex(keybutton[2], 5, "%s", (buttonkey & IN_MOVELEFT) && !(buttonkey & IN_MOVERIGHT) ? "A" : " ");
  220. formatex(keybutton[3], 5, "%s", (buttonkey & IN_MOVERIGHT) && !(buttonkey & IN_MOVELEFT) ? "D" : " ");
  221. formatex(keybutton[4], 5, "%s", (buttonkey & IN_DUCK) ? " DUCK " : " ");
  222. formatex(keybutton[5], 5, "%s", (buttonkey & IN_JUMP) ? " JUMP " : " ");
  223.  
  224. set_hudmessage(0, 255, 159, get_pcvar_float(cvar_x), get_pcvar_float(cvar_y), 0, _, 0.1, _, _, 1);
  225. show_hudmessage(id, "%s^n%s %s %s^n^n%s %s", keybutton[0], keybutton[2], keybutton[1], keybutton[3], keybutton[4], keybutton[5]);
  226. }
  227. return FMRES_IGNORED;
  228. }
  229.  

_________________
GitHub - mforce


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve:2015.09.11. 10:31 
Offline
Újonc

Csatlakozott:2014.11.08. 21:26
Hozzászólások:10
Köszi szépen mforce :D


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése: Rendezés 
Új téma nyitása Hozzászólás a témához  [3 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 12 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole