hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.18. 15:02



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: Bing [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  A témát lezárták, nem szerkesztheted a hozzászólásaid, és nem küldhetsz új hozzászólást.  [ 8 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Kés zóna.
HozzászólásElküldve: 2014.01.17. 14:21 
Offline
Tag

Csatlakozott: 2013.11.08. 14:56
Hozzászólások: 52
Megköszönt másnak: 50 alkalommal
Sziasztok!
Mi itt a gond ennél a pluginnál? Be raktam a szerverre , és be írtam , hogy amx_kzmenu erre ezt írja ki:
Kes Zona Konyvtar Nem Letezik
Be raktam a knifezone.spr fájlt , ami a Zipben volt , de nem jó sehogyse... Valaki meg nézné az SMA-t , hogy mi a baja???...

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta>
  4. #include <engine>
  5.  
  6. #define MAX_ZONES 5
  7. #define TASK_ID 1234
  8.  
  9. #define OriginX 0
  10. #define OriginY 1
  11. #define OriginZ 2
  12.  
  13. new cvar_delay
  14. new cvar_kzsize
  15. new cvar_kzsizez
  16. new cvar_height
  17. new cvar_nadepro
  18.  
  19. new bool:g_DirExist
  20. new g_ConfigsDir[64]
  21. new g_KnifeZoneDir[64]
  22.  
  23. new Float:g_fDelay[33]
  24. new g_ProtectionTime[33]
  25. new bool:g_InTheZone[33]
  26.  
  27. new zoneID
  28. new sprite_zbeam
  29. new g_KnifeZoneOrgins[MAX_ZONES][3]
  30. new bool:g_KnifeZoneLogos[MAX_ZONES]
  31.  
  32.  
  33.  
  34. static const PLUGIN_NAME[] = "Kes Zona"
  35. static const PLUGIN_AUTHOR[] = "Cheap_Suit"
  36. static const PLUGIN_VERSION[] = "1.6"
  37.  
  38. public plugin_init()
  39. {
  40. register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
  41. register_cvar(PLUGIN_NAME, PLUGIN_VERSION, FCVAR_SPONLY|FCVAR_SERVER)
  42. register_clcmd("amx_kzmenu", "open_KnifeZone", ADMIN_LEVEL_A, "Knife Zone Menu")
  43. register_menucmd(register_menuid("Knife Zone Menu"), 1023, "action_KnifeZone")
  44.  
  45. cvar_delay = register_cvar("amx_kzdelay", "0") //menyi ido alat legyel halhatatlan
  46. cvar_height = register_cvar("amx_kzheight", "140") //zona Magasaga
  47. cvar_kzsize = register_cvar("amx_kzsize", "140") // Zona NAgysaga
  48. cvar_kzsizez = register_cvar("amx_kzsizez", "50") //Zona Szelesege
  49. cvar_nadepro = register_cvar("amx_kznadepro", "1") // Ezt Nemtudom :S
  50.  
  51. register_forward(FM_TraceLine, "fwd_TraceLine")
  52. register_directory()
  53. }
  54.  
  55. public plugin_precache()
  56. {
  57. precache_model("sprites/knifezone.spr")
  58. sprite_zbeam = precache_model("sprites/zbeam4.spr")
  59. }
  60.  
  61. register_directory()
  62. {
  63. get_configsdir(g_ConfigsDir, 63)
  64. format(g_KnifeZoneDir, 63, "%s/knifezone", g_ConfigsDir)
  65.  
  66. if(!dir_exists(g_KnifeZoneDir))
  67. {
  68. log_amx("Kes Zona Konyvtar Nem Letezik")
  69. g_DirExist = false
  70. }
  71. else
  72. {
  73. g_DirExist = true
  74.  
  75. new curMap[32]
  76. get_mapname(curMap, 31)
  77. load_origins(curMap)
  78.  
  79. set_task(1.0, "task_visuals", TASK_ID, _, _, "b")
  80. }
  81. }
  82.  
  83. public open_KnifeZone(id, level, cid)
  84. {
  85. if(!cmd_access(id, level, cid, 1))
  86. return PLUGIN_HANDLED
  87.  
  88. if(!g_DirExist)
  89. console_print(id, "Kes Zona Konyvtar Nem Letezik")
  90. else
  91. display_KnifeZone(id)
  92.  
  93. return PLUGIN_HANDLED
  94. }
  95.  
  96. public display_KnifeZone(id)
  97. {
  98. new menuBody[512]
  99. new len = format(menuBody, 511, "\yKnife Zone Menu^n")
  100. len += format(menuBody[len], 511-len, "^n\w1. Zona letrehozasa")
  101. len += format(menuBody[len], 511-len, "^n\r2. Toroli Az Osszes Zonat")
  102. len += format(menuBody[len], 511-len, "^n\d3. Kilepes")
  103.  
  104. new keys = (1<<0|1<<1|1<<2)
  105. show_menu(id, keys, menuBody, -1, "Kes Zona Menu")
  106. }
  107.  
  108. public action_KnifeZone(id, key)
  109. {
  110. switch(key)
  111. {
  112. case 0:
  113. {
  114. if(zoneID >= MAX_ZONES)
  115. {
  116. client_print(id, print_chat, "Elerted a Max Kes Zonak Szamat")
  117. return PLUGIN_HANDLED
  118. }
  119.  
  120. if(!is_user_alive(id))
  121. {
  122. client_print(id, print_chat, "Maradj eletben a Kes Zona Kesziteshez")
  123. return PLUGIN_HANDLED
  124. }
  125.  
  126. _makeZone(id)
  127. display_KnifeZone(id)
  128. client_print(id, print_chat, "Letrehoztal Egy kes Zonat")
  129. }
  130. case 1:
  131. {
  132. _removeZones()
  133. display_KnifeZone(id)
  134. client_print(id, print_chat, "Osszes Kes Zona Torolve")
  135. }
  136. }
  137. return PLUGIN_HANDLED
  138. }
  139.  
  140. public fwd_TraceLine(Float:v1[3], Float:v2[3], noMonsters, id)
  141. {
  142. if(!is_user_alive(id))
  143. return FMRES_IGNORED
  144.  
  145. new victim = get_tr(TR_pHit)
  146. if(!is_user_alive(victim))
  147. return FMRES_IGNORED
  148.  
  149. new tmp[2], weapon = get_user_weapon(victim, tmp[0], tmp[1])
  150. if(weapon == CSW_KNIFE && g_InTheZone[victim])
  151. set_tr(TR_flFraction, 1.0)
  152.  
  153. return FMRES_IGNORED
  154. }
  155.  
  156. public client_PreThink(id)
  157. {
  158. if(!task_exists(TASK_ID) || !is_user_alive(id))
  159. {
  160. g_ProtectionTime[id] = -1
  161. g_InTheZone[id] = false
  162.  
  163. return PLUGIN_CONTINUE
  164. }
  165.  
  166. if(!check_origin(id))
  167. {
  168. g_InTheZone[id] = false
  169. g_ProtectionTime[id] = -1
  170.  
  171. return PLUGIN_CONTINUE
  172. }
  173.  
  174. new protectionDelay = get_pcvar_num(cvar_delay)
  175. if(g_ProtectionTime[id] < protectionDelay)
  176. {
  177. if(g_fDelay[id] + 1.0 < get_gametime())
  178. {
  179. g_ProtectionTime[id] += 1
  180. g_fDelay[id] = get_gametime()
  181. }
  182.  
  183. set_hudmessage(255, 0, 0, -1.0, -1.0, _, _, 0.5, _, _, 4)
  184. show_hudmessage(id, "Protection in %d...", (protectionDelay - g_ProtectionTime[id]))
  185. }
  186. else if(g_ProtectionTime[id] >= protectionDelay)
  187. g_InTheZone[id] = true
  188.  
  189. new tmp[2], weap = get_user_weapon(id, tmp[0], tmp[1])
  190. if(weap != CSW_KNIFE) client_cmd(id, "weapon_knife")
  191.  
  192. return PLUGIN_CONTINUE
  193. }
  194.  
  195. stock check_origin(id)
  196. {
  197. new iOrigin[3]
  198. get_user_origin(id, iOrigin, 0)
  199.  
  200. for(new i = 0; i < MAX_ZONES; ++i)
  201. {
  202. if((g_KnifeZoneOrgins[i][OriginX] == 0)
  203. && (g_KnifeZoneOrgins[i][OriginY] == 0)
  204. && g_KnifeZoneOrgins[i][OriginZ] == 0)
  205. continue
  206.  
  207. new ZoneSizeX = get_pcvar_num(cvar_kzsize)
  208. new ZoneSizeY = get_pcvar_num(cvar_kzsize)
  209. new ZoneSizeZ = get_pcvar_num(cvar_kzsizez)
  210.  
  211. if((g_KnifeZoneOrgins[i][OriginX] - iOrigin[0] > ZoneSizeX) || (g_KnifeZoneOrgins[i][OriginX] - iOrigin[0] < -ZoneSizeX)
  212. || (g_KnifeZoneOrgins[i][OriginY] - iOrigin[1] > ZoneSizeY) || (g_KnifeZoneOrgins[i][OriginY] - iOrigin[1] < -ZoneSizeY)
  213. || (g_KnifeZoneOrgins[i][OriginZ] - iOrigin[2] > ZoneSizeZ) || (g_KnifeZoneOrgins[i][OriginZ] - iOrigin[2] < -ZoneSizeZ))
  214. continue
  215.  
  216. return true
  217. }
  218. return false
  219. }
  220.  
  221. stock check_GrenadeOrigin(Origin[3])
  222. {
  223. new Ent = -1
  224. while((Ent = find_ent_by_class(Ent, "grenade")))
  225. {
  226. new szModel[32]
  227. entity_get_string(Ent, EV_SZ_model, szModel, 31)
  228. if(equal(szModel, "models/w_smokegrenade.mdl")
  229. || equal(szModel, "models/w_hegrenade.mdl")
  230. || equal(szModel, "models/w_flashbang.mdl"))
  231. {
  232. new Float:vOrigin[3], iOrigin[3]
  233. entity_get_vector(Ent, EV_VEC_origin, vOrigin)
  234. FVecIVec(vOrigin, iOrigin)
  235.  
  236. if(get_distance(iOrigin, Origin) <= get_pcvar_num(cvar_kzsize))
  237. remove_entity(Ent)
  238. }
  239. }
  240. }
  241.  
  242. load_origins(mapname[])
  243. {
  244. new mapFile[64]
  245. format(mapFile, 63, "%s/%s.cfg", g_KnifeZoneDir, mapname)
  246.  
  247. if(!file_exists(mapFile))
  248. {
  249. server_print("Nincsenek Kes Zonak for %s", mapname)
  250. return PLUGIN_CONTINUE
  251. }
  252.  
  253. new Text[64], Line = 0, Len = 0
  254. while(read_file(mapFile, Line++, Text, 63, Len))
  255. {
  256. if((Text[0]==';') || !Len)
  257. continue
  258.  
  259. if(zoneID >= MAX_ZONES)
  260. {
  261. log_amx("Max Kes Zonak Elerve, increase MAX_ZONES")
  262. break
  263. }
  264.  
  265. new iOrigin[3][16]
  266. parse(Text, iOrigin[OriginX], 15, iOrigin[OriginY], 15, iOrigin[OriginZ], 15)
  267.  
  268. g_KnifeZoneOrgins[zoneID][OriginX] = str_to_num(iOrigin[OriginX])
  269. g_KnifeZoneOrgins[zoneID][OriginY] = str_to_num(iOrigin[OriginY])
  270. g_KnifeZoneOrgins[zoneID][OriginZ] = str_to_num(iOrigin[OriginZ])
  271.  
  272. zoneID += 1
  273. }
  274. return PLUGIN_CONTINUE
  275. }
  276.  
  277. save_origin(mapname[], Origin[3])
  278. {
  279. new mapFile[64], Text[64]
  280. format(mapFile, 63, "%s/%s.cfg", g_KnifeZoneDir, mapname)
  281. if(!file_exists(mapFile))
  282. {
  283. new Comments[64]
  284. format(Comments, 63, "; Knife Zone origins for %s", mapname)
  285. write_file(mapFile, Comments, -1)
  286. }
  287.  
  288. format(Text, 64, "%i %i %i", Origin[OriginX], Origin[OriginY], Origin[OriginZ])
  289. write_file(mapFile, Text, -1)
  290. }
  291.  
  292. public task_visuals()
  293. {
  294. for(new i = 0; i < MAX_ZONES; ++i)
  295. {
  296. if((g_KnifeZoneOrgins[i][OriginX] == 0)
  297. && (g_KnifeZoneOrgins[i][OriginY] == 0)
  298. && g_KnifeZoneOrgins[i][OriginZ] == 0)
  299. continue
  300.  
  301. create_kzring(g_KnifeZoneOrgins[i])
  302.  
  303. if(get_pcvar_num(cvar_nadepro))
  304. check_GrenadeOrigin(g_KnifeZoneOrgins[i])
  305.  
  306. if(!g_KnifeZoneLogos[i])
  307. {
  308. g_KnifeZoneLogos[i] = true
  309. create_logo(g_KnifeZoneOrgins[i])
  310. }
  311. }
  312. }
  313.  
  314. stock create_kzring(Origin[3])
  315. {
  316. new shape[4][2] = {{1,1}, {-1,1}, {-1,-1}, {1,-1}}
  317. new x1, y1, x2, y2, height, i, j
  318. new ZoneSize = get_cvar_num("amx_kzsize")
  319.  
  320. for(j = 0; j < 2; j++)
  321. {
  322. height = (30 * j - 30)
  323. for(i = 0; i < 4; i++)
  324. {
  325. x1 = (shape[i][0] * ZoneSize)
  326. y1 = (shape[i][1] * ZoneSize)
  327. if(i < 3)
  328. {
  329. x2 = (shape[i+1][0] * ZoneSize)
  330. y2 = (shape[i+1][1] * ZoneSize)
  331. }
  332. else
  333. {
  334. x2 = (shape[0][0] * ZoneSize)
  335. y2 = (shape[0][1] * ZoneSize)
  336. }
  337.  
  338. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  339. write_byte(0)
  340. write_coord(Origin[OriginX] + x1)
  341. write_coord(Origin[OriginY] + y1)
  342. write_coord(Origin[OriginZ] + height)
  343. write_coord(Origin[OriginX] + x2)
  344. write_coord(Origin[OriginY] + y2)
  345. write_coord(Origin[OriginZ] + height)
  346. write_short(sprite_zbeam)
  347. write_byte(0)
  348. write_byte(0)
  349. write_byte(30)
  350. write_byte(15)
  351. write_byte(0)
  352. write_byte(255)
  353. write_byte(0)
  354. write_byte(0)
  355. write_byte(100)
  356. write_byte(0)
  357. message_end()
  358. }
  359. }
  360. }
  361.  
  362. stock create_logo(Origin[3])
  363. {
  364. new Float:flOrigin[3]
  365. IVecFVec(Origin, flOrigin)
  366.  
  367. new sprite = create_entity("info_target")
  368. if(is_valid_ent(sprite))
  369. {
  370. entity_set_string(sprite, EV_SZ_classname, "kzlogo")
  371. entity_set_model(sprite, "sprites/knifezone.spr")
  372.  
  373. flOrigin[2] += get_pcvar_num(cvar_height)
  374. entity_set_origin(sprite, flOrigin)
  375. }
  376. }
  377.  
  378. _makeZone(id)
  379. {
  380. new iOrigin[3], CurMap[32]
  381. get_user_origin(id, iOrigin, 0)
  382. get_mapname(CurMap, 31)
  383.  
  384. zoneID = 0
  385. save_origin(CurMap, iOrigin)
  386. load_origins(CurMap)
  387.  
  388. if(task_exists(TASK_ID))
  389. remove_task(TASK_ID)
  390.  
  391. set_task(1.0, "task_visuals", TASK_ID, _, _, "b")
  392. }
  393.  
  394. _removeZones()
  395. {
  396. new MapFile[64], CurMap[32]
  397. get_mapname(CurMap, 31)
  398. format(MapFile, 63, "%s/%s.cfg", g_KnifeZoneDir, CurMap)
  399. if(file_exists(MapFile))
  400. delete_file(MapFile)
  401.  
  402. if(task_exists(TASK_ID))
  403. remove_task(TASK_ID)
  404.  
  405. zoneID = 0
  406.  
  407. for(new i = 0; i < MAX_ZONES; ++i)
  408. {
  409. g_KnifeZoneLogos[i] = false
  410. g_KnifeZoneOrgins[i][OriginX] = 0
  411. g_KnifeZoneOrgins[i][OriginY] = 0
  412. g_KnifeZoneOrgins[i][OriginZ] = 0
  413. }
  414.  
  415. new logo = -1
  416. while((logo = find_ent_by_class(logo, "kzlogo")))
  417. remove_entity(logo)
  418. }
  419. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  420. *{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0\\ deflang1033{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
  421. */
  422.  


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Kés zóna.
HozzászólásElküldve: 2014.01.17. 14:27 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.09.21. 12:03
Hozzászólások: 318
Megköszönt másnak: 31 alkalommal
Megköszönték neki: 30 alkalommal
Te kell létrehozd a mapokon a kés zónákat!

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Kés zóna.
HozzászólásElküldve: 2014.01.17. 14:38 
Offline
Jómunkásember

Csatlakozott: 2012.01.29. 12:48
Hozzászólások: 408
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 126 alkalommal
sajtoskecske55 írta:
Sziasztok!
Mi itt a gond ennél a pluginnál? Be raktam a szerverre , és be írtam , hogy amx_kzmenu erre ezt írja ki:
Kes Zona Konyvtar Nem Letezik
Be raktam a knifezone.spr fájlt , ami a Zipben volt , de nem jó sehogyse... Valaki meg nézné az SMA-t , hogy mi a baja???


A leírtakban ott a megoldás: Kes Zona Konyvtar Nem Letezik > Tehát létrehozol a szervered "cstrike/addons/amxmodx/configs" mappájában egy "knifezone" nevű mappát és működni fog a plugin.

Használd ezt, mert amit linkeltél hibásan van megírva + beleírtam hogy magától hozza létre a mappát:
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta>
  4. #include <engine>
  5.  
  6. #define MAX_ZONES 5
  7. #define TASK_ID 1234
  8.  
  9. #define OriginX 0
  10. #define OriginY 1
  11. #define OriginZ 2
  12.  
  13. new cvar_delay
  14. new cvar_kzsize
  15. new cvar_kzsizez
  16. new cvar_height
  17. new cvar_nadepro
  18.  
  19. new g_ConfigsDir[64]
  20. new g_KnifeZoneDir[64]
  21.  
  22. new Float:g_fDelay[33]
  23. new g_ProtectionTime[33]
  24. new bool:g_InTheZone[33]
  25.  
  26. new zoneID
  27. new sprite_zbeam
  28. new g_KnifeZoneOrgins[MAX_ZONES][3]
  29. new bool:g_KnifeZoneLogos[MAX_ZONES]
  30.  
  31.  
  32.  
  33. static const PLUGIN_NAME[] = "Knife Zone"
  34. static const PLUGIN_AUTHOR[] = "Cheap_Suit"
  35. static const PLUGIN_VERSION[] = "1.6"
  36.  
  37. public plugin_init()
  38. {
  39. register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
  40. register_cvar(PLUGIN_NAME, PLUGIN_VERSION, FCVAR_SPONLY|FCVAR_SERVER)
  41. register_clcmd("amx_kzmenu", "open_KnifeZone", ADMIN_LEVEL_A, "Kes Zona Menu")
  42. register_menucmd(register_menuid("Kes Zona Menu"), 1023, "action_KnifeZone")
  43.  
  44. cvar_delay = register_cvar("amx_kzdelay", "0") //menyi ido alat legyel halhatatlan
  45. cvar_height = register_cvar("amx_kzheight", "140") //zona Magasaga
  46. cvar_kzsize = register_cvar("amx_kzsize", "140") // Zona NAgysaga
  47. cvar_kzsizez = register_cvar("amx_kzsizez", "50") //Zona Szelesege
  48. cvar_nadepro = register_cvar("amx_kznadepro", "1") // Ezt Nemtudom :S
  49.  
  50. register_forward(FM_TraceLine, "fwd_TraceLine")
  51. register_directory()
  52. }
  53.  
  54. public plugin_precache()
  55. {
  56. precache_model("sprites/knifezone.spr")
  57. sprite_zbeam = precache_model("sprites/zbeam4.spr")
  58. }
  59.  
  60. register_directory()
  61. {
  62. get_configsdir(g_ConfigsDir, 63)
  63. format(g_KnifeZoneDir, 63, "%s/knifezone", g_ConfigsDir)
  64.  
  65. if(!dir_exists(g_KnifeZoneDir)) mkdir(g_KnifeZoneDir)
  66.  
  67.  
  68. new curMap[32]
  69. get_mapname(curMap, 31)
  70. load_origins(curMap)
  71.  
  72. set_task(1.0, "task_visuals", TASK_ID, _, _, "b")
  73. }
  74.  
  75. public open_KnifeZone(id, level, cid)
  76. {
  77. if(!cmd_access(id, level, cid, 1))
  78. return PLUGIN_HANDLED
  79.  
  80. display_KnifeZone(id)
  81.  
  82. return PLUGIN_HANDLED
  83. }
  84.  
  85. public display_KnifeZone(id)
  86. {
  87. new menuBody[512]
  88. new len = format(menuBody, 511, "\yKes Zona Menu^n")
  89. len += format(menuBody[len], 511-len, "^n\w1. Zona letrehozasa")
  90. len += format(menuBody[len], 511-len, "^n\r2. Toroli Az Osszes Zonat")
  91. len += format(menuBody[len], 511-len, "^n\d3. Kilepes")
  92.  
  93. new keys = (1<<0|1<<1|1<<2)
  94. show_menu(id, keys, menuBody, -1, "Kes Zona Menu")
  95. }
  96.  
  97. public action_KnifeZone(id, key)
  98. {
  99. switch(key)
  100. {
  101. case 0:
  102. {
  103. if(zoneID >= MAX_ZONES)
  104. {
  105. client_print(id, print_chat, "Elerted a Max Kes Zonak Szamat")
  106. return PLUGIN_HANDLED
  107. }
  108.  
  109. if(!is_user_alive(id))
  110. {
  111. client_print(id, print_chat, "Maradj eletben a Kes Zona Kesziteshez")
  112. return PLUGIN_HANDLED
  113. }
  114.  
  115. _makeZone(id)
  116. display_KnifeZone(id)
  117. client_print(id, print_chat, "Letrehoztal Egy kes Zonat")
  118. }
  119. case 1:
  120. {
  121. _removeZones()
  122. display_KnifeZone(id)
  123. client_print(id, print_chat, "Osszes Kes Zona Torolve")
  124. }
  125. }
  126. return PLUGIN_HANDLED
  127. }
  128.  
  129. public fwd_TraceLine(Float:v1[3], Float:v2[3], noMonsters, id)
  130. {
  131. if(!is_user_alive(id))
  132. return FMRES_IGNORED
  133.  
  134. new victim = get_tr(TR_pHit)
  135. if(!is_user_alive(victim))
  136. return FMRES_IGNORED
  137.  
  138. new tmp[2], weapon = get_user_weapon(victim, tmp[0], tmp[1])
  139. if(weapon == CSW_KNIFE && g_InTheZone[victim])
  140. set_tr(TR_flFraction, 1.0)
  141.  
  142. return FMRES_IGNORED
  143. }
  144.  
  145. public client_PreThink(id)
  146. {
  147. if(!task_exists(TASK_ID) || !is_user_alive(id))
  148. {
  149. g_ProtectionTime[id] = -1
  150. g_InTheZone[id] = false
  151.  
  152. return PLUGIN_CONTINUE
  153. }
  154.  
  155. if(!check_origin(id))
  156. {
  157. g_InTheZone[id] = false
  158. g_ProtectionTime[id] = -1
  159.  
  160. return PLUGIN_CONTINUE
  161. }
  162.  
  163. new protectionDelay = get_pcvar_num(cvar_delay)
  164. if(g_ProtectionTime[id] < protectionDelay)
  165. {
  166. if(g_fDelay[id] + 1.0 < get_gametime())
  167. {
  168. g_ProtectionTime[id] += 1
  169. g_fDelay[id] = get_gametime()
  170. }
  171.  
  172. set_hudmessage(255, 0, 0, -1.0, -1.0, _, _, 0.5, _, _, 4)
  173. show_hudmessage(id, "Protection in %d...", (protectionDelay - g_ProtectionTime[id]))
  174. }
  175. else if(g_ProtectionTime[id] >= protectionDelay)
  176. g_InTheZone[id] = true
  177.  
  178. new tmp[2], weap = get_user_weapon(id, tmp[0], tmp[1])
  179. if(weap != CSW_KNIFE) client_cmd(id, "weapon_knife")
  180.  
  181. return PLUGIN_CONTINUE
  182. }
  183.  
  184. stock check_origin(id)
  185. {
  186. new iOrigin[3]
  187. get_user_origin(id, iOrigin, 0)
  188.  
  189. for(new i = 0; i < MAX_ZONES; ++i)
  190. {
  191. if((g_KnifeZoneOrgins[i][OriginX] == 0)
  192. && (g_KnifeZoneOrgins[i][OriginY] == 0)
  193. && g_KnifeZoneOrgins[i][OriginZ] == 0)
  194. continue
  195.  
  196. new ZoneSizeX = get_pcvar_num(cvar_kzsize)
  197. new ZoneSizeY = get_pcvar_num(cvar_kzsize)
  198. new ZoneSizeZ = get_pcvar_num(cvar_kzsizez)
  199.  
  200. if((g_KnifeZoneOrgins[i][OriginX] - iOrigin[0] > ZoneSizeX) || (g_KnifeZoneOrgins[i][OriginX] - iOrigin[0] < -ZoneSizeX)
  201. || (g_KnifeZoneOrgins[i][OriginY] - iOrigin[1] > ZoneSizeY) || (g_KnifeZoneOrgins[i][OriginY] - iOrigin[1] < -ZoneSizeY)
  202. || (g_KnifeZoneOrgins[i][OriginZ] - iOrigin[2] > ZoneSizeZ) || (g_KnifeZoneOrgins[i][OriginZ] - iOrigin[2] < -ZoneSizeZ))
  203. continue
  204.  
  205. return true
  206. }
  207. return false
  208. }
  209.  
  210. stock check_GrenadeOrigin(Origin[3])
  211. {
  212. new Ent = -1
  213. while((Ent = find_ent_by_class(Ent, "grenade")))
  214. {
  215. new szModel[32]
  216. entity_get_string(Ent, EV_SZ_model, szModel, 31)
  217. if(equal(szModel, "models/w_smokegrenade.mdl")
  218. || equal(szModel, "models/w_hegrenade.mdl")
  219. || equal(szModel, "models/w_flashbang.mdl"))
  220. {
  221. new Float:vOrigin[3], iOrigin[3]
  222. entity_get_vector(Ent, EV_VEC_origin, vOrigin)
  223. FVecIVec(vOrigin, iOrigin)
  224.  
  225. if(get_distance(iOrigin, Origin) <= get_pcvar_num(cvar_kzsize))
  226. remove_entity(Ent)
  227. }
  228. }
  229. }
  230.  
  231. load_origins(mapname[])
  232. {
  233. new mapFile[64]
  234. format(mapFile, 63, "%s/%s.cfg", g_KnifeZoneDir, mapname)
  235.  
  236. if(!file_exists(mapFile))
  237. {
  238. server_print("There are no Knife Zone(s) for %s", mapname)
  239. return PLUGIN_CONTINUE
  240. }
  241.  
  242. new Text[64], Line = 0, Len = 0
  243. while(read_file(mapFile, Line++, Text, 63, Len))
  244. {
  245. if((Text[0]==';') || !Len)
  246. continue
  247.  
  248. if(zoneID >= MAX_ZONES)
  249. {
  250. log_amx("Max Knife Zones reached, increase MAX_ZONES")
  251. break
  252. }
  253.  
  254. new iOrigin[3][16]
  255. parse(Text, iOrigin[OriginX], 15, iOrigin[OriginY], 15, iOrigin[OriginZ], 15)
  256.  
  257. g_KnifeZoneOrgins[zoneID][OriginX] = str_to_num(iOrigin[OriginX])
  258. g_KnifeZoneOrgins[zoneID][OriginY] = str_to_num(iOrigin[OriginY])
  259. g_KnifeZoneOrgins[zoneID][OriginZ] = str_to_num(iOrigin[OriginZ])
  260.  
  261. zoneID += 1
  262. }
  263. return PLUGIN_CONTINUE
  264. }
  265.  
  266. save_origin(mapname[], Origin[3])
  267. {
  268. new mapFile[64], Text[64]
  269. format(mapFile, 63, "%s/%s.cfg", g_KnifeZoneDir, mapname)
  270. if(!file_exists(mapFile))
  271. {
  272. new Comments[64]
  273. format(Comments, 63, "; Knife Zone origins for %s", mapname)
  274. write_file(mapFile, Comments, -1)
  275. }
  276.  
  277. format(Text, 64, "%i %i %i", Origin[OriginX], Origin[OriginY], Origin[OriginZ])
  278. write_file(mapFile, Text, -1)
  279. }
  280.  
  281. public task_visuals()
  282. {
  283. for(new i = 0; i < MAX_ZONES; ++i)
  284. {
  285. if((g_KnifeZoneOrgins[i][OriginX] == 0)
  286. && (g_KnifeZoneOrgins[i][OriginY] == 0)
  287. && g_KnifeZoneOrgins[i][OriginZ] == 0)
  288. continue
  289.  
  290. create_kzring(g_KnifeZoneOrgins[i])
  291.  
  292. if(get_pcvar_num(cvar_nadepro))
  293. check_GrenadeOrigin(g_KnifeZoneOrgins[i])
  294.  
  295. if(!g_KnifeZoneLogos[i])
  296. {
  297. g_KnifeZoneLogos[i] = true
  298. create_logo(g_KnifeZoneOrgins[i])
  299. }
  300. }
  301. }
  302.  
  303. stock create_kzring(Origin[3])
  304. {
  305. new shape[4][2] = {{1,1}, {-1,1}, {-1,-1}, {1,-1}}
  306. new x1, y1, x2, y2, height, i, j
  307. new ZoneSize = get_cvar_num("amx_kzsize")
  308.  
  309. for(j = 0; j < 2; j++)
  310. {
  311. height = (30 * j - 30)
  312. for(i = 0; i < 4; i++)
  313. {
  314. x1 = (shape[i][0] * ZoneSize)
  315. y1 = (shape[i][1] * ZoneSize)
  316. if(i < 3)
  317. {
  318. x2 = (shape[i+1][0] * ZoneSize)
  319. y2 = (shape[i+1][1] * ZoneSize)
  320. }
  321. else
  322. {
  323. x2 = (shape[0][0] * ZoneSize)
  324. y2 = (shape[0][1] * ZoneSize)
  325. }
  326.  
  327. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  328. write_byte(0)
  329. write_coord(Origin[OriginX] + x1)
  330. write_coord(Origin[OriginY] + y1)
  331. write_coord(Origin[OriginZ] + height)
  332. write_coord(Origin[OriginX] + x2)
  333. write_coord(Origin[OriginY] + y2)
  334. write_coord(Origin[OriginZ] + height)
  335. write_short(sprite_zbeam)
  336. write_byte(0)
  337. write_byte(0)
  338. write_byte(30)
  339. write_byte(15)
  340. write_byte(0)
  341. write_byte(255)
  342. write_byte(0)
  343. write_byte(0)
  344. write_byte(100)
  345. write_byte(0)
  346. message_end()
  347. }
  348. }
  349. }
  350.  
  351. stock create_logo(Origin[3])
  352. {
  353. new Float:flOrigin[3]
  354. IVecFVec(Origin, flOrigin)
  355.  
  356. new sprite = create_entity("info_target")
  357. if(is_valid_ent(sprite))
  358. {
  359. entity_set_string(sprite, EV_SZ_classname, "kzlogo")
  360. entity_set_model(sprite, "sprites/knifezone.spr")
  361.  
  362. flOrigin[2] += get_pcvar_num(cvar_height)
  363. entity_set_origin(sprite, flOrigin)
  364. }
  365. }
  366.  
  367. _makeZone(id)
  368. {
  369. new iOrigin[3], CurMap[32]
  370. get_user_origin(id, iOrigin, 0)
  371. get_mapname(CurMap, 31)
  372.  
  373. zoneID = 0
  374. save_origin(CurMap, iOrigin)
  375. load_origins(CurMap)
  376.  
  377. if(task_exists(TASK_ID))
  378. remove_task(TASK_ID)
  379.  
  380. set_task(1.0, "task_visuals", TASK_ID, _, _, "b")
  381. }
  382.  
  383. _removeZones()
  384. {
  385. new MapFile[64], CurMap[32]
  386. get_mapname(CurMap, 31)
  387. format(MapFile, 63, "%s/%s.cfg", g_KnifeZoneDir, CurMap)
  388. if(file_exists(MapFile))
  389. delete_file(MapFile)
  390.  
  391. if(task_exists(TASK_ID))
  392. remove_task(TASK_ID)
  393.  
  394. zoneID = 0
  395.  
  396. for(new i = 0; i < MAX_ZONES; ++i)
  397. {
  398. g_KnifeZoneLogos[i] = false
  399. g_KnifeZoneOrgins[i][OriginX] = 0
  400. g_KnifeZoneOrgins[i][OriginY] = 0
  401. g_KnifeZoneOrgins[i][OriginZ] = 0
  402. }
  403.  
  404. new logo = -1
  405. while((logo = find_ent_by_class(logo, "kzlogo")))
  406. remove_entity(logo)
  407. }
  408.  


A hozzászólást 2 alkalommal szerkesztették, utoljára HuBaBuBa 2014.01.17. 19:43-kor.

Ők köszönték meg HuBaBuBa nek ezt a hozzászólást: sajtoskecske55 (2014.01.17. 14:42)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Kés zóna.
HozzászólásElküldve: 2014.01.17. 19:03 
Offline
Tag

Csatlakozott: 2013.11.08. 14:56
Hozzászólások: 52
Megköszönt másnak: 50 alkalommal
HuBaBuBa írta:
sajtoskecske55 írta:
Sziasztok!
Mi itt a gond ennél a pluginnál? Be raktam a szerverre , és be írtam , hogy amx_kzmenu erre ezt írja ki:
Kes Zona Konyvtar Nem Letezik
Be raktam a knifezone.spr fájlt , ami a Zipben volt , de nem jó sehogyse... Valaki meg nézné az SMA-t , hogy mi a baja???


A leírtakban ott a megoldás: Kes Zona Konyvtar Nem Letezik > Tehát létrehozol a szervered "cstrike/addons/amxmodx/configs" mappájában egy "knifezone" nevű mappát és működni fog a plugin.

Használd ezt, mert amit linkeltél hibásan van megírva + beleírtam hogy magától hozza létre a mappát:
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta>
  4. #include <engine>
  5.  
  6. #define MAX_ZONES 5
  7. #define TASK_ID 1234
  8.  
  9. #define OriginX 0
  10. #define OriginY 1
  11. #define OriginZ 2
  12.  
  13. new cvar_delay
  14. new cvar_kzsize
  15. new cvar_kzsizez
  16. new cvar_height
  17. new cvar_nadepro
  18.  
  19. new g_ConfigsDir[64]
  20. new g_KnifeZoneDir[64]
  21.  
  22. new Float:g_fDelay[33]
  23. new g_ProtectionTime[33]
  24. new bool:g_InTheZone[33]
  25.  
  26. new zoneID
  27. new sprite_zbeam
  28. new g_KnifeZoneOrgins[MAX_ZONES][3]
  29. new bool:g_KnifeZoneLogos[MAX_ZONES]
  30.  
  31.  
  32.  
  33. static const PLUGIN_NAME[] = "Knife Zone"
  34. static const PLUGIN_AUTHOR[] = "Cheap_Suit"
  35. static const PLUGIN_VERSION[] = "1.6"
  36.  
  37. public plugin_init()
  38. {
  39. register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
  40. register_cvar(PLUGIN_NAME, PLUGIN_VERSION, FCVAR_SPONLY|FCVAR_SERVER)
  41. register_clcmd("amx_kzmenu", "open_KnifeZone", ADMIN_LEVEL_A, "Knife Zone Menu")
  42. register_menucmd(register_menuid("Knife Zone Menu"), 1023, "action_KnifeZone")
  43.  
  44. cvar_delay = register_cvar("amx_kzdelay", "0") //menyi ido alat legyel halhatatlan
  45. cvar_height = register_cvar("amx_kzheight", "140") //zona Magasaga
  46. cvar_kzsize = register_cvar("amx_kzsize", "140") // Zona NAgysaga
  47. cvar_kzsizez = register_cvar("amx_kzsizez", "50") //Zona Szelesege
  48. cvar_nadepro = register_cvar("amx_kznadepro", "1") // Ezt Nemtudom :S
  49.  
  50. register_forward(FM_TraceLine, "fwd_TraceLine")
  51. register_directory()
  52. }
  53.  
  54. public plugin_precache()
  55. {
  56. precache_model("sprites/knifezone.spr")
  57. sprite_zbeam = precache_model("sprites/zbeam4.spr")
  58. }
  59.  
  60. register_directory()
  61. {
  62. get_configsdir(g_ConfigsDir, 63)
  63. format(g_KnifeZoneDir, 63, "%s/knifezone", g_ConfigsDir)
  64.  
  65. if(!dir_exists(g_KnifeZoneDir)) mkdir(g_KnifeZoneDir)
  66.  
  67.  
  68. new curMap[32]
  69. get_mapname(curMap, 31)
  70. load_origins(curMap)
  71.  
  72. set_task(1.0, "task_visuals", TASK_ID, _, _, "b")
  73. }
  74.  
  75. public open_KnifeZone(id, level, cid)
  76. {
  77. if(!cmd_access(id, level, cid, 1))
  78. return PLUGIN_HANDLED
  79.  
  80. display_KnifeZone(id)
  81.  
  82. return PLUGIN_HANDLED
  83. }
  84.  
  85. public display_KnifeZone(id)
  86. {
  87. new menuBody[512]
  88. new len = format(menuBody, 511, "\yKes Zona Menu^n")
  89. len += format(menuBody[len], 511-len, "^n\w1. Zona letrehozasa")
  90. len += format(menuBody[len], 511-len, "^n\r2. Toroli Az Osszes Zonat")
  91. len += format(menuBody[len], 511-len, "^n\d3. Kilepes")
  92.  
  93. new keys = (1<<0|1<<1|1<<2)
  94. show_menu(id, keys, menuBody, -1, "Kes Zona Menu")
  95. }
  96.  
  97. public action_KnifeZone(id, key)
  98. {
  99. switch(key)
  100. {
  101. case 0:
  102. {
  103. if(zoneID >= MAX_ZONES)
  104. {
  105. client_print(id, print_chat, "Elerted a Max Kes Zonak Szamat")
  106. return PLUGIN_HANDLED
  107. }
  108.  
  109. if(!is_user_alive(id))
  110. {
  111. client_print(id, print_chat, "Maradj eletben a Kes Zona Kesziteshez")
  112. return PLUGIN_HANDLED
  113. }
  114.  
  115. _makeZone(id)
  116. display_KnifeZone(id)
  117. client_print(id, print_chat, "Letrehoztal Egy kes Zonat")
  118. }
  119. case 1:
  120. {
  121. _removeZones()
  122. display_KnifeZone(id)
  123. client_print(id, print_chat, "Osszes Kes Zona Torolve")
  124. }
  125. }
  126. return PLUGIN_HANDLED
  127. }
  128.  
  129. public fwd_TraceLine(Float:v1[3], Float:v2[3], noMonsters, id)
  130. {
  131. if(!is_user_alive(id))
  132. return FMRES_IGNORED
  133.  
  134. new victim = get_tr(TR_pHit)
  135. if(!is_user_alive(victim))
  136. return FMRES_IGNORED
  137.  
  138. new tmp[2], weapon = get_user_weapon(victim, tmp[0], tmp[1])
  139. if(weapon == CSW_KNIFE && g_InTheZone[victim])
  140. set_tr(TR_flFraction, 1.0)
  141.  
  142. return FMRES_IGNORED
  143. }
  144.  
  145. public client_PreThink(id)
  146. {
  147. if(!task_exists(TASK_ID) || !is_user_alive(id))
  148. {
  149. g_ProtectionTime[id] = -1
  150. g_InTheZone[id] = false
  151.  
  152. return PLUGIN_CONTINUE
  153. }
  154.  
  155. if(!check_origin(id))
  156. {
  157. g_InTheZone[id] = false
  158. g_ProtectionTime[id] = -1
  159.  
  160. return PLUGIN_CONTINUE
  161. }
  162.  
  163. new protectionDelay = get_pcvar_num(cvar_delay)
  164. if(g_ProtectionTime[id] < protectionDelay)
  165. {
  166. if(g_fDelay[id] + 1.0 < get_gametime())
  167. {
  168. g_ProtectionTime[id] += 1
  169. g_fDelay[id] = get_gametime()
  170. }
  171.  
  172. set_hudmessage(255, 0, 0, -1.0, -1.0, _, _, 0.5, _, _, 4)
  173. show_hudmessage(id, "Protection in %d...", (protectionDelay - g_ProtectionTime[id]))
  174. }
  175. else if(g_ProtectionTime[id] >= protectionDelay)
  176. g_InTheZone[id] = true
  177.  
  178. new tmp[2], weap = get_user_weapon(id, tmp[0], tmp[1])
  179. if(weap != CSW_KNIFE) client_cmd(id, "weapon_knife")
  180.  
  181. return PLUGIN_CONTINUE
  182. }
  183.  
  184. stock check_origin(id)
  185. {
  186. new iOrigin[3]
  187. get_user_origin(id, iOrigin, 0)
  188.  
  189. for(new i = 0; i < MAX_ZONES; ++i)
  190. {
  191. if((g_KnifeZoneOrgins[i][OriginX] == 0)
  192. && (g_KnifeZoneOrgins[i][OriginY] == 0)
  193. && g_KnifeZoneOrgins[i][OriginZ] == 0)
  194. continue
  195.  
  196. new ZoneSizeX = get_pcvar_num(cvar_kzsize)
  197. new ZoneSizeY = get_pcvar_num(cvar_kzsize)
  198. new ZoneSizeZ = get_pcvar_num(cvar_kzsizez)
  199.  
  200. if((g_KnifeZoneOrgins[i][OriginX] - iOrigin[0] > ZoneSizeX) || (g_KnifeZoneOrgins[i][OriginX] - iOrigin[0] < -ZoneSizeX)
  201. || (g_KnifeZoneOrgins[i][OriginY] - iOrigin[1] > ZoneSizeY) || (g_KnifeZoneOrgins[i][OriginY] - iOrigin[1] < -ZoneSizeY)
  202. || (g_KnifeZoneOrgins[i][OriginZ] - iOrigin[2] > ZoneSizeZ) || (g_KnifeZoneOrgins[i][OriginZ] - iOrigin[2] < -ZoneSizeZ))
  203. continue
  204.  
  205. return true
  206. }
  207. return false
  208. }
  209.  
  210. stock check_GrenadeOrigin(Origin[3])
  211. {
  212. new Ent = -1
  213. while((Ent = find_ent_by_class(Ent, "grenade")))
  214. {
  215. new szModel[32]
  216. entity_get_string(Ent, EV_SZ_model, szModel, 31)
  217. if(equal(szModel, "models/w_smokegrenade.mdl")
  218. || equal(szModel, "models/w_hegrenade.mdl")
  219. || equal(szModel, "models/w_flashbang.mdl"))
  220. {
  221. new Float:vOrigin[3], iOrigin[3]
  222. entity_get_vector(Ent, EV_VEC_origin, vOrigin)
  223. FVecIVec(vOrigin, iOrigin)
  224.  
  225. if(get_distance(iOrigin, Origin) <= get_pcvar_num(cvar_kzsize))
  226. remove_entity(Ent)
  227. }
  228. }
  229. }
  230.  
  231. load_origins(mapname[])
  232. {
  233. new mapFile[64]
  234. format(mapFile, 63, "%s/%s.cfg", g_KnifeZoneDir, mapname)
  235.  
  236. if(!file_exists(mapFile))
  237. {
  238. server_print("There are no Knife Zone(s) for %s", mapname)
  239. return PLUGIN_CONTINUE
  240. }
  241.  
  242. new Text[64], Line = 0, Len = 0
  243. while(read_file(mapFile, Line++, Text, 63, Len))
  244. {
  245. if((Text[0]==';') || !Len)
  246. continue
  247.  
  248. if(zoneID >= MAX_ZONES)
  249. {
  250. log_amx("Max Knife Zones reached, increase MAX_ZONES")
  251. break
  252. }
  253.  
  254. new iOrigin[3][16]
  255. parse(Text, iOrigin[OriginX], 15, iOrigin[OriginY], 15, iOrigin[OriginZ], 15)
  256.  
  257. g_KnifeZoneOrgins[zoneID][OriginX] = str_to_num(iOrigin[OriginX])
  258. g_KnifeZoneOrgins[zoneID][OriginY] = str_to_num(iOrigin[OriginY])
  259. g_KnifeZoneOrgins[zoneID][OriginZ] = str_to_num(iOrigin[OriginZ])
  260.  
  261. zoneID += 1
  262. }
  263. return PLUGIN_CONTINUE
  264. }
  265.  
  266. save_origin(mapname[], Origin[3])
  267. {
  268. new mapFile[64], Text[64]
  269. format(mapFile, 63, "%s/%s.cfg", g_KnifeZoneDir, mapname)
  270. if(!file_exists(mapFile))
  271. {
  272. new Comments[64]
  273. format(Comments, 63, "; Knife Zone origins for %s", mapname)
  274. write_file(mapFile, Comments, -1)
  275. }
  276.  
  277. format(Text, 64, "%i %i %i", Origin[OriginX], Origin[OriginY], Origin[OriginZ])
  278. write_file(mapFile, Text, -1)
  279. }
  280.  
  281. public task_visuals()
  282. {
  283. for(new i = 0; i < MAX_ZONES; ++i)
  284. {
  285. if((g_KnifeZoneOrgins[i][OriginX] == 0)
  286. && (g_KnifeZoneOrgins[i][OriginY] == 0)
  287. && g_KnifeZoneOrgins[i][OriginZ] == 0)
  288. continue
  289.  
  290. create_kzring(g_KnifeZoneOrgins[i])
  291.  
  292. if(get_pcvar_num(cvar_nadepro))
  293. check_GrenadeOrigin(g_KnifeZoneOrgins[i])
  294.  
  295. if(!g_KnifeZoneLogos[i])
  296. {
  297. g_KnifeZoneLogos[i] = true
  298. create_logo(g_KnifeZoneOrgins[i])
  299. }
  300. }
  301. }
  302.  
  303. stock create_kzring(Origin[3])
  304. {
  305. new shape[4][2] = {{1,1}, {-1,1}, {-1,-1}, {1,-1}}
  306. new x1, y1, x2, y2, height, i, j
  307. new ZoneSize = get_cvar_num("amx_kzsize")
  308.  
  309. for(j = 0; j < 2; j++)
  310. {
  311. height = (30 * j - 30)
  312. for(i = 0; i < 4; i++)
  313. {
  314. x1 = (shape[i][0] * ZoneSize)
  315. y1 = (shape[i][1] * ZoneSize)
  316. if(i < 3)
  317. {
  318. x2 = (shape[i+1][0] * ZoneSize)
  319. y2 = (shape[i+1][1] * ZoneSize)
  320. }
  321. else
  322. {
  323. x2 = (shape[0][0] * ZoneSize)
  324. y2 = (shape[0][1] * ZoneSize)
  325. }
  326.  
  327. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  328. write_byte(0)
  329. write_coord(Origin[OriginX] + x1)
  330. write_coord(Origin[OriginY] + y1)
  331. write_coord(Origin[OriginZ] + height)
  332. write_coord(Origin[OriginX] + x2)
  333. write_coord(Origin[OriginY] + y2)
  334. write_coord(Origin[OriginZ] + height)
  335. write_short(sprite_zbeam)
  336. write_byte(0)
  337. write_byte(0)
  338. write_byte(30)
  339. write_byte(15)
  340. write_byte(0)
  341. write_byte(255)
  342. write_byte(0)
  343. write_byte(0)
  344. write_byte(100)
  345. write_byte(0)
  346. message_end()
  347. }
  348. }
  349. }
  350.  
  351. stock create_logo(Origin[3])
  352. {
  353. new Float:flOrigin[3]
  354. IVecFVec(Origin, flOrigin)
  355.  
  356. new sprite = create_entity("info_target")
  357. if(is_valid_ent(sprite))
  358. {
  359. entity_set_string(sprite, EV_SZ_classname, "kzlogo")
  360. entity_set_model(sprite, "sprites/knifezone.spr")
  361.  
  362. flOrigin[2] += get_pcvar_num(cvar_height)
  363. entity_set_origin(sprite, flOrigin)
  364. }
  365. }
  366.  
  367. _makeZone(id)
  368. {
  369. new iOrigin[3], CurMap[32]
  370. get_user_origin(id, iOrigin, 0)
  371. get_mapname(CurMap, 31)
  372.  
  373. zoneID = 0
  374. save_origin(CurMap, iOrigin)
  375. load_origins(CurMap)
  376.  
  377. if(task_exists(TASK_ID))
  378. remove_task(TASK_ID)
  379.  
  380. set_task(1.0, "task_visuals", TASK_ID, _, _, "b")
  381. }
  382.  
  383. _removeZones()
  384. {
  385. new MapFile[64], CurMap[32]
  386. get_mapname(CurMap, 31)
  387. format(MapFile, 63, "%s/%s.cfg", g_KnifeZoneDir, CurMap)
  388. if(file_exists(MapFile))
  389. delete_file(MapFile)
  390.  
  391. if(task_exists(TASK_ID))
  392. remove_task(TASK_ID)
  393.  
  394. zoneID = 0
  395.  
  396. for(new i = 0; i < MAX_ZONES; ++i)
  397. {
  398. g_KnifeZoneLogos[i] = false
  399. g_KnifeZoneOrgins[i][OriginX] = 0
  400. g_KnifeZoneOrgins[i][OriginY] = 0
  401. g_KnifeZoneOrgins[i][OriginZ] = 0
  402. }
  403.  
  404. new logo = -1
  405. while((logo = find_ent_by_class(logo, "kzlogo")))
  406. remove_entity(logo)
  407. }
  408.  




Őőő jó lett , be jött a menü , csak most meg nem hozza létre a zónát... Rá megyek , hogy zóna létrehozása , és be zára... Semmit sem csinál... És a mappába se rak bele semmit... Valami ötlet?


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Kés zóna.
HozzászólásElküldve: 2014.01.17. 19:24 
Offline
Jómunkásember

Csatlakozott: 2012.01.29. 12:48
Hozzászólások: 408
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 126 alkalommal
Írtam neked hogy azt a forráskódot másold ki amit linkeltem az előző hozzászólásomba, és azt alakítsd át amxx-é!

Ők köszönték meg HuBaBuBa nek ezt a hozzászólást: sajtoskecske55 (2014.01.18. 14:50)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Kés zóna.
HozzászólásElküldve: 2014.01.18. 15:05 
Offline
Tag

Csatlakozott: 2013.11.08. 14:56
Hozzászólások: 52
Megköszönt másnak: 50 alkalommal
HuBaBuBa írta:
Írtam neked hogy azt a forráskódot másold ki amit linkeltem az előző hozzászólásomba, és azt alakítsd át amxx-é!



Ez sem csinál semmit........ Zóna létrehozása , és be zárja... Semmit se csinál...


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Kés zóna.
HozzászólásElküldve: 2014.01.25. 23:27 
Offline
Jómunkásember

Csatlakozott: 2012.01.29. 12:48
Hozzászólások: 408
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 126 alkalommal
Egy moderátor legyen szíves törölni a hsz.-eket a megoldásomig, mert úgy látszik hogy a sok "IQ harcos" valószínűleg a "sajtoskecske idézetéből másolja ki a forráskódot ami még hibás volt".

Linux-on & Windows-on tesztelve!
Ui.: A hitetlenkedőknek: http://www.youtube.com/watch?v=tSu2i9zA ... e=youtu.be


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Kés zóna.
HozzászólásElküldve: 2014.01.26. 09:48 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2012.10.09. 13:48
Hozzászólások: 1439
Megköszönték neki: 174 alkalommal
Figyelmeztetések kiosztva offolásért, provokálásért. Témát zárom.

_________________
Minden jót! :)


Hozzászólás jelentése
Vissza a tetejére
   
 
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  A témát lezárták, nem szerkesztheted a hozzászólásaid, és nem küldhetsz új hozzászólást.  [ 8 hozzászólás ] 


Ki van itt

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