hlmod.hu

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



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: nincs regisztrált felhasználó 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  [ 27 hozzászólás ]  Oldal 1 2 3 Következő
Szerző Üzenet
 Hozzászólás témája: [CSO] Gun Deathmatch
HozzászólásElküldve: 2014.10.31. 09:08 
Offline
Veterán
Avatar

Csatlakozott: 2013.03.26. 20:20
Hozzászólások: 1846
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 120 alkalommal
[kozep]Kép[/kozep]

[kozep]Ez a mód a CSO (Counter Strike Online) játékból származik. Olvasd végig a leírást, cvar listát és a telepítést!!![/kozep]

Videó (Angol felirattal):

[youtube]KEA77m98yfA[/youtube]

Áttekintés:

KépKép
Mint a Team Deathmatch-ben, ebben a módban is "1 kör" van. Amikor elkezdődik a játék, a játékosok erős fegyvereket kapnak. Ha a játékos megöl egy bizonyos mennyiségű ellenséget, gyengébb fegyvert kap és így tovább. Az utolsó fegyver: glock. Ha a játékos glock-al megöl valakit, akkor HE gárnátot kap, amivel megnyerheti a meccset. A meccs akkor ér véget, ha valaki HE gránáttal öl, vagy valamelyik csapat eléri a maximális ölésszámot, vagy a játékidő letelik.

Kompatibilis pályák:

Kép Camouflage
Kép Industrial 2
Kép Suzhou
Kép Gallery
Kép Checkmate
Kép Assault
Kép Dust
Kép Dust 2
Kép Italy
Kép Mouse Hole

Ha nemcsak ezeken a pályákon akarsz játszani, akkor szerkezd át ezt:
SMA Forráskód: [ Mindet kijelol ]
  1. new allow_maps[][][] = {
  2. { "cs_assault", "Assault" },
  3. { "cs_camouflage_cso", "Camouflage" },
  4. { "cs_italy", "Italy" },
  5. { "de_dust", "Dust" },
  6. { "de_dust2", "Dust 2" },
  7. { "de_inferno", "Inferno" },
  8. { "de_rats", "Mouse Hole" },
  9. { "dm_gallery_cso", "Gallery" },
  10. { "dm_industry2", "Industrial 2" },
  11. { "dm_suzhou", "Suzhou" },
  12. { "fun_checkmate", "Checkmate" }
  13. }

Bal oldalra a pálya neve kerüljön .bsp kiterjesztés nélkül, jobb oldalra, hogy milyen névre akarod átnevezni. Ha nem akarod átnevezni, csak hagyd így: ""

Fegyverek elrendezése:

Egy szinten több fegyver fordul elő (Kivétel a 3. és a 13. szint, ott csak egy van). A mód fegyverváltáskor az adott szintből választ egy fegyvert. A fegyverváltás 2 ~ 4 ölés után következik be, szinttől függ. Összesen 60 ölés kell, hogy eljuss az utolsó szintig. Játékidő mellett jelzi, hogy hány ölés maradt hátra az adott szintből:
Kép

Kép

Cvar:

"GunDM_Max_Score" "érték" - a Mód maximális ölés számát adhatod meg vele (Min 700-on legyen, ugyanis a csapatok ölésszámához van viszonyítva és az nem kevés szokott lenni :D )

Telepítés:

Minden mappázás szerint történjen, SMA-t nem kell feltölteni szerverre, de átkell őket alakítani .amxx fájl-á. RAR fájlok mident tartalmaznak. A fórum által használt plugin feltöltéshez való átalakító nem fogja lefordítani a mód forráskódját, mert tartalmaz egyedi .inc fájlokat. Megoldás: saját számítógépen átalakítani, vagy olyan online átalakítón, ahol fel lehet tölteni .inc fájlokat.

Egy plugin lista, hogy ne keljen sokáig gépelnetek a plugins.ini fájlba:
Kód:
cso_gun_deathmatch.amxx
weapon_an94.amxx
weapon_anaconda.amxx
weapon_as50.amxx
weapon_dinfinity.amxx
weapon_hk23.amxx
weapon_k1a.amxx
weapon_kriss.amxx
weapon_ksg12.amxx
weapon_m14.amxx
weapon_m16a4.amxx
weapon_m24.amxx
weapon_m95.amxx
weapon_m1887.amxx
weapon_mg36.amxx
weapon_mp7a1.amxx
weapon_qbb95.amxx
weapon_scar.amxx
weapon_stg44.amxx
weapon_svd.amxx
weapon_tar21.amxx
weapon_thompson.amxx
weapon_usas12.amxx
weapon_xm8.amxx
weapon_xm2010.amxx
weapon_infib.amxx
weapon_infis.amxx


Ha nem akarod használni CSO-s skineket 1.6-os fegyverekre, keresd meg ezt a sort, és írd át ere:
SMA Forráskód: [ Mindet kijelol ]
  1. // #define USE_CSO_SKINS


A módhoz szükséges 2 Modul:
Kód:
NoRound End
MapName Patcher


Mind a 2 modul tartalmaz Windows szerverre és Linux szerverre kiterjesztést.

Ezeket a modulokat írd bele így a modules.ini fájlba:
Kód:
noroundend
mapname_patcher


server.cfg fájlba írd be ezt:
Kód:
sv_noroundend "1"


Mapváltó pluginokat ne rakjatok be, alapot is kikell venni, mert a mód választ a tömből egy véletlenszerű pályát köv. pályának!!!

A HUD feliratok multilingual-al történnek (ékezeteket megjelenít), ami tartalmaz ANGOL és MAGYAR nyelvet.

A Plugin átírja a GameDesc-et arra az értékre, amit megadsz neki:
SMA Forráskód: [ Mindet kijelol ]
  1. new const gdm_gamename[] = "Gun Deathmatch"


A PLUGIN JÁTSZATÓ BOT-OKKAL IS.
HA VALAMI BUG-OS, AKKOR JELEZZÉTEK NEKEM. JÓ JÁTÉKOT KÍVÁNOK A MÓDHOZ.


Fájlok elérhetők itt: https://drive.google.com/folderview?id= ... =drive_web

_________________
Projektem:

[CSO2] Ghost Mod
CSO2 GamePlay video: https://www.youtube.com/watch?feature=p ... iOS4Ik1Yrk


A hozzászólást 1 alkalommal szerkesztették, utoljára RaZzoR 2014.10.31. 09:22-kor.

Ők köszönték meg RaZzoR nek ezt a hozzászólást (összesen 2): ismeretlen (2014.12.01. 20:38) • mforce (2015.01.26. 16:35)
  Népszerűség: 4.55%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: [CSO] Gun Deathmatch
HozzászólásElküldve: 2014.10.31. 09:18 
Kód:
cso_gun_deathmatchsma.sma(3) : fatal error 100: cannot read from file: "cso_gdm"


Ezzel mit lehet kezdeni?


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: [CSO] Gun Deathmatch
HozzászólásElküldve: 2014.10.31. 09:19 
Offline
Veterán
Avatar

Csatlakozott: 2013.03.26. 20:20
Hozzászólások: 1846
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 120 alkalommal
Leírásban bentvan.

_________________
Projektem:

[CSO2] Ghost Mod
CSO2 GamePlay video: https://www.youtube.com/watch?feature=p ... iOS4Ik1Yrk


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: [CSO] Gun Deathmatch
HozzászólásElküldve: 2014.10.31. 09:25 
Hogy kell letölteni mert van az a link nekem nem sikerül :( kiakarom próbálni


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: [CSO] Gun Deathmatch
HozzászólásElküldve: 2014.10.31. 09:34 
Offline
Veterán
Avatar

Csatlakozott: 2013.03.26. 20:20
Hozzászólások: 1846
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 120 alkalommal
Nekem jó a link, csak rákell menni a RAR fájlra, és felül megjelenik egy letöltés ikon.

_________________
Projektem:

[CSO2] Ghost Mod
CSO2 GamePlay video: https://www.youtube.com/watch?feature=p ... iOS4Ik1Yrk


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: [CSO] Gun Deathmatch
HozzászólásElküldve: 2014.10.31. 09:40 
Már meg van!
babapiskóta.~ írta:
RaZzoR írta:
Mediafire jó lesz?

szerintem nem tudja miaz xD


Nem kellene Offolgatni törölve lesz!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: [CSO] Gun Deathmatch
HozzászólásElküldve: 2014.12.03. 17:52 
Offline
Veterán
Avatar

Csatlakozott: 2013.03.26. 20:20
Hozzászólások: 1846
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 120 alkalommal
ChangeLog:

Kód:
1.0.1 - Bomba, Túsz, Menekülési és egyéb zónák törlésének fixálása


SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cso_gdm>
  4. #include <cstrike>
  5. #include <csx>
  6. #include <engine>
  7. #include <fakemeta>
  8. #include <fakemeta_util>
  9. #include <fun>
  10. #include <hamsandwich>
  11. #include <mapname_patcher>
  12.  
  13. #define PLUGIN "[CSO] Gun Deathmatch"
  14. #define VERSION "1.0.1"
  15. #define AUTHOR "RaZzoR"
  16.  
  17. #define DICTIONARY "cso_gun_deathmatch.txt"
  18. #define USE_CSO_SKINS
  19.  
  20. #if defined USE_CSO_SKINS
  21. new const old_v_models[][] = {
  22. "models/v_ak47.mdl",
  23. "models/v_aug.mdl",
  24. "models/v_awp.mdl",
  25. "models/v_deagle.mdl",
  26. "models/v_elite.mdl",
  27. "models/v_famas.mdl",
  28. "models/v_fiveseven.mdl",
  29. "models/v_g3sg1.mdl",
  30. "models/v_galil.mdl",
  31. "models/v_glock18.mdl",
  32. "models/v_hegrenade.mdl",
  33. "models/v_knife.mdl",
  34. "models/v_m3.mdl",
  35. "models/v_m4a1.mdl",
  36. "models/v_m249.mdl",
  37. "models/v_mac10.mdl",
  38. "models/v_mp5.mdl",
  39. "models/v_p90.mdl",
  40. "models/v_p228.mdl",
  41. "models/v_scout.mdl",
  42. "models/v_sg550.mdl",
  43. "models/v_sg552.mdl",
  44. "models/v_tmp.mdl",
  45. "models/v_xm1014.mdl"
  46. }
  47.  
  48. new const new_v_models[][] = {
  49. "models/cso_gun_deathmatch/v_ak47.mdl",
  50. "models/cso_gun_deathmatch/v_aug.mdl",
  51. "models/cso_gun_deathmatch/v_awp.mdl",
  52. "models/cso_gun_deathmatch/v_deagle.mdl",
  53. "models/cso_gun_deathmatch/v_elite.mdl",
  54. "models/cso_gun_deathmatch/v_famas.mdl",
  55. "models/cso_gun_deathmatch/v_fiveseven.mdl",
  56. "models/cso_gun_deathmatch/v_g3sg1.mdl",
  57. "models/cso_gun_deathmatch/v_galil.mdl",
  58. "models/cso_gun_deathmatch/v_glock18.mdl",
  59. "models/cso_gun_deathmatch/v_hegrenade.mdl",
  60. "models/cso_gun_deathmatch/v_knife.mdl",
  61. "models/cso_gun_deathmatch/v_m3.mdl",
  62. "models/cso_gun_deathmatch/v_m4a1.mdl",
  63. "models/cso_gun_deathmatch/v_m249.mdl",
  64. "models/cso_gun_deathmatch/v_mac10.mdl",
  65. "models/cso_gun_deathmatch/v_mp5.mdl",
  66. "models/cso_gun_deathmatch/v_p90.mdl",
  67. "models/cso_gun_deathmatch/v_p228.mdl",
  68. "models/cso_gun_deathmatch/v_scout.mdl",
  69. "models/cso_gun_deathmatch/v_sg550.mdl",
  70. "models/cso_gun_deathmatch/v_sg552.mdl",
  71. "models/cso_gun_deathmatch/v_tmp.mdl",
  72. "models/cso_gun_deathmatch/v_xm1014.mdl"
  73. }
  74. #endif
  75.  
  76. new const allow_maps[][][] = {
  77. { "cs_assault", "Assault" },
  78. { "cs_camouflage_cso", "Camouflage" },
  79. { "cs_italy", "Italy" },
  80. { "de_dust", "Dust" },
  81. { "de_dust2", "Dust 2" },
  82. { "de_inferno", "Inferno" },
  83. { "de_rats", "Mouse Hole" },
  84. { "dm_gallery_cso", "Gallery" },
  85. { "dm_industry2", "Industrial 2" },
  86. { "dm_suzhou", "Suzhou" },
  87. { "fun_checkmate", "Checkmate" }
  88. }
  89.  
  90. new const gdm_weapons[][][] = {
  91. { "", "", "" }, //Not Use
  92. { "M4A1", "weapon_m4a1", "90" }, //1
  93. { "AK-47", "weapon_ak47", "90" }, //2
  94. { "M14 EBR", "weapon_m14", "" },
  95. { "SG550 Commando", "weapon_sg550", "90" }, //4
  96. { "G3/SG-1", "weapon_g3sg1", "90" }, //5
  97. { "MG36", "weapon_mg36", "" },
  98. { "TAR-21", "weapon_tar21", "" },
  99. { "AUG", "weapon_aug", "90" }, //8
  100. { "SG552", "weapon_sg552", "90" }, //9
  101. { "AS50", "weapon_as50", "" },
  102. { "M16A4", "weapon_m16a4", "" },
  103. { "AN94", "weapon_an94", "" },
  104. { "M14 EBR", "weapon_m14", "" },
  105. { "StG44", "weapon_stg44", "" },
  106. { "AWP", "weapon_awp", "30" }, //15
  107. { "XM2010", "weapon_xm2010", "" },
  108. { "SVD", "weapon_svd", "" },
  109. { "Barrett M95", "weapon_m95", "" },
  110. { "SCAR", "weapon_scar", "" },
  111. { "XM-8", "weapon_xm8", "" },
  112. { "XM2010", "weapon_xm2010", "" },
  113. { "M24", "weapon_m24", "" },
  114. { "FAMAS", "weapon_famas", "90" }, //23
  115. { "Galil", "weapon_galil", "90" }, //24
  116. { "Kriss Super V", "weapon_kriss", "" },
  117. { "K1A", "weapon_k1a", "" },
  118. { "USAS12", "weapon_usas12", "" },
  119. { "Thompson Chicago", "weapon_thompson", "" },
  120. { "MP5", "weapon_mp5navy", "120" }, //29
  121. { "StG44", "weapon_stg44", "" },
  122. { "MP7A1", "weapon_mp7a1", "" },
  123. { "M3", "weapon_m3", "32" }, //32
  124. { "XM1014 Automatic Shotgun", "weapon_xm1014", "32" }, //33
  125. { "Winchester M1887", "weapon_m1887", "" },
  126. { "KSG12", "weapon_ksg12", "" },
  127. { "M249", "weapon_m249", "200" }, //36
  128. { "HK23", "weapon_hk23", "" },
  129. { "QBB95", "weapon_qbb95", "" },
  130. { "MG36", "weapon_mg36", "" },
  131. { "Scout", "weapon_scout", "90" }, //40
  132. { "P90", "weapon_p90", "100" }, //41
  133. { "Kriss Super V", "weapon_kriss", "" },
  134. { "Desert Eagle 50C", "weapon_deagle", "35" }, //43
  135. { "Dual Beretta", "weapon_elite", "120" }, //44
  136. { "Anaconda", "weapon_anaconda", "" },
  137. { "Dual Infinity", "weapon_dinfinity", "" },
  138. { "TMP", "weapon_tmp", "120" }, //47
  139. { "MAC-10", "weapon_mac10", "100" }, //48
  140. { "Infinity Black", "weapon_infib", "" },
  141. { "P228", "weapon_p228", "52" }, //50
  142. { "Five-Seven", "weapon_fiveseven", "100" }, //51
  143. { "Infinity Silver", "weapon_infis", "" },
  144. { "Glock 18C", "weapon_glock18", "120" } //53
  145. }
  146.  
  147. new const Float:gdm_wpnhudpos[][] = {
  148. { 0.00, 0.00 }, //Not Use
  149. { 0.95, 0.90 },
  150. { 0.94, 0.90 },
  151. { 0.92, 0.90 },
  152. { 0.86, 0.90 },
  153. { 0.93, 0.90 },
  154. { 0.94, 0.90 },
  155. { 0.93, 0.90 },
  156. { 0.95, 0.90 },
  157. { 0.94, 0.90 },
  158. { 0.95, 0.90 },
  159. { 0.93, 0.90 },
  160. { 0.94, 0.90 },
  161. { 0.92, 0.90 },
  162. { 0.94, 0.90 },
  163. { 0.95, 0.90 },
  164. { 0.93, 0.90 },
  165. { 0.96, 0.90 },
  166. { 0.90, 0.90 },
  167. { 0.95, 0.90 },
  168. { 0.95, 0.90 },
  169. { 0.93, 0.90 },
  170. { 0.95, 0.90 },
  171. { 0.93, 0.90 },
  172. { 0.95, 0.90 },
  173. { 0.90, 0.90 },
  174. { 0.96, 0.90 },
  175. { 0.93, 0.90 },
  176. { 0.85, 0.90 },
  177. { 0.95, 0.90 },
  178. { 0.94, 0.90 },
  179. { 0.94, 0.90 },
  180. { 0.96, 0.90 },
  181. { 0.79, 0.90 },
  182. { 0.85, 0.90 },
  183. { 0.94, 0.90 },
  184. { 0.94, 0.90 },
  185. { 0.94, 0.90 },
  186. { 0.94, 0.90 },
  187. { 0.94, 0.90 },
  188. { 0.94, 0.90 },
  189. { 0.96, 0.90 },
  190. { 0.90, 0.90 },
  191. { 0.86, 0.90 },
  192. { 0.90, 0.90 },
  193. { 0.91, 0.90 },
  194. { 0.90, 0.90 },
  195. { 0.95, 0.90 },
  196. { 0.93, 0.90 },
  197. { 0.89, 0.90 },
  198. { 0.95, 0.90 },
  199. { 0.90, 0.90 },
  200. { 0.89, 0.90 },
  201. { 0.91, 0.90 }
  202. }
  203.  
  204. new const objective_icons[][] = {
  205. "c4",
  206. "buyzone",
  207. "rescue",
  208. "escape",
  209. "vipsafety"
  210. }
  211.  
  212. new const gdm_blockmsgs[][] = {
  213. "#Terrorists_Escaped",
  214. "#Hint_ct_vip_zone",
  215. "#Hint_hostage_rescue_zone",
  216. "#Hint_you_are_in_targetzone",
  217. "#Hint_you_are_the_vip",
  218. "#Hint_you_have_the_bomb",
  219. "#Hint_terrorist_vip_zone",
  220. "#Hint_terrorist_escape_zone"
  221. }
  222.  
  223. new const gdm_sounds[][] = {
  224. "cso_gun_deathmatch/finalattack.wav",
  225. "cso_gun_deathmatch/weaponchange.wav"
  226. }
  227.  
  228. new const gdm_reqkills[] = {
  229. 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 43, 46, 48, 51, 54, 57, 60
  230. }
  231.  
  232. new const gdm_cs_weapons[] = {
  233. 1, 2, 4, 5, 8, 9, 15, 23, 24, 29, 32, 33, 36, 40, 41, 43, 44, 47, 48, 50, 51, 53
  234. }
  235.  
  236. new const gdm_hos_4[] = {
  237. 0, 4, 8, 12, 16, 20, 24, 28, 32, 36
  238. }
  239.  
  240. new const gdm_hos_3[] = {
  241. 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 40, 43, 48, 51, 54, 57
  242. }
  243.  
  244. new const gdm_hos_2[] = {
  245. 2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 41, 44, 46, 49, 52, 55, 58
  246. }
  247.  
  248. new const gdm_hos_1[] = {
  249. 3, 7, 11, 15, 19, 23, 27, 31, 35, 39, 42, 45, 47, 50, 53, 56, 59
  250. }
  251.  
  252. new const gdm_gamename[] = "Gun Deathmatch"
  253.  
  254. const m_iJoiningState = 121
  255. const m_iMenu = 205
  256. const MENU_CHOOSEAPPEARANCE = 3
  257. const JOIN_CHOOSEAPPEARANCE = 4
  258.  
  259. new gdm_weapon[33], gdm_level[33]
  260. new pcvar_max_kill, wpn_hud, top3_hud, bot_register, score_hud, tr_score, ct_score, random_map
  261. new bool:gdm_has_grenade[33] = false
  262.  
  263. public plugin_init()
  264. {
  265. register_dictionary(DICTIONARY)
  266.  
  267. new map_name[32], buffer[128], index
  268. get_mapname(map_name, 31)
  269.  
  270. for(index=0;index<sizeof(allow_maps);index++)
  271. {
  272. if(equal(map_name, allow_maps[index][0]))
  273. {
  274. if(strlen(allow_maps[index][1]) > 0)
  275. Patch_MapName(allow_maps[index][1])
  276. break
  277. }
  278. }
  279.  
  280. if(index == sizeof(allow_maps))
  281. {
  282. formatex(buffer, sizeof(buffer), "%L", LANG_SERVER, "GDM_WRONG_MAP")
  283. set_fail_state(buffer)
  284. return
  285. }
  286.  
  287. register_plugin(PLUGIN, VERSION, AUTHOR)
  288. register_cvar("gdm_version", VERSION, FCVAR_SERVER|FCVAR_SPONLY)
  289.  
  290. set_msg_block(get_user_msgid("ClCorpse"), BLOCK_SET)
  291.  
  292. pcvar_max_kill = register_cvar("GunDM_Max_Score", "800")
  293.  
  294. register_clcmd("menuselect", "ClCmd_MenuSelect_JoinClass")
  295. register_clcmd("joinclass", "ClCmd_MenuSelect_JoinClass")
  296.  
  297. register_message(get_user_msgid("StatusIcon"), "msgStatusIcon")
  298. register_message(get_user_msgid("RoundTime"),"Event_RoundTime")
  299. register_message(get_user_msgid("HideWeapon"), "msgHideWeapon")
  300. register_message(get_user_msgid("Money"), "MsgMoney")
  301. register_message(get_user_msgid("TextMsg"), "msgTextMsg")
  302.  
  303. register_forward(FM_SetModel, "SetModel")
  304. register_forward(FM_GetGameDescription, "GameDesc")
  305. register_forward(FM_ClientKill, "Forward_ClientKill")
  306.  
  307. RegisterHam(Ham_Spawn, "player", "Spawn", 1)
  308. RegisterHam(Ham_Touch, "armoury_entity", "FwdHamPickupWeapon")
  309. RegisterHam(Ham_Touch, "weaponbox", "FwdHamPickupWeapon")
  310.  
  311. register_clcmd("drop", "block_drop")
  312. register_clcmd("chooseteam", "block_chooseteam")
  313. register_event("BombDrop", "Event_BombDropped", "a", "4=1")
  314. register_event("ResetHUD", "onResetHUD", "b")
  315.  
  316. #if defined USE_CSO_SKINS
  317. register_event("CurWeapon","Weapon_Hook","be","1=1")
  318. #endif
  319.  
  320. wpn_hud = CreateHudSyncObj(1)
  321. top3_hud = CreateHudSyncObj(2)
  322. score_hud = CreateHudSyncObj(3)
  323.  
  324. TOP3_HUD()
  325.  
  326. random_map = random(sizeof(allow_maps))
  327. }
  328.  
  329. public plugin_cfg()
  330. server_cmd("sv_restart 1")
  331.  
  332. public plugin_precache()
  333. {
  334. #if defined USE_CSO_SKINS
  335. for(new i;i<sizeof(new_v_models);i++)
  336. precache_model(new_v_models[i])
  337. #endif
  338.  
  339. for(new i;i<sizeof(gdm_sounds);i++)
  340. precache_sound(gdm_sounds[i])
  341. }
  342.  
  343. #if defined USE_CSO_SKINS
  344. public Weapon_Hook(id)
  345. {
  346. if(!is_user_alive(id))
  347. return PLUGIN_CONTINUE
  348.  
  349. static model[32]
  350. pev(id, pev_viewmodel2, model, 31)
  351.  
  352. for(new i=0;i<sizeof(new_v_models);i++)
  353. {
  354. if(equali(model, old_v_models[i]))
  355. {
  356. set_pev(id, pev_viewmodel2, new_v_models[i])
  357. break
  358. }
  359. }
  360.  
  361. return PLUGIN_CONTINUE
  362.  
  363. }
  364. #endif
  365.  
  366. public ClCmd_MenuSelect_JoinClass(id)
  367. {
  368. if(get_pdata_int(id, m_iMenu) == MENU_CHOOSEAPPEARANCE && get_pdata_int(id, m_iJoiningState) == JOIN_CHOOSEAPPEARANCE)
  369. {
  370. new command[11], arg1[32]
  371. read_argv(0, command, charsmax(command))
  372. read_argv(1, arg1, charsmax(arg1))
  373. engclient_cmd(id, command, arg1)
  374. ExecuteHam(Ham_Player_PreThink, id)
  375.  
  376. if(!is_user_alive(id))
  377. ExecuteHamB(Ham_Spawn, id)
  378.  
  379. ScoreBoard_HUD(id)
  380.  
  381. return PLUGIN_HANDLED
  382. }
  383.  
  384. return PLUGIN_CONTINUE
  385. }
  386.  
  387. public msgTextMsg(msg_id, msg_dest, msg_entity)
  388. {
  389. static message[32]
  390. get_msg_arg_string(2, message, charsmax(message))
  391.  
  392. for(new i=0;i<sizeof(gdm_blockmsgs);i++)
  393. {
  394. if(equal(message, gdm_blockmsgs[i]))
  395. return PLUGIN_CONTINUE
  396. }
  397.  
  398. return PLUGIN_HANDLED
  399. }
  400.  
  401. public onResetHUD(id)
  402. {
  403. if(!is_user_connected(id))
  404. return
  405.  
  406. message_begin(MSG_ONE, get_user_msgid("HideWeapon"), _, id)
  407. write_byte((1<<5))
  408. message_end()
  409. }
  410.  
  411. public msgStatusIcon(msgid, msgdest, id)
  412. {
  413. static szIcon[11]
  414. get_msg_arg_string(2, szIcon, 10)
  415.  
  416. for(new i=0;i<sizeof(objective_icons);i++)
  417. {
  418. if(equal(szIcon, objective_icons[i]) && get_msg_arg_int(1))
  419. {
  420. set_pdata_int(id, 235, get_pdata_int(id, 235) & ~(1<<0))
  421. return PLUGIN_HANDLED
  422. }
  423. }
  424.  
  425. return PLUGIN_CONTINUE
  426. }
  427.  
  428. public Event_BombDropped()
  429. {
  430. message_begin(MSG_BROADCAST, get_user_msgid("ShowTimer"))
  431. message_end()
  432. }
  433.  
  434. public block_drop(id)
  435. return PLUGIN_HANDLED
  436.  
  437. public block_chooseteam(id)
  438. return PLUGIN_HANDLED
  439.  
  440. public Forward_ClientKill(id)
  441. return FMRES_SUPERCEDE
  442.  
  443. public FwdHamPickupWeapon()
  444. return HAM_SUPERCEDE
  445.  
  446. public Event_RoundTime(const MsgId, const MsgDest, const MsgEnt)
  447. set_msg_arg_int(1, ARG_SHORT, get_timeleft())
  448.  
  449. public msgHideWeapon()
  450. set_msg_arg_int(1, ARG_BYTE, get_msg_arg_int(1) | (1<<5))
  451.  
  452. public MsgMoney(msgid, dest, id)
  453. {
  454. set_pdata_int(id, 115, 0)
  455. set_msg_arg_int(1, ARG_LONG, 0)
  456. }
  457.  
  458. public SetModel(iEnt, szModel[])
  459. {
  460. if(equal(szModel, "models/w_", 9))
  461. {
  462. if(szModel[9] != 'h' && !equal(szModel[9], "sm", 2) && !equal(szModel[9], "fl", 2))
  463. set_pev(iEnt, pev_nextthink, get_gametime() + 10.0)
  464. }
  465. }
  466.  
  467. public client_connect(id)
  468. {
  469. gdm_level[id] = 1
  470. gdm_has_grenade[id] = false
  471.  
  472. switch(random(3))
  473. {
  474. case 0: gdm_weapon[id] = 1
  475. case 1: gdm_weapon[id] = 2
  476. case 2: gdm_weapon[id] = 3
  477. }
  478. }
  479.  
  480. public client_putinserver(id)
  481. {
  482. if(!bot_register && is_user_bot(id))
  483. {
  484. bot_register = 1
  485. set_task(0.2, "do_register", id)
  486. }
  487. }
  488.  
  489. public do_register(id)
  490. {
  491. RegisterHamFromEntity(Ham_Spawn, id, "Spawn", 1)
  492. RegisterHamFromEntity(Ham_Touch, id, "FwdHamPickupWeapon")
  493. }
  494.  
  495. public client_death(attacker, victim, wpnindex, hitplace, TK)
  496. {
  497. new atk_frags = get_user_frags(attacker)
  498. new attacker_name[32]
  499.  
  500. get_user_name(attacker, attacker_name, charsmax(attacker_name))
  501.  
  502. if(attacker == victim)
  503. set_task(3.0, "respawn_task", attacker)
  504.  
  505. else
  506. set_task(3.0, "respawn_task", victim)
  507.  
  508. switch(wpnindex)
  509. {
  510. case CSW_GLOCK18:
  511. {
  512. if(gdm_has_grenade[attacker]) return
  513.  
  514. give_item(attacker, "weapon_hegrenade")
  515. gdm_has_grenade[attacker] = true
  516. client_print(0, print_center, "%L", LANG_PLAYER, "GDM_FINAL_HE", attacker_name)
  517. }
  518.  
  519. case CSW_HEGRENADE:
  520. {
  521. if(attacker == victim) return
  522.  
  523. switch(get_user_team(attacker))
  524. {
  525. case 1: client_print(0, print_center, "%L %L: %s", LANG_PLAYER, "GDM_TR_WIN", LANG_PLAYER, "GDM_NEXTMAP", strlen(allow_maps[random_map][1]) > 0 ? allow_maps[random_map][1] : allow_maps[random_map][0])
  526. case 2: client_print(0, print_center, "%L %L: %s", LANG_PLAYER, "GDM_CT_WIN", LANG_PLAYER, "GDM_NEXTMAP", strlen(allow_maps[random_map][1]) > 0 ? allow_maps[random_map][1] : allow_maps[random_map][0])
  527. }
  528.  
  529. new players[32], pnum, tempid
  530. get_players(players, pnum)
  531.  
  532. for(new i=0;i<pnum;i++)
  533. {
  534. tempid = players[i]
  535. set_user_godmode(tempid, 1)
  536. }
  537.  
  538. set_task(1.5, "map_change")
  539. }
  540. }
  541.  
  542. switch(get_user_team(attacker))
  543. {
  544. case 1: tr_score++
  545. case 2: ct_score++
  546. }
  547.  
  548. if(gdm_level[attacker] < 17)
  549. {
  550. while(atk_frags >= gdm_reqkills[gdm_level[attacker]])
  551. {
  552. gdm_level[attacker]++
  553.  
  554. switch(gdm_level[attacker])
  555. {
  556. case 2, 9, 17: gdm_weapon[attacker] += 3
  557.  
  558. case 3: gdm_weapon[attacker] = 7
  559.  
  560. case 4:
  561. {
  562. switch(random(3))
  563. {
  564. case 0: gdm_weapon[attacker] = 8
  565. case 1: gdm_weapon[attacker] = 9
  566. case 2: gdm_weapon[attacker] = 10
  567. }
  568. }
  569.  
  570. case 5:
  571. {
  572. switch(random(4))
  573. {
  574. case 0: gdm_weapon[attacker] = 11
  575. case 1: gdm_weapon[attacker] = 12
  576. case 2: gdm_weapon[attacker] = 13
  577. case 3: gdm_weapon[attacker] = 14
  578. }
  579. }
  580.  
  581. case 6, 12: gdm_weapon[attacker] += 4
  582.  
  583. case 7:
  584. {
  585. switch(random(4))
  586. {
  587. case 0: gdm_weapon[attacker] = 19
  588. case 1: gdm_weapon[attacker] = 20
  589. case 2: gdm_weapon[attacker] = 21
  590. case 3: gdm_weapon[attacker] = 22
  591. }
  592. }
  593.  
  594. case 8:
  595. {
  596. switch(random(3))
  597. {
  598. case 0: gdm_weapon[attacker] = 23
  599. case 1: gdm_weapon[attacker] = 24
  600. case 2: gdm_weapon[attacker] = 25
  601. }
  602. }
  603.  
  604. case 10:
  605. {
  606. switch(random(3))
  607. {
  608. case 0: gdm_weapon[attacker] = 29
  609. case 1: gdm_weapon[attacker] = 30
  610. case 2: gdm_weapon[attacker] = 31
  611. }
  612. }
  613.  
  614. case 11:
  615. {
  616. switch(random(4))
  617. {
  618. case 0: gdm_weapon[attacker] = 32
  619. case 1: gdm_weapon[attacker] = 33
  620. case 2: gdm_weapon[attacker] = 34
  621. case 3: gdm_weapon[attacker] = 35
  622. }
  623. }
  624.  
  625. case 13: gdm_weapon[attacker] = 40
  626.  
  627. case 14:
  628. {
  629. switch(random(2))
  630. {
  631. case 0: gdm_weapon[attacker] = 41
  632. case 1: gdm_weapon[attacker] = 42
  633. }
  634. }
  635.  
  636. case 15:
  637. {
  638. switch(random(4))
  639. {
  640. case 0: gdm_weapon[attacker] = 43
  641. case 1: gdm_weapon[attacker] = 44
  642. case 2: gdm_weapon[attacker] = 45
  643. case 3: gdm_weapon[attacker] = 46
  644. }
  645. }
  646.  
  647. case 16:
  648. {
  649. switch(random(3))
  650. {
  651. case 0: gdm_weapon[attacker] = 47
  652. case 1: gdm_weapon[attacker] = 48
  653. case 2: gdm_weapon[attacker] = 49
  654. }
  655. }
  656. }
  657.  
  658. strip_user_weapons(attacker)
  659. give_item(attacker, "weapon_knife")
  660. reset_cso_weapons(attacker, gdm_level[attacker])
  661.  
  662. for(new i=0;i<sizeof(gdm_cs_weapons);i++)
  663. {
  664. if(gdm_weapon[attacker] == gdm_cs_weapons[i])
  665. {
  666. new weapon_id = get_weaponid(gdm_weapons[gdm_weapon[attacker]][1])
  667. new convert_to_num = str_to_num(gdm_weapons[gdm_weapon[attacker]][2])
  668.  
  669. give_item(attacker, gdm_weapons[gdm_weapon[attacker]][1])
  670. cs_set_user_bpammo(attacker, weapon_id, convert_to_num)
  671. }
  672.  
  673. else if(gdm_weapon[attacker] != gdm_cs_weapons[i])
  674. {
  675. new buffer[128]
  676. formatex(buffer, sizeof(buffer), "%s.amxx", gdm_weapons[gdm_weapon[attacker]][1])
  677.  
  678. if(callfunc_begin(gdm_weapons[gdm_weapon[attacker]][1], buffer) == 1)
  679. {
  680. callfunc_push_int(attacker)
  681. callfunc_end()
  682. }
  683. }
  684. }
  685.  
  686. client_cmd(attacker, "speak ^"%s^"", gdm_sounds[1])
  687. client_print(attacker, print_center, "%L %s", attacker, "GDM_WPNCHANGE", gdm_weapons[gdm_weapon[attacker]][0])
  688. }
  689. }
  690. else
  691. {
  692. if(atk_frags == 60)
  693. {
  694. gdm_level[attacker] = 18
  695. gdm_weapon[attacker] = 53
  696.  
  697. strip_user_weapons(attacker)
  698. give_item(attacker, "weapon_knife")
  699. reset_cso_weapons(attacker, gdm_level[attacker])
  700.  
  701. new weapon_id = get_weaponid(gdm_weapons[gdm_weapon[attacker]][1])
  702. new convert_to_num = str_to_num(gdm_weapons[gdm_weapon[attacker]][2])
  703.  
  704. give_item(attacker, gdm_weapons[gdm_weapon[attacker]][1])
  705. cs_set_user_bpammo(attacker, weapon_id, convert_to_num)
  706.  
  707. client_cmd(attacker, "speak ^"%s^"", gdm_sounds[0])
  708. client_print(attacker, print_center, "%L %s", attacker, "GDM_FINALATK", gdm_weapons[gdm_weapon[attacker]][0])
  709. }
  710. }
  711.  
  712. if(tr_score == get_pcvar_num(pcvar_max_kill) || ct_score == get_pcvar_num(pcvar_max_kill))
  713. {
  714. if(tr_score == get_pcvar_num(pcvar_max_kill))
  715. client_print(0, print_center, "%L %L: %s", LANG_PLAYER, "GDM_TR_WIN", LANG_PLAYER, "GDM_NEXTMAP", strlen(allow_maps[random_map][1]) > 0 ? allow_maps[random_map][1] : allow_maps[random_map][0])
  716. else
  717. client_print(0, print_center, "%L %L: %s", LANG_PLAYER, "GDM_CT_WIN", LANG_PLAYER, "GDM_NEXTMAP", strlen(allow_maps[random_map][1]) > 0 ? allow_maps[random_map][1] : allow_maps[random_map][0])
  718.  
  719. new players[32], pnum, tempid
  720. get_players(players, pnum)
  721.  
  722. for(new i=0;i<pnum;i++)
  723. {
  724. tempid = players[i]
  725. set_user_godmode(tempid, 1)
  726. }
  727.  
  728. set_task(1.5, "map_change")
  729. }
  730. }
  731.  
  732. public grenade_throw(id, gid, wid)
  733. gdm_has_grenade[id] = false
  734.  
  735. public map_change()
  736. {
  737. new players[32], pnum, tempid
  738. get_players(players, pnum)
  739.  
  740. for(new i=0;i<pnum;i++)
  741. {
  742. tempid = players[i]
  743. set_user_godmode(tempid, 0)
  744. }
  745.  
  746. server_cmd("changelevel %s", allow_maps[random_map][0])
  747. }
  748.  
  749. public GameDesc()
  750. {
  751. forward_return(FMV_STRING, gdm_gamename)
  752. return FMRES_SUPERCEDE
  753. }
  754.  
  755. public respawn_task(id)
  756. ExecuteHamB(Ham_CS_RoundRespawn, id)
  757.  
  758. public Spawn(id)
  759. {
  760. if(!is_user_connected(id)) return
  761.  
  762. set_user_health(id, 100)
  763. set_user_armor(id, 100)
  764.  
  765. new weapon_name[15]
  766. switch(get_user_team(id))
  767. {
  768. case 1: weapon_name = "weapon_glock18"
  769. case 2: weapon_name = "weapon_usp"
  770. default: return
  771. }
  772.  
  773. new weapon = find_ent_by_owner(-1, weapon_name, id)
  774. if(!weapon) return
  775.  
  776. engclient_cmd(id, "drop", weapon_name)
  777. new weaponbox = entity_get_edict(weapon, EV_ENT_owner)
  778. if(!weaponbox || weaponbox == id) return
  779.  
  780. remove_entity(weaponbox)
  781. remove_entity(weapon)
  782.  
  783. for(new i=0;i<sizeof(gdm_cs_weapons);i++)
  784. {
  785. if(gdm_weapon[id] == gdm_cs_weapons[i])
  786. {
  787. new weapon_id = get_weaponid(gdm_weapons[gdm_weapon[id]][1])
  788. new convert_to_num = str_to_num(gdm_weapons[gdm_weapon[id]][2])
  789.  
  790. give_item(id, gdm_weapons[gdm_weapon[id]][1])
  791. cs_set_user_bpammo(id, weapon_id, convert_to_num)
  792. }
  793.  
  794. else if(gdm_weapon[id] != gdm_cs_weapons[i])
  795. {
  796. new buffer[128]
  797. formatex(buffer, sizeof(buffer), "%s.amxx", gdm_weapons[gdm_weapon[id]][1])
  798.  
  799. if(callfunc_begin(gdm_weapons[gdm_weapon[id]][1], buffer) == 1)
  800. {
  801. callfunc_push_int(id)
  802. callfunc_end()
  803. }
  804. }
  805. }
  806.  
  807. if(gdm_has_grenade[id])
  808. give_item(id, "weapon_hegrenade")
  809.  
  810. set_user_godmode(id, 1)
  811. set_rendering(id, kRenderFxGlowShell, 255, 255, 255, kRenderNormal, 16)
  812. set_task(3.0, "remove_protection", id)
  813. }
  814.  
  815. public remove_protection(id)
  816. {
  817. set_user_godmode(id, 0)
  818. set_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
  819. }
  820.  
  821. public client_PostThink(id)
  822. {
  823. if(!is_user_alive(id)) return
  824.  
  825. new iSprite[16]
  826. message_begin(MSG_ONE, get_user_msgid("Scenario"), {0,0,0}, id)
  827. write_byte(1)
  828.  
  829. for(new i=0;i<sizeof(gdm_hos_4);i++)
  830. {
  831. if(get_user_frags(id) == gdm_hos_4[i])
  832. format(iSprite, 15, "hostage4")
  833. }
  834.  
  835. for(new i=0;i<sizeof(gdm_hos_3);i++)
  836. {
  837. if(get_user_frags(id) == gdm_hos_3[i])
  838. format(iSprite, 15, "hostage3")
  839. }
  840.  
  841. for(new i=0;i<sizeof(gdm_hos_2);i++)
  842. {
  843. if(get_user_frags(id) == gdm_hos_2[i])
  844. format(iSprite, 15, "hostage2")
  845. }
  846.  
  847. for(new i=0;i<sizeof(gdm_hos_1);i++)
  848. {
  849. if(get_user_frags(id) == gdm_hos_1[i])
  850. format(iSprite, 15, "hostage1")
  851. }
  852.  
  853. write_string(iSprite)
  854. write_byte(127)
  855. write_short(0)
  856. message_end()
  857. }
  858.  
  859. public ScoreBoard_HUD(id)
  860. {
  861. /* ScoreBoard */
  862. set_hudmessage(255, 255, 255, -1.0, 0.00, 0, 6.0, 12.0)
  863.  
  864. if(gdm_level[id] <= 17)
  865. ShowSyncHudMsg(id, score_hud, "TR %i [%i %L] CT %i ^n%L %i", tr_score, get_pcvar_num(pcvar_max_kill), id, "GDM_KILL", ct_score, id, "GDM_LV", gdm_level[id])
  866. else
  867. ShowSyncHudMsg(id, score_hud, "TR %i [%i %L] CT %i ^n%L Max", tr_score, get_pcvar_num(pcvar_max_kill), id, "GDM_KILL", ct_score, id, "GDM_LV")
  868.  
  869. /* Weapons */
  870. set_hudmessage(255, 212, 0, gdm_wpnhudpos[gdm_weapon[id]][0], gdm_wpnhudpos[gdm_weapon[id]][1], 0, 6.0, 12.0)
  871. ShowSyncHudMsg(id, wpn_hud, "%s", gdm_weapons[gdm_weapon[id]][0])
  872.  
  873. set_task(0.2, "ScoreBoard_HUD", id)
  874. }
  875.  
  876. public TOP3_HUD()
  877. {
  878.  
  879. /* TOP3 */
  880. new players[32], num, top1, top2, top3
  881. new top1_name[33], top2_name[33], top3_name[33]
  882.  
  883. get_players(players, num)
  884. SortCustom1D(players, num, "sort_bestplayer")
  885.  
  886. top1 = players[0]
  887. top2 = players[1]
  888. top3 = players[2]
  889.  
  890. get_user_name(top1, top1_name, charsmax(top1_name))
  891. get_user_name(top2, top2_name, charsmax(top2_name))
  892. get_user_name(top3, top3_name, charsmax(top3_name))
  893.  
  894. set_hudmessage(0, 255, 255, -0.00, 0.21, 0, 6.0, 12.0)
  895.  
  896. if(get_user_frags(top1) >= 1)
  897. {
  898. if(gdm_level[top1] <= 17)
  899. ShowSyncHudMsg(0, top3_hud, "%L %L%i %s", LANG_PLAYER, "GDM_1ST", LANG_PLAYER, "GDM_LV", gdm_level[top1], top1_name)
  900. else
  901. ShowSyncHudMsg(0, top3_hud, "%L %LMax %s", LANG_PLAYER, "GDM_1ST", LANG_PLAYER, "GDM_LV", top1_name)
  902. }
  903.  
  904. if(get_user_frags(top2) >= 1)
  905. {
  906. if(gdm_level[top1] <= 17 && gdm_level[top2] <= 17)
  907. ShowSyncHudMsg(0, top3_hud, "%L %L%i %s ^n%L %L%i %s", LANG_PLAYER, "GDM_1ST", LANG_PLAYER, "GDM_LV", gdm_level[top1], top1_name, LANG_PLAYER, "GDM_2ND", LANG_PLAYER, "GDM_LV", gdm_level[top2], top2_name)
  908. else if(gdm_level[top1] > 17 && gdm_level[top2] <= 17)
  909. ShowSyncHudMsg(0, top3_hud, "%L %LMax %s ^n%L %L%i %s", LANG_PLAYER, "GDM_1ST", LANG_PLAYER, "GDM_LV", top1_name, LANG_PLAYER, "GDM_2ND", LANG_PLAYER, "GDM_LV", gdm_level[top2], top2_name)
  910. else
  911. ShowSyncHudMsg(0, top3_hud, "%L %LMax %s ^n%L %LMax %s", LANG_PLAYER, "GDM_1ST", LANG_PLAYER, "GDM_LV", top1_name, LANG_PLAYER, "GDM_2ND", LANG_PLAYER, "GDM_LV", top2_name)
  912. }
  913.  
  914. if(get_user_frags(top3) >= 1)
  915. {
  916. if(gdm_level[top1] <= 17 && gdm_level[top2] <= 17 && gdm_level[top3] <= 17)
  917. ShowSyncHudMsg(0, top3_hud, "%L %L%i %s ^n%L %L%i %s ^n%L %L%i %s", LANG_PLAYER, "GDM_1ST", LANG_PLAYER, "GDM_LV", gdm_level[top1], top1_name, LANG_PLAYER, "GDM_2ND", LANG_PLAYER, "GDM_LV", gdm_level[top2], top2_name, LANG_PLAYER, "GDM_3RD", LANG_PLAYER, "GDM_LV", gdm_level[top3], top3_name)
  918. else if(gdm_level[top1] > 17 && gdm_level[top2] <= 17 && gdm_level[top3] <= 17)
  919. ShowSyncHudMsg(0, top3_hud, "%L %LMax %s ^n%L %L%i %s ^n%L %L%i %s", LANG_PLAYER, "GDM_1ST", LANG_PLAYER, "GDM_LV", top1_name, LANG_PLAYER, "GDM_2ND", LANG_PLAYER, "GDM_LV", gdm_level[top2], top2_name, LANG_PLAYER, "GDM_3RD", LANG_PLAYER, "GDM_LV", gdm_level[top3], top3_name)
  920. else if(gdm_level[top1] > 17 && gdm_level[top2] > 17 && gdm_level[top3] <= 17)
  921. ShowSyncHudMsg(0, top3_hud, "%L %LMax %s ^n%L %LMax %s ^n%L %L%i %s", LANG_PLAYER, "GDM_1ST", LANG_PLAYER, "GDM_LV", top1_name, LANG_PLAYER, "GDM_2ND", LANG_PLAYER, "GDM_LV", top2_name, LANG_PLAYER, "GDM_3RD", LANG_PLAYER, "GDM_LV", gdm_level[top3], top3_name)
  922. else
  923. ShowSyncHudMsg(0, top3_hud, "%L %LMax %s ^n%L %LMax %s ^n%L %LMax %s", LANG_PLAYER, "GDM_1ST", LANG_PLAYER, "GDM_LV", top1_name, LANG_PLAYER, "GDM_2ND", LANG_PLAYER, "GDM_LV", top2_name, LANG_PLAYER, "GDM_3RD", LANG_PLAYER, "GDM_LV", top3_name)
  924. }
  925.  
  926. if(get_timeleft() <= 0)
  927. {
  928. if(tr_score > ct_score)
  929. client_print(0, print_center, "%L %L: %s", LANG_PLAYER, "GDM_TR_WIN", LANG_PLAYER, "GDM_NEXTMAP", strlen(allow_maps[random_map][1]) > 0 ? allow_maps[random_map][1] : allow_maps[random_map][0])
  930. else
  931. client_print(0, print_center, "%L %L: %s", LANG_PLAYER, "GDM_CT_WIN", LANG_PLAYER, "GDM_NEXTMAP", strlen(allow_maps[random_map][1]) > 0 ? allow_maps[random_map][1] : allow_maps[random_map][0])
  932.  
  933. new players[32], pnum, tempid
  934. get_players(players, pnum)
  935.  
  936. for(new i=0;i<pnum;i++)
  937. {
  938. tempid = players[i]
  939. set_user_godmode(tempid, 1)
  940. }
  941.  
  942. set_task(1.5, "map_change")
  943. }
  944.  
  945. set_task(0.2, "TOP3_HUD")
  946. }
  947.  
  948. public sort_bestplayer(id1, id2)
  949. {
  950. if(get_user_frags(id1) > get_user_frags(id2))
  951. return -1
  952. else if(get_user_frags(id1) < get_user_frags(id2))
  953. return 1
  954.  
  955. return 0
  956. }

_________________
Projektem:

[CSO2] Ghost Mod
CSO2 GamePlay video: https://www.youtube.com/watch?feature=p ... iOS4Ik1Yrk


A hozzászólást 2 alkalommal szerkesztették, utoljára RaZzoR 2014.12.06. 08:59-kor.

Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: [CSO] Gun Deathmatch
HozzászólásElküldve: 2014.12.06. 01:44 
Offline
Őskövület
Avatar

Csatlakozott: 2011.12.28. 00:35
Hozzászólások: 2736
Megköszönt másnak: 56 alkalommal
Megköszönték neki: 275 alkalommal
A lényeg h nem buggos..-.-

_________________
****


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: [CSO] Gun Deathmatch
HozzászólásElküldve: 2014.12.06. 08:29 
Offline
Veterán
Avatar

Csatlakozott: 2013.03.26. 20:20
Hozzászólások: 1846
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 120 alkalommal
Mi bugos benne?

_________________
Projektem:

[CSO2] Ghost Mod
CSO2 GamePlay video: https://www.youtube.com/watch?feature=p ... iOS4Ik1Yrk


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: [CSO] Gun Deathmatch
HozzászólásElküldve: 2015.01.01. 01:20 
Offline
Újonc
Avatar

Csatlakozott: 2014.12.30. 14:02
Hozzászólások: 13
Not Found

The requested URL /Hiba was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
-.-"

_________________
Név: Fanta$tic / ~Destroy*anonymousCL(régi)
CS-zek: 4-5 éve (2010 óta)
Pluginozok: Kb. 1 éve
Vidizek: 1-2 éve
Facebook: https://www.facebook.com/DestroyAnonymousCL


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  [ 27 hozzászólás ]  Oldal 1 2 3 Következő


Ki van itt

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


Nem nyithatsz 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