hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.06.04. 08:44



Jelenlévő felhasználók

Jelenleg 195 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 194 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: 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  [ 6 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: ejtőernyő
HozzászólásElküldve: 2013.06.05. 18:38 
Offline
Jómunkásember
Avatar

Csatlakozott: 2012.12.24. 13:27
Hozzászólások: 447
Megköszönt másnak: 20 alkalommal
Megköszönték neki: 14 alkalommal
Sziasztok ebbe valaki bele irná hogy ingyen KAPJON MINDENK MIKOR EL KEZDÖDIK A KÖR? :D

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4. #include <cstrike>
  5. #include <fun>
  6.  
  7. new bool:has_parachute[33]
  8. new para_ent[33]
  9. new gCStrike = 0
  10. new pDetach, pFallSpeed, pEnabled, pCost, pPayback
  11.  
  12. #define PARACHUTE_LEVEL ADMIN_LEVEL_A
  13.  
  14. public plugin_init()
  15. {
  16. register_plugin("Parachute", "1.3", "KRoT@L/JTP10181")
  17. pEnabled = register_cvar("sv_parachute", "1" )
  18. pFallSpeed = register_cvar("parachute_fallspeed", "100")
  19. pDetach = register_cvar("parachute_detach", "1")
  20.  
  21. if (cstrike_running()) gCStrike = true
  22.  
  23. if (gCStrike) {
  24.  
  25. pCost = register_cvar("parachute_cost", "0")
  26. pPayback = register_cvar("parachute_payback", "75")
  27.  
  28. register_concmd("amx_parachute", "admin_give_parachute", PARACHUTE_LEVEL, "<nick, #userid or @team>" )
  29. }
  30.  
  31. register_clcmd("say", "HandleSay")
  32. register_clcmd("say_team", "HandleSay")
  33.  
  34. register_event("ResetHUD", "newSpawn", "be")
  35. register_event("DeathMsg", "death_event", "a")
  36.  
  37. //Setup jtp10181 CVAR
  38. new cvarString[256], shortName[16]
  39. copy(shortName,15,"chute")
  40.  
  41. register_cvar("jtp10181","",FCVAR_SERVER|FCVAR_SPONLY)
  42. get_cvar_string("jtp10181",cvarString,255)
  43.  
  44. if (strlen(cvarString) == 0) {
  45. formatex(cvarString,255,shortName)
  46. set_cvar_string("jtp10181",cvarString)
  47. }
  48. else if (contain(cvarString,shortName) == -1) {
  49. format(cvarString,255,"%s,%s",cvarString, shortName)
  50. set_cvar_string("jtp10181",cvarString)
  51. }
  52. }
  53.  
  54. public plugin_natives()
  55. {
  56. set_module_filter("module_filter")
  57. set_native_filter("native_filter")
  58. }
  59.  
  60. public module_filter(const module[])
  61. {
  62. if (!cstrike_running() && equali(module, "cstrike")) {
  63. return PLUGIN_HANDLED
  64. }
  65.  
  66. return PLUGIN_CONTINUE
  67. }
  68.  
  69. public native_filter(const name[], index, trap)
  70. {
  71. if (!trap) return PLUGIN_HANDLED
  72.  
  73. return PLUGIN_CONTINUE
  74. }
  75.  
  76. public plugin_precache()
  77. {
  78. precache_model("models/krilo2.mdl")
  79. }
  80.  
  81. public client_connect(id)
  82. {
  83. parachute_reset(id)
  84. }
  85.  
  86. public client_disconnect(id)
  87. {
  88. parachute_reset(id)
  89. }
  90.  
  91. public death_event()
  92. {
  93. new id = read_data(2)
  94. parachute_reset(id)
  95. }
  96.  
  97. parachute_reset(id)
  98. {
  99. if(para_ent[id] > 0) {
  100. if (is_valid_ent(para_ent[id])) {
  101. remove_entity(para_ent[id])
  102. }
  103. if (id < 1 || id >32) return
  104. }
  105.  
  106. if (is_user_alive(id)) set_user_gravity(id, 1.0)
  107.  
  108. has_parachute[id] = false
  109. para_ent[id] = 0
  110. }
  111.  
  112. public newSpawn(id)
  113. {
  114. if(para_ent[id] > 0) {
  115. remove_entity(para_ent[id])
  116. set_user_gravity(id, 1.0)
  117. para_ent[id] = 0
  118. }
  119.  
  120. if (!gCStrike || access(id,PARACHUTE_LEVEL) || get_pcvar_num(pCost) <= 0) {
  121. has_parachute[id] = true
  122. //set_view(id, CAMERA_3RDPERSON)
  123. }
  124. }
  125.  
  126. public HandleSay(id)
  127. {
  128. if(!is_user_connected(id)) return PLUGIN_CONTINUE
  129.  
  130. new args[128]
  131. read_args(args, 127)
  132. remove_quotes(args)
  133.  
  134. if (gCStrike) {
  135. if (equali(args, "buy_parachute")) {
  136. buy_parachute(id)
  137. return PLUGIN_HANDLED
  138. }
  139. else if (equali(args, "sell_parachute")) {
  140. sell_parachute(id)
  141. return PLUGIN_HANDLED
  142. }
  143. else if (containi(args, "give_parachute") == 0) {
  144. give_parachute(id,args[15])
  145. return PLUGIN_HANDLED
  146. }
  147. }
  148.  
  149. if (containi(args, "parachute") != -1) {
  150. if (gCStrike) client_print(id, print_chat, "[AMXX] Parachute commands: buy_parachute, sell_parachute, give_parachute")
  151. client_print(id, print_chat, "[AMXX] To use your parachute press and hold your +use button while falling")
  152. }
  153.  
  154. return PLUGIN_CONTINUE
  155. }
  156.  
  157. public buy_parachute(id)
  158. {
  159. if (!gCStrike) return PLUGIN_CONTINUE
  160. if (!is_user_connected(id)) return PLUGIN_CONTINUE
  161.  
  162. if (!get_pcvar_num(pEnabled)) {
  163. client_print(id, print_chat, "[AMXX] Parachute plugin is disabled")
  164. return PLUGIN_HANDLED
  165. }
  166.  
  167. if (has_parachute[id]) {
  168. client_print(id, print_chat, "[AMXX] You already have a parachute")
  169. return PLUGIN_HANDLED
  170. }
  171.  
  172. new money = cs_get_user_money(id)
  173. new cost = get_pcvar_num(pCost)
  174.  
  175. if (money < cost) {
  176. client_print(id, print_chat, "[AMXX] You don't have enough moneyfor a parachute - Costs $%i", cost)
  177. return PLUGIN_HANDLED
  178. }
  179.  
  180. cs_set_user_money(id, money - cost)
  181. client_print(id, print_chat, "[AMXX] You have bought a parachute. To use it, press +use while falling.")
  182. has_parachute[id] = true
  183.  
  184. return PLUGIN_HANDLED
  185. }
  186.  
  187. public sell_parachute(id)
  188. {
  189. if (!gCStrike) return PLUGIN_CONTINUE
  190. if (!is_user_connected(id)) return PLUGIN_CONTINUE
  191.  
  192. if (!get_pcvar_num(pEnabled)) {
  193. client_print(id, print_chat, "[AMXX] Parachute plugin is disabled")
  194. return PLUGIN_HANDLED
  195. }
  196.  
  197. if (!has_parachute[id]) {
  198. client_print(id, print_chat, "[AMXX] You don't have a parachute to sell")
  199. return PLUGIN_HANDLED
  200. }
  201.  
  202. if (access(id,PARACHUTE_LEVEL)) {
  203. client_print(id, print_chat, "[AMXX] You cannot sell your free admin parachute")
  204. return PLUGIN_HANDLED
  205. }
  206.  
  207. parachute_reset(id)
  208.  
  209. new money = cs_get_user_money(id)
  210. new cost = get_pcvar_num(pCost)
  211.  
  212. new sellamt = floatround(cost * (get_pcvar_num(pPayback) / 100.0))
  213. cs_set_user_money(id, money + sellamt)
  214.  
  215. client_print(id, print_chat, "[AMX] You have sold your used parachute for $%d", sellamt)
  216.  
  217. return PLUGIN_CONTINUE
  218. }
  219.  
  220. public give_parachute(id,args[])
  221. {
  222. if (!gCStrike) return PLUGIN_CONTINUE
  223. if (!is_user_connected(id)) return PLUGIN_CONTINUE
  224.  
  225. if (!get_pcvar_num(pEnabled)) {
  226. client_print(id, print_chat, "[AMXX] Parachute plugin is disabled")
  227. return PLUGIN_HANDLED
  228. }
  229.  
  230. if (!has_parachute[id]) {
  231. client_print(id, print_chat, "[AMXX] You don't have a parachute to give")
  232. return PLUGIN_HANDLED
  233. }
  234.  
  235. new player = cmd_target(id, args, 4)
  236. if (!player) return PLUGIN_HANDLED
  237.  
  238. new id_name[32], pl_name[32]
  239. get_user_name(id, id_name, 31)
  240. get_user_name(player, pl_name, 31)
  241.  
  242. if(has_parachute[player]) {
  243. client_print(id, print_chat, "[AMXX] %s already has a parachute.", pl_name)
  244. return PLUGIN_HANDLED
  245. }
  246.  
  247. parachute_reset(id)
  248. has_parachute[player] = true
  249.  
  250. client_print(id, print_chat, "[AMXX] You have given your parachute to %s.", pl_name)
  251. client_print(player, print_chat, "[AMXX] %s has given thier parachute to you.", id_name)
  252.  
  253. return PLUGIN_HANDLED
  254. }
  255.  
  256. public admin_give_parachute(id, level, cid) {
  257.  
  258. if (!gCStrike) return PLUGIN_CONTINUE
  259.  
  260. if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED
  261.  
  262. if (!get_pcvar_num(pEnabled)) {
  263. client_print(id, print_chat, "[AMXX] Parachute plugin is disabled")
  264. return PLUGIN_HANDLED
  265. }
  266.  
  267. new arg[32], name[32], name2[32], authid[35], authid2[35]
  268. read_argv(1,arg,31)
  269. get_user_name(id,name,31)
  270. get_user_authid(id,authid,34)
  271.  
  272. if (arg[0]=='@'){
  273. new players[32], inum
  274. if (equali("T",arg[1])) copy(arg[1],31,"TERRORIST")
  275. if (equali("ALL",arg[1])) get_players(players,inum)
  276. else get_players(players,inum,"e",arg[1])
  277.  
  278. if (inum == 0) {
  279. console_print(id,"No clients in such team")
  280. return PLUGIN_HANDLED
  281. }
  282.  
  283. for(new a = 0; a < inum; a++) {
  284. has_parachute[players[a]] = true
  285. }
  286.  
  287. switch(get_cvar_num("amx_show_activity")) {
  288. case 2: client_print(0,print_chat,"ADMIN %s: gave a parachute to ^"%s^" players",name,arg[1])
  289. case 1: client_print(0,print_chat,"ADMIN: gave a parachute to ^"%s^" players",arg[1])
  290. }
  291.  
  292. console_print(id,"[AMXX] You gave a parachute to ^"%s^" players",arg[1])
  293. log_amx("^"%s<%d><%s><>^" gave a parachute to ^"%s^"", name,get_user_userid(id),authid,arg[1])
  294. }
  295. else {
  296.  
  297. new player = cmd_target(id,arg,6)
  298. if (!player) return PLUGIN_HANDLED
  299.  
  300. has_parachute[player] = true
  301.  
  302. get_user_name(player,name2,31)
  303. get_user_authid(player,authid2,34)
  304.  
  305. switch(get_cvar_num("amx_show_activity")) {
  306. case 2: client_print(0,print_chat,"ADMIN %s: gave a parachute to ^"%s^"",name,name2)
  307. case 1: client_print(0,print_chat,"ADMIN: gave a parachute to ^"%s^"",name2)
  308. }
  309.  
  310. console_print(id,"[AMXX] You gave a parachute to ^"%s^"", name2)
  311. log_amx("^"%s<%d><%s><>^" gave a parachute to ^"%s<%d><%s><>^"", name,get_user_userid(id),authid,name2,get_user_userid(player),authid2)
  312. }
  313. return PLUGIN_HANDLED
  314. }
  315.  
  316. public client_PreThink(id)
  317. {
  318. //parachute.mdl animation information
  319. //0 - deploy - 84 frames
  320. //1 - idle - 39 frames
  321. //2 - detach - 29 frames
  322.  
  323. if (!get_pcvar_num(pEnabled)) return
  324. if (!is_user_alive(id) || !has_parachute[id]) return
  325.  
  326. new Float:fallspeed = get_pcvar_float(pFallSpeed) * -1.0
  327. new Float:frame
  328.  
  329. new button = get_user_button(id)
  330. new oldbutton = get_user_oldbutton(id)
  331. new flags = get_entity_flags(id)
  332.  
  333. if (para_ent[id] > 0 && (flags & FL_ONGROUND)) {
  334.  
  335. if (get_pcvar_num(pDetach)) {
  336.  
  337. if (get_user_gravity(id) == 0.1) set_user_gravity(id, 1.0)
  338.  
  339. if (entity_get_int(para_ent[id],EV_INT_sequence) != 2) {
  340. entity_set_int(para_ent[id], EV_INT_sequence, 2)
  341. entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
  342. entity_set_float(para_ent[id], EV_FL_frame, 0.0)
  343. entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
  344. entity_set_float(para_ent[id], EV_FL_animtime, 0.0)
  345. entity_set_float(para_ent[id], EV_FL_framerate, 0.0)
  346. return
  347. }
  348.  
  349. frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 2.0
  350. entity_set_float(para_ent[id],EV_FL_fuser1,frame)
  351. entity_set_float(para_ent[id],EV_FL_frame,frame)
  352.  
  353. if (frame > 254.0) {
  354. remove_entity(para_ent[id])
  355. para_ent[id] = 0
  356. }
  357. }
  358. else {
  359. remove_entity(para_ent[id])
  360. set_user_gravity(id, 1.0)
  361. para_ent[id] = 0
  362. }
  363.  
  364. return
  365. }
  366.  
  367. if (button & IN_USE) {
  368.  
  369. new Float:velocity[3]
  370. entity_get_vector(id, EV_VEC_velocity, velocity)
  371.  
  372. if (velocity[2] < 0.0) {
  373.  
  374. if(para_ent[id] <= 0) {
  375. para_ent[id] = create_entity("info_target")
  376. if(para_ent[id] > 0) {
  377. entity_set_string(para_ent[id],EV_SZ_classname,"parachute")
  378. entity_set_edict(para_ent[id], EV_ENT_aiment, id)
  379. entity_set_edict(para_ent[id], EV_ENT_owner, id)
  380. entity_set_int(para_ent[id], EV_INT_movetype, MOVETYPE_FOLLOW)
  381. entity_set_model(para_ent[id], "models/krilo2.mdl")
  382. entity_set_int(para_ent[id], EV_INT_sequence, 0)
  383. entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
  384. entity_set_float(para_ent[id], EV_FL_frame, 0.0)
  385. entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
  386. }
  387. }
  388.  
  389. if (para_ent[id] > 0) {
  390.  
  391. entity_set_int(id, EV_INT_sequence, 3)
  392. entity_set_int(id, EV_INT_gaitsequence, 1)
  393. entity_set_float(id, EV_FL_frame, 1.0)
  394. entity_set_float(id, EV_FL_framerate, 1.0)
  395. set_user_gravity(id, 0.1)
  396.  
  397. velocity[2] = (velocity[2] + 40.0 < fallspeed) ? velocity[2] + 40.0 : fallspeed
  398. entity_set_vector(id, EV_VEC_velocity, velocity)
  399.  
  400. if (entity_get_int(para_ent[id],EV_INT_sequence) == 0) {
  401.  
  402. frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 1.0
  403. entity_set_float(para_ent[id],EV_FL_fuser1,frame)
  404. entity_set_float(para_ent[id],EV_FL_frame,frame)
  405.  
  406. if (frame > 100.0) {
  407. entity_set_float(para_ent[id], EV_FL_animtime, 0.0)
  408. entity_set_float(para_ent[id], EV_FL_framerate, 0.4)
  409. entity_set_int(para_ent[id], EV_INT_sequence, 1)
  410. entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
  411. entity_set_float(para_ent[id], EV_FL_frame, 0.0)
  412. entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
  413. }
  414. }
  415. }
  416. }
  417. else if (para_ent[id] > 0) {
  418. remove_entity(para_ent[id])
  419. set_user_gravity(id, 1.0)
  420. para_ent[id] = 0
  421. }
  422. }
  423. else if ((oldbutton & IN_USE) && para_ent[id] > 0 ) {
  424. remove_entity(para_ent[id])
  425. set_user_gravity(id, 1.0)
  426. para_ent[id] = 0
  427. }
  428. }
  429.  
  430. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  431. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
  432. */
  433.  


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ejtőernyő
HozzászólásElküldve: 2013.06.05. 19:27 
Offline
Beavatott
Avatar

Csatlakozott: 2012.08.03. 01:07
Hozzászólások: 91
Megköszönt másnak: 28 alkalommal
Megköszönték neki: 8 alkalommal
alapbol kap mindenki, ugyvan beállitva (25. sor)

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ejtőernyő
HozzászólásElküldve: 2013.06.05. 19:31 
Offline
Jómunkásember
Avatar

Csatlakozott: 2012.12.24. 13:27
Hozzászólások: 447
Megköszönt másnak: 20 alkalommal
Megköszönték neki: 14 alkalommal
kecske írta:
alapbol kap mindenki, ugyvan beállitva (25. sor)



de mégse kapnak valamiért... csak adminok..!:S


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ejtőernyő
HozzászólásElküldve: 2013.06.05. 20:03 
Offline
Veterán
Avatar

Csatlakozott: 2012.09.01. 22:19
Hozzászólások: 1697
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 302 alkalommal
amxx.cfg-be:

amx_parachute @all

_________________
Valami új kezdete...
Kép
Egyedi pluginok készítése pénzért (Banki átutalás, PayPal) -> Privát üzenet


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ejtőernyő
HozzászólásElküldve: 2013.06.05. 20:23 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2013.03.03. 14:21
Hozzászólások: 105
Megköszönt másnak: 1 alkalommal
Megköszönték neki: 26 alkalommal
amxx.cfg írd be hogy: parachute_cost "0"

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: ejtőernyő
HozzászólásElküldve: 2013.06.05. 20:37 
Offline
Beavatott
Avatar

Csatlakozott: 2012.08.03. 01:07
Hozzászólások: 91
Megköszönt másnak: 28 alkalommal
Megköszönték neki: 8 alkalommal
lbalazs96 írta:
amxx.cfg írd be hogy: parachute_cost "0"


Ahogy irtam a forráskodba alapbol 0 az értêke!

_________________
Kép


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  [ 6 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 33 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