hlmod.hu

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



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: ASDD, Majestic-12 [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  [ 5 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Deagle awp zóna
HozzászólásElküldve: 2018.03.14. 22:43 
Offline
Beavatott

Csatlakozott: 2018.03.04. 12:34
Hozzászólások: 60
Megköszönt másnak: 21 alkalommal
Hy
Valaki tudna nekem olyat, mint pl a kés zóna csak én deagle zónára gondoltam és úgy lenne h egyszerre mind a 2 plugin bent és nem ütik egymást (deagle,knife) mappok miatt ja és +awpzóna ha lehetséges


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Deagle awp zóna
HozzászólásElküldve: 2018.03.15. 07:30 
Offline
Senior Tag
Avatar

Csatlakozott: 2018.02.01. 16:27
Hozzászólások: 225
Megköszönt másnak: 14 alkalommal
Megköszönték neki: 18 alkalommal
Helló!

Kés zóna plugin:
viewtopic.php?f=101&t=12642


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Deagle awp zóna
HozzászólásElküldve: 2018.03.15. 09:36 
Offline
Beavatott

Csatlakozott: 2018.03.04. 12:34
Hozzászólások: 60
Megköszönt másnak: 21 alkalommal
Az megvan, de nekem deagle meg awp zóna kellene
Megcsinálnám, de nem tudom hol kezdjem meg a fegyverelohivas kódját se tudom


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Deagle awp zóna
HozzászólásElküldve: 2018.03.15. 10:01 
Offline
Senior Tag
Avatar

Csatlakozott: 2018.02.01. 16:27
Hozzászólások: 225
Megköszönt másnak: 14 alkalommal
Megköszönték neki: 18 alkalommal
Tessék, átírtam ( AWP ) zónára, figyelj arra hogy az elérési utat is szerkesztettem a forrásban, a működése nem 100%-os, mivel én nem teszteltem.

Parancsolj:
  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_AwpZoneDir[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_AwpZoneOrgins[MAX_ZONES][3]
  30. new bool:g_AwpZoneLogos[MAX_ZONES]
  31.  
  32.  
  33.  
  34. static const PLUGIN_NAME[]  = "Awp 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_AwpZone", ADMIN_LEVEL_A, "Awp Zone Menu")
  43.     register_menucmd(register_menuid("Awp Zone Menu"), 1023, "action_AwpZone")
  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/awpzone.spr")
  58.     sprite_zbeam = precache_model("sprites/zbeam4.spr")
  59. }
  60.  
  61. register_directory()
  62. {
  63.     get_configsdir(g_ConfigsDir, 63)
  64.     format(g_AwpZoneDir, 63, "%s/awpzone", g_ConfigsDir)
  65.    
  66.     if(!dir_exists(g_AwpZoneDir))
  67.     {
  68.         log_amx("Awp 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_AwpZone(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, "Awp Zona Konyvtar Nem Letezik")
  90.     else
  91.         display_AwpZone(id)
  92.    
  93.     return PLUGIN_HANDLED
  94. }
  95.  
  96. public display_AwpZone(id)
  97. {
  98.     new menuBody[512]
  99.     new len = format(menuBody, 511, "\yAwp 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, "Awp Zona Menu") 
  106. }
  107.  
  108. public action_AwpZone(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 Awp Zonak Szamat")
  117.                 return PLUGIN_HANDLED
  118.             }
  119.            
  120.             if(!is_user_alive(id))
  121.             {
  122.                 client_print(id, print_chat, "Maradj eletben a Awp Zona Kesziteshez")
  123.                 return PLUGIN_HANDLED
  124.             }
  125.            
  126.             _makeZone(id)
  127.             display_AwpZone(id)
  128.             client_print(id, print_chat, "Letrehoztal Egy Awp Zonat")
  129.         }          
  130.         case 1:
  131.         {
  132.             _removeZones()
  133.             display_AwpZone(id)
  134.             client_print(id, print_chat, "Osszes Awp 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_AWP && 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_AWP) client_cmd(id, "weapon_awp")
  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_AwpZoneOrgins[i][OriginX] == 0)
  203.         && (g_AwpZoneOrgins[i][OriginY] == 0)
  204.         && g_AwpZoneOrgins[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_AwpZoneOrgins[i][OriginX] - iOrigin[0] > ZoneSizeX) || (g_AwpZoneOrgins[i][OriginX] - iOrigin[0] < -ZoneSizeX)
  212.         || (g_AwpZoneOrgins[i][OriginY] - iOrigin[1] > ZoneSizeY) || (g_AwpZoneOrgins[i][OriginY] - iOrigin[1] < -ZoneSizeY)
  213.         || (g_AwpZoneOrgins[i][OriginZ] - iOrigin[2] > ZoneSizeZ) || (g_AwpZoneOrgins[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_AwpZoneDir, 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_AwpZoneOrgins[zoneID][OriginX] = str_to_num(iOrigin[OriginX])
  269.         g_AwpZoneOrgins[zoneID][OriginY] = str_to_num(iOrigin[OriginY])
  270.         g_AwpZoneOrgins[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_AwpZoneDir, mapname)
  281.     if(!file_exists(mapFile))
  282.     {
  283.         new Comments[64]
  284.         format(Comments, 63, "; Awp 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_AwpZoneOrgins[i][OriginX] == 0)
  297.         && (g_AwpZoneOrgins[i][OriginY] == 0)
  298.         && g_AwpZoneOrgins[i][OriginZ] == 0)
  299.                 continue
  300.        
  301.         create_kzring(g_AwpZoneOrgins[i])
  302.        
  303.         if(get_pcvar_num(cvar_nadepro))
  304.             check_GrenadeOrigin(g_AwpZoneOrgins[i])
  305.        
  306.         if(!g_AwpZoneLogos[i])
  307.         {
  308.             g_AwpZoneLogos[i] = true
  309.             create_logo(g_AwpZoneOrgins[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/awpzone.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_AwpZoneDir, 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_AwpZoneLogos[i] = false
  410.         g_AwpZoneOrgins[i][OriginX] = 0
  411.         g_AwpZoneOrgins[i][OriginY] = 0
  412.         g_AwpZoneOrgins[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. */


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Deagle awp zóna
HozzászólásElküldve: 2018.03.15. 10:46 
Offline
Beavatott

Csatlakozott: 2018.03.04. 12:34
Hozzászólások: 60
Megköszönt másnak: 21 alkalommal
NEMJÓÓ

AMÚGYMEG
Ebben a sorban register_clcmd("amx_kzmenu", "open_AwpZone", ADMIN_LEVEL_A, "Awp Zone Menu")
|.EZT "amx-kzmenu"|
Átkellet írnom mert a kés zóna plugin is bent lesz mellette és össze bugolt volna


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


Ki van itt

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