hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.27. 14:56



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: NowOrNever 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: Siren zombi újraéledés után
HozzászólásElküldve: 2015.01.08. 23:51 
Offline
Újonc

Csatlakozott: 2015.01.08. 23:46
Hozzászólások: 2
Sziasztok.

Valaki át tudná írni úgy, hogy miután újraéled, utána is tudja használni a képességét és sebezzen is vele?

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <engine>
  3. #include <fakemeta>
  4. #include <fun>
  5. #include <xs>
  6. #include <hamsandwich>
  7. #include <zombieplague>
  8.  
  9. /*================================================================================
  10.  [Customizations]
  11. =================================================================================*/
  12.  
  13. // Zombie Attributes
  14. new const zclass_name[] = "Siren Zombie" // name
  15. new const zclass_info[] = "Scream" // description
  16. new const zclass_model[] = "siren" // model
  17. new const zclass_clawmodel[] = "v_siren.mdl" // claw model
  18. new const zclass_ring_sprite[] = "sprites/shockwave.spr" // ring sprite
  19. new const zclass_screamsounds[][] = { "zombie_plague/siren_scream.wav" } // scream sound
  20.  
  21. // Scream ring color R G B
  22. new zclass_ring_colors[3] = { 255, 0, 0 }
  23.  
  24. const zclass_health = 3000 // health
  25. const zclass_speed = 270 // speed
  26.  
  27. const Float:zclass_gravity = 0.5 // gravity
  28. const Float:zclass_knockback = 2.0 // knockback
  29.  
  30. /*================================================================================
  31.  Customization ends here! Yes, that's it. Editing anything beyond
  32.  here is not officially supported. Proceed at your own risk...
  33. =================================================================================*/
  34.  
  35. // Variables
  36. new g_iSirenZID, g_iMaxPlayers, g_msgSayText, g_msgScreenFade, g_msgScreenShake,
  37. g_msgBarTime, g_sprRing
  38.  
  39. // Arrays
  40. new g_iPlayerTaskTimes[33]
  41.  
  42. // Cvar pointers
  43. new cvar_screammode, cvar_duration, cvar_screamdmg, cvar_startime, cvar_reloadtime,
  44. cvar_radius, cvar_damagemode, cvar_slowdown
  45.  
  46. // Cached cvars
  47. new g_iCvar_ScreamMode, g_iCvar_ScreamDuration, g_iCvar_ScreamDmg,
  48. g_iCvar_ScreamStartTime, Float:g_flCvar_ReloadTime, Float:g_flCvar_Radius,
  49. g_iCvar_DamageMode, Float:g_flCvar_ScreamSlowdown
  50.  
  51. // Bools
  52. new bool:g_bIsConnected[33], bool:g_bIsAlive[33], bool:g_bInScreamProcess[33],
  53. bool:g_bCanDoScreams[33], bool:g_bKilledByScream[33], bool:g_bDoingScream[33],
  54. bool:g_bRoundEnding
  55.  
  56. // Some constants
  57. const FFADE_IN = 0x0000
  58. const GIB_NEVER = 0
  59. const UNIT_SECOND = (1<<12)
  60. const TASK_SCREAM = 37729
  61. const TASK_RELOAD = 55598
  62. const TASK_SCREAMDMG = 48289
  63. const NADE_TYPE_INFECTION = 1111
  64.  
  65. // Plug info.
  66. #define PLUG_VERSION "0.2"
  67. #define PLUG_AUTH "meTaLiCroSS"
  68.  
  69. // Macros
  70. #define zp_get_grenade_type(%1) (entity_get_int(%1, EV_INT_flTimeStepSound))
  71. #define is_user_valid_alive(%1) (1 <= %1 <= g_iMaxPlayers && g_bIsAlive[%1])
  72. #define is_user_valid_connected(%1) (1 <= %1 <= g_iMaxPlayers && g_bIsConnected[%1])
  73.  
  74. /*================================================================================
  75.  [Init, CFG and Precache]
  76. =================================================================================*/
  77.  
  78. public plugin_init()
  79. {
  80. // Plugin Info
  81. register_plugin("[ZP] Zombie Class: KF Siren Zombie", PLUG_VERSION, PLUG_AUTH)
  82.  
  83. // Main events
  84. register_event("HLTV", "event_RoundStart", "a", "1=0", "2=0")
  85.  
  86. // Main messages
  87. register_message(get_user_msgid("DeathMsg"), "message_DeathMsg")
  88.  
  89. // Fakemeta Forwards
  90. register_forward(FM_CmdStart, "fw_CmdStart")
  91.  
  92. // Hamsandwich Forward
  93. RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
  94. RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1)
  95.  
  96. // Cvars
  97. cvar_screammode = register_cvar("zp_siren_mode", "0")
  98. cvar_duration = register_cvar("zp_siren_scream_duration", "3")
  99. cvar_screamdmg = register_cvar("zp_siren_scream_damage", "2")
  100. cvar_startime = register_cvar("zp_siren_scream_start_time", "1")
  101. cvar_reloadtime = register_cvar("zp_siren_scream_reload_time", "10.0")
  102. cvar_radius = register_cvar("zp_siren_scream_radius", "250.0")
  103. cvar_damagemode = register_cvar("zp_siren_damage_mode", "0")
  104. cvar_slowdown = register_cvar("zp_siren_damage_slowdown", "0.5")
  105.  
  106. static szCvar[30]
  107. formatex(szCvar, charsmax(szCvar), "v%s by %s", PLUG_VERSION, PLUG_AUTH)
  108. register_cvar("zp_zclass_siren", szCvar, FCVAR_SERVER|FCVAR_SPONLY)
  109.  
  110. // Vars
  111. g_iMaxPlayers = get_maxplayers()
  112. g_msgBarTime = get_user_msgid("BarTime")
  113. g_msgSayText = get_user_msgid("SayText")
  114. g_msgScreenFade = get_user_msgid("ScreenFade")
  115. g_msgScreenShake = get_user_msgid("ScreenShake")
  116. }
  117.  
  118. public plugin_cfg()
  119. {
  120. // Cache some cvars
  121. cache_cvars()
  122. }
  123.  
  124. public plugin_precache()
  125. {
  126. // Register the new class and store ID for reference
  127. g_iSirenZID = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)
  128.  
  129. // Ring sprite
  130. g_sprRing = precache_model(zclass_ring_sprite)
  131.  
  132. // Sounds
  133. static i
  134. for(i = 0; i < sizeof zclass_screamsounds; i++)
  135. precache_sound(zclass_screamsounds[i])
  136. }
  137.  
  138. /*================================================================================
  139.  [Main Events/Messages]
  140. =================================================================================*/
  141.  
  142. public event_RoundStart()
  143. {
  144. // Caching cvars
  145. cache_cvars()
  146.  
  147. // Reset round end bar
  148. g_bRoundEnding = false
  149. }
  150.  
  151. public message_DeathMsg(msg_id, msg_dest, id)
  152. {
  153. static iAttacker, iVictim
  154.  
  155. // Get attacker and victim
  156. iAttacker = get_msg_arg_int(1)
  157. iVictim = get_msg_arg_int(2)
  158.  
  159. // Non-player attacker or self kill
  160. if(!is_user_connected(iAttacker) || iAttacker == iVictim)
  161. return PLUGIN_CONTINUE
  162.  
  163. // Killed by siren scream
  164. if(g_bKilledByScream[iVictim])
  165. set_msg_arg_string(4, "siren scream")
  166.  
  167. return PLUGIN_CONTINUE
  168. }
  169.  
  170. /*================================================================================
  171.  [Main Forwards]
  172. =================================================================================*/
  173.  
  174. public client_putinserver(id)
  175. {
  176. // Updating bool
  177. g_bIsConnected[id] = true
  178. }
  179.  
  180. public client_disconnect(id)
  181. {
  182. // Updating bool
  183. g_bIsAlive[id] = false
  184. g_bIsConnected[id] = false
  185. }
  186.  
  187. public fw_PlayerSpawn_Post(id)
  188. {
  189. // Not alive...
  190. if(!is_user_alive(id))
  191. return HAM_IGNORED
  192.  
  193. // Player is alive
  194. g_bIsAlive[id] = true
  195.  
  196. // Reset player vars and tasks
  197. stop_scream_task(id)
  198.  
  199. g_bCanDoScreams[id] = false
  200. g_bDoingScream[id] = false
  201. g_iPlayerTaskTimes[id] = 0
  202.  
  203. remove_task(id+TASK_RELOAD)
  204. remove_task(id+TASK_SCREAMDMG)
  205.  
  206. return HAM_IGNORED
  207. }
  208.  
  209. public fw_PlayerKilled(victim, attacker, shouldgib)
  210. {
  211. // Player victim
  212. if(is_user_valid_connected(victim))
  213. {
  214. // Victim is not alive
  215. g_bIsAlive[victim] = false
  216.  
  217. // Reset player vars and tasks
  218. stop_scream_task(victim)
  219.  
  220. g_bCanDoScreams[victim] = false
  221. g_bDoingScream[victim] = false
  222. g_iPlayerTaskTimes[victim] = 0
  223.  
  224. remove_task(victim+TASK_RELOAD)
  225. remove_task(victim+TASK_SCREAMDMG)
  226.  
  227. return HAM_HANDLED
  228. }
  229.  
  230. return HAM_IGNORED
  231. }
  232.  
  233. public fw_CmdStart(id, handle, random_seed)
  234. {
  235. // Not alive
  236. if(!is_user_alive(id))
  237. return FMRES_IGNORED;
  238.  
  239. // Isn't a zombie?
  240. if(!zp_get_user_zombie(id) || zp_get_user_nemesis(id))
  241. return FMRES_IGNORED;
  242.  
  243. // Invalid class id
  244. if(zp_get_user_zombie_class(id) != g_iSirenZID)
  245. return FMRES_IGNORED;
  246.  
  247. // Get user old and actual buttons
  248. static iInUseButton, iInUseOldButton
  249. iInUseButton = (get_uc(handle, UC_Buttons) & IN_USE)
  250. iInUseOldButton = (get_user_oldbutton(id) & IN_USE)
  251.  
  252. // Pressing +use button
  253. if(iInUseButton)
  254. {
  255. // Last used button isn't +use, i need to
  256. // do this, because i call this "only" 1 time
  257. if(!iInUseOldButton && g_bCanDoScreams[id] && !g_bDoingScream[id] && !g_bRoundEnding)
  258. {
  259. // A bar appears in his screen
  260. message_begin(MSG_ONE, g_msgBarTime, _, id)
  261. write_byte(g_iCvar_ScreamStartTime) // time
  262. write_byte(0) // unknown
  263. message_end()
  264.  
  265. // Update bool
  266. g_bInScreamProcess[id] = true
  267.  
  268. // Next scream time
  269. set_task(g_iCvar_ScreamStartTime + 0.2, "task_do_scream", id+TASK_SCREAM)
  270.  
  271. return FMRES_HANDLED
  272. }
  273. }
  274. else
  275. {
  276. // Last used button it's +use
  277. if(iInUseOldButton && g_bInScreamProcess[id])
  278. {
  279. // Stop scream main task
  280. stop_scream_task(id)
  281.  
  282. return FMRES_HANDLED
  283. }
  284. }
  285.  
  286. return FMRES_IGNORED
  287. }
  288.  
  289. /*================================================================================
  290.  [Tasks]
  291. =================================================================================*/
  292.  
  293. public task_do_scream(id)
  294. {
  295. // Normalize task
  296. id -= TASK_SCREAM
  297.  
  298. // Do scream sound
  299. emit_sound(id, CHAN_STREAM, zclass_screamsounds[random_num(0, sizeof zclass_screamsounds - 1)], 1.0, ATTN_NORM, 0, PITCH_NORM)
  300.  
  301. // Block screams
  302. g_bCanDoScreams[id] = false
  303.  
  304. // Reload task
  305. set_task(g_flCvar_ReloadTime, "task_reload_scream", id+TASK_RELOAD)
  306.  
  307. // Now it's doing an scream
  308. g_bDoingScream[id] = true
  309.  
  310. // Get his origin coords
  311. static iOrigin[3]
  312. get_user_origin(id, iOrigin)
  313.  
  314. // Do a good effect, life the original Killing Floor.
  315. message_begin(MSG_PVS, SVC_TEMPENTITY, iOrigin)
  316. write_byte(TE_LAVASPLASH)
  317. write_coord(iOrigin[0])
  318. write_coord(iOrigin[1])
  319. write_coord(iOrigin[2])
  320. message_end()
  321.  
  322. // Scream damage task
  323. set_task(0.1, "task_scream_process", id+TASK_SCREAMDMG, _, _, "b")
  324. }
  325.  
  326. public task_reload_scream(id)
  327. {
  328. // Normalize taks
  329. id -= TASK_RELOAD
  330.  
  331. // Can do screams again
  332. g_bCanDoScreams[id] = true
  333.  
  334. // Message
  335. client_printcolor(id, "uzenetujra")
  336. client_printcolor(id, "")
  337. }
  338.  
  339. public task_scream_process(id)
  340. {
  341. // Normalize task
  342. id -= TASK_SCREAMDMG
  343.  
  344. // Time exceed
  345. if(g_iPlayerTaskTimes[id] >= (g_iCvar_ScreamDuration*10) || g_bRoundEnding)
  346. {
  347. // Remove player task
  348. remove_task(id+TASK_SCREAMDMG)
  349.  
  350. // Reset task times count
  351. g_iPlayerTaskTimes[id] = 0
  352.  
  353. // Update bool
  354. g_bDoingScream[id] = false
  355.  
  356. return;
  357. }
  358.  
  359. // Update player task time
  360. g_iPlayerTaskTimes[id]++
  361.  
  362. // Get player origin
  363. static Float:flOrigin[3]
  364. entity_get_vector(id, EV_VEC_origin, flOrigin)
  365.  
  366. // Collisions
  367. static iVictim
  368. iVictim = -1
  369.  
  370. // Vector var
  371. static Float:flVictimOrigin[3]
  372.  
  373. // A ring effect
  374. engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, flOrigin, 0)
  375. write_byte(TE_BEAMCYLINDER) // TE id
  376. engfunc(EngFunc_WriteCoord, flOrigin[0]) // x
  377. engfunc(EngFunc_WriteCoord, flOrigin[1]) // y
  378. engfunc(EngFunc_WriteCoord, flOrigin[2]) // z
  379. engfunc(EngFunc_WriteCoord, flOrigin[0]) // x axis
  380. engfunc(EngFunc_WriteCoord, flOrigin[1]) // y axis
  381. engfunc(EngFunc_WriteCoord, flOrigin[2] + g_flCvar_Radius) // z axis
  382. write_short(g_sprRing) // sprite
  383. write_byte(0) // startframe
  384. write_byte(0) // framerate
  385. write_byte(10) // life
  386. write_byte(25) // width
  387. write_byte(0) // noise
  388. write_byte(zclass_ring_colors[0]) // red
  389. write_byte(zclass_ring_colors[1]) // green
  390. write_byte(zclass_ring_colors[2]) // blue
  391. write_byte(200) // brightness
  392. write_byte(0) // speed
  393. message_end()
  394.  
  395. // Screen effects for him self
  396. screen_effects(id)
  397.  
  398. // Do scream effects
  399. while((iVictim = find_ent_in_sphere(iVictim, flOrigin, g_flCvar_Radius)) != 0)
  400. {
  401. // Non-player entity
  402. if(!is_user_valid_connected(iVictim))
  403. {
  404. // Validation check
  405. if(is_valid_ent(iVictim))
  406. {
  407. // Get entity classname
  408. static szClassname[33]
  409. entity_get_string(iVictim, EV_SZ_classname, szClassname, charsmax(szClassname))
  410.  
  411. // It's a grenade, and isn't an Infection Bomb
  412. if(equal(szClassname, "grenade") && zp_get_grenade_type(iVictim) != NADE_TYPE_INFECTION)
  413. {
  414. // Get grenade origin
  415. entity_get_vector(iVictim, EV_VEC_origin, flVictimOrigin)
  416.  
  417. // Do a good effect
  418. engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, flVictimOrigin, 0)
  419. write_byte(TE_PARTICLEBURST) // TE id
  420. engfunc(EngFunc_WriteCoord, flVictimOrigin[0]) // x
  421. engfunc(EngFunc_WriteCoord, flVictimOrigin[1]) // y
  422. engfunc(EngFunc_WriteCoord, flVictimOrigin[2]) // z
  423. write_short(45) // radius
  424. write_byte(108) // particle color
  425. write_byte(10) // duration * 10 will be randomized a bit
  426. message_end()
  427.  
  428. // Remove it
  429. remove_entity(iVictim)
  430. }
  431. // If i don't check his solid type, it's used all the time.
  432. else if(equal(szClassname, "func_breakable") && entity_get_int(iVictim, EV_INT_solid) != SOLID_NOT)
  433. {
  434. // Destroy entity if he can
  435. force_use(id, iVictim)
  436. }
  437. }
  438.  
  439. continue;
  440. }
  441.  
  442. // Not alive, zombie or with Godmode
  443. if(!g_bIsAlive[iVictim] || zp_get_user_zombie(iVictim) || get_user_godmode(iVictim))
  444. continue;
  445.  
  446. // Screen effects for victims
  447. screen_effects(iVictim)
  448.  
  449. // Get scream mode
  450. switch(g_iCvar_ScreamMode)
  451. {
  452. // Do damage
  453. case 0:
  454. {
  455. // Scream slowdown, first should be enabled
  456. if(g_flCvar_ScreamSlowdown > 0.0)
  457. {
  458. // Get his current velocity vector
  459. static Float:flVelocity[3]
  460. get_user_velocity(iVictim, flVelocity)
  461.  
  462. // Multiply his velocity by a number
  463. xs_vec_mul_scalar(flVelocity, g_flCvar_ScreamSlowdown, flVelocity)
  464.  
  465. // Set his new velocity vector
  466. set_user_velocity(iVictim, flVelocity)
  467. }
  468.  
  469. // Get damage result
  470. static iNewHealth
  471. iNewHealth = max(0, get_user_health(iVictim) - g_iCvar_ScreamDmg)
  472.  
  473. // Does not has health
  474. if(!iNewHealth)
  475. {
  476. // Be infected when it's going to die
  477. if(g_iCvar_DamageMode /* == 1*/)
  478. {
  479. // Returns 1 on sucess...
  480. if(zp_infect_user(iVictim, id, 0, 1))
  481. continue
  482. }
  483.  
  484. // Kill it
  485. scream_kill(iVictim, id)
  486.  
  487. continue
  488. }
  489.  
  490. // Do fake damage
  491. set_user_health(iVictim, iNewHealth)
  492. }
  493.  
  494. // Instantly Infect
  495. case 1:
  496. {
  497. // Can be infected?
  498. if(!zp_infect_user(iVictim, id, 0, 1))
  499. {
  500. // Kill it
  501. scream_kill(iVictim, id)
  502. }
  503. }
  504.  
  505. // Instantly Kill
  506. case 2:
  507. {
  508. // Kill it
  509. scream_kill(iVictim, id)
  510. }
  511. }
  512.  
  513. }
  514. }
  515.  
  516. /*================================================================================
  517.  [Zombie Plague Forwards]
  518. =================================================================================*/
  519.  
  520. public zp_user_infected_post(id, infector)
  521. {
  522. // It's the selected zombie class
  523. if(zp_get_user_zombie_class(id) == g_iSirenZID && !zp_get_user_nemesis(id))
  524. {
  525. // Array
  526. g_bCanDoScreams[id] = true
  527.  
  528. // Message
  529. client_printcolor(id, "uzenet")
  530. }
  531. }
  532.  
  533. public zp_user_humanized_post(id)
  534. {
  535. // Reset player vars and tasks
  536. stop_scream_task(id)
  537.  
  538. g_bCanDoScreams[id] = false
  539. g_bDoingScream[id] = false
  540. g_iPlayerTaskTimes[id] = 0
  541.  
  542. remove_task(id+TASK_RELOAD)
  543. remove_task(id+TASK_SCREAMDMG)
  544. }
  545.  
  546. public zp_round_ended(winteam)
  547. {
  548. // Update bool
  549. g_bRoundEnding = true
  550.  
  551. // Make a loop
  552. static id
  553. for(id = 1; id <= g_iMaxPlayers; id++)
  554. {
  555. // Valid connected
  556. if(is_user_valid_connected(id))
  557. {
  558. // Remove mainly tasks
  559. stop_scream_task(id)
  560. remove_task(id+TASK_RELOAD)
  561. }
  562. }
  563. }
  564.  
  565. /*================================================================================
  566.  [Internal Functions]
  567. =================================================================================*/
  568.  
  569. stop_scream_task(id)
  570. {
  571. // Remove the task
  572. if(task_exists(id+TASK_SCREAM))
  573. {
  574. remove_task(id+TASK_SCREAM)
  575.  
  576. // Remove screen's bar
  577. message_begin(MSG_ONE, g_msgBarTime, _, id)
  578. write_byte(0) // time
  579. write_byte(0) // unknown
  580. message_end()
  581.  
  582. // Update bool
  583. g_bInScreamProcess[id] = false
  584. }
  585. }
  586.  
  587. screen_effects(id)
  588. {
  589. // Screen Fade
  590. message_begin(MSG_ONE_UNRELIABLE, g_msgScreenFade, _, id)
  591. write_short(UNIT_SECOND*1) // duration
  592. write_short(UNIT_SECOND*1) // hold time
  593. write_short(FFADE_IN) // fade type
  594. write_byte(200) // r
  595. write_byte(0) // g
  596. write_byte(0) // b
  597. write_byte(125) // alpha
  598. message_end()
  599.  
  600. // Screen Shake
  601. message_begin(MSG_ONE_UNRELIABLE, g_msgScreenShake, _, id)
  602. write_short(UNIT_SECOND*5) // amplitude
  603. write_short(UNIT_SECOND*1) // duration
  604. write_short(UNIT_SECOND*5) // frequency
  605. message_end()
  606. }
  607.  
  608. cache_cvars()
  609. {
  610. g_iCvar_ScreamMode = get_pcvar_num(cvar_screammode)
  611. g_iCvar_ScreamDuration = get_pcvar_num(cvar_duration)
  612. g_iCvar_ScreamDmg = get_pcvar_num(cvar_screamdmg)
  613. g_iCvar_ScreamStartTime = get_pcvar_num(cvar_startime)
  614. g_iCvar_DamageMode = get_pcvar_num(cvar_damagemode)
  615. g_flCvar_ReloadTime = floatmax(g_iCvar_ScreamDuration+0.0, get_pcvar_float(cvar_reloadtime))
  616. g_flCvar_Radius = get_pcvar_float(cvar_radius)
  617. g_flCvar_ScreamSlowdown = get_pcvar_float(cvar_slowdown)
  618. }
  619.  
  620. scream_kill(victim, attacker)
  621. {
  622. // To use later in DeathMsg event
  623. g_bKilledByScream[victim] = true
  624.  
  625. // Do kill
  626. ExecuteHamB(Ham_Killed, victim, attacker, GIB_NEVER)
  627.  
  628. // We don't need this
  629. g_bKilledByScream[victim] = false
  630. }
  631.  
  632. /*================================================================================
  633.  [Stocks]
  634. =================================================================================*/
  635.  
  636. stock client_printcolor(id, const input[], any:...)
  637. {
  638. static iPlayersNum[32], iCount; iCount = 1
  639. static szMsg[191]
  640.  
  641. vformat(szMsg, charsmax(szMsg), input, 3)
  642.  
  643. replace_all(szMsg, 190, "/g", "^4") // green txt
  644. replace_all(szMsg, 190, "/y", "^1") // orange txt
  645. replace_all(szMsg, 190, "/ctr", "^3") // team txt
  646. replace_all(szMsg, 190, "/w", "^0") // team txt
  647.  
  648. if(id) iPlayersNum[0] = id
  649. else get_players(iPlayersNum, iCount, "ch")
  650.  
  651. for (new i = 0; i < iCount; i++)
  652. {
  653. if (g_bIsConnected[iPlayersNum[i]])
  654. {
  655. message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, iPlayersNum[i])
  656. write_byte(iPlayersNum[i])
  657. write_string(szMsg)
  658. message_end()
  659. }
  660. }
  661. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Siren zombi újraéledés után
HozzászólásElküldve: 2015.01.10. 14:49 
Offline
Developer
Avatar

Csatlakozott: 2011.06.01. 21:11
Hozzászólások: 7962
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 535 alkalommal
Mi a pontos baja?

_________________
http://www.easyrankup.eu


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Siren zombi újraéledés után
HozzászólásElküldve: 2015.01.10. 22:03 
Offline
Újonc

Csatlakozott: 2015.01.08. 23:46
Hozzászólások: 2
Ameddig meg nem hal addig semmi. Miután egyszer meghal utána nem tudja használni a spelljét. Mintha nem is lenne.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Siren zombi újraéledés után
HozzászólásElküldve: 2015.01.12. 20:44 
Offline
Developer
Avatar

Csatlakozott: 2011.06.01. 21:11
Hozzászólások: 7962
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 535 alkalommal
Ja, mert, spawnnál megkapja false értéket, és csak a zp_user_infected_post-ba kap truet, szóval tudni kéne utóbbi mikor fut le, vagyis hogy le fut e mikor újra éled.


Apropó miért is éled újra?

_________________
http://www.easyrankup.eu


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Siren zombi újraéledés után
HozzászólásElküldve: 2015.01.14. 17:01 
Offline
Nagyúr

Csatlakozott: 2014.05.10. 16:41
Hozzászólások: 721
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 64 alkalommal
kiki írta:
Ja, mert, spawnnál megkapja false értéket, és csak a zp_user_infected_post-ba kap truet, szóval tudni kéne utóbbi mikor fut le, vagyis hogy le fut e mikor újra éled.


Apropó miért is éled újra?


Van ilyen újraéledő zp item! :)

CT 3 ammo
Zombi 5 ammo

valami ilyesmi.


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 25 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