Pomoc z nastavenim extra items

Technická podpora k herním serverům Counter-Strike 1.6
Message
Autor
s1l4c1k
Příspěvky: 66
Registrován: 16 bře 2013, 17:11
Reputation: 0

Pomoc z nastavenim extra items

#1 Příspěvekod s1l4c1k » 29 bře 2013, 21:27

Server: 109.74.146.19:27097

Mam server zombie . A potrebujem poradit premenit stiahol som si Antidote granade

Kód: Vybrat vše

http://forums.alliedmods.net/showthread.php?t=194310


A potrebujem ho prekonvertovat do VIP menu " [ZP] Zombie VIP 1.7.2 "
Zbrane viem prerobit nasiel som navod tu :

Kód: Vybrat vše

https://forums.alliedmods.net/showthread.php?t=183980

Ale tento granat neviem prerobit nejde mi to proste skusal som viac tych pluginov ale každe robi to iste .
tuto mate ten SMA od toho antidote granade .
keby sa dalo napisat kde robim chybu
Spoiler: zobrazit

Kód: Vybrat vše

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <zombieplague>
#include <hamsandwich>
#include <fakemeta_util>

#define PLUGIN "[ZP] Extra Item Antidote Grenade"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

new const NADE_TYPE_ANTIDOTEBOMB = 6969
new const Float:RADIUS = 300.0
new const sprite_grenade_trail[] = "sprites/laserbeam.spr"
new const sprite_grenade_ring[] = "sprites/shockwave.spr"
new const item_cost = 25
new const item_name[] = "Antidote Grenade"
new const model_grenade_infect[] = "models/zombie_plague/v_grenade_antidot.mdl"

new item_id
new has_bomb[33]
new cvar_enabled, cvar_fragsinfect, cvar_ammoinfect, cvar_humanbonushp, cvar_flaregrenades
new g_trailSpr, g_exploSpr, g_msgScoreInfo, g_msgDeathMsg, g_msgScoreAttrib

public plugin_init()
{
   register_plugin(PLUGIN, VERSION, AUTHOR)
   
   RegisterHam(Ham_Think, "grenade", "fw_ThinkGrenade")
   RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
   
   register_forward(FM_SetModel, "fw_SetModel")   
   
   register_message(get_user_msgid("CurWeapon"), "message_cur_weapon")
   
   cvar_enabled = register_cvar("zp_antidote_bomb","1")
   cvar_fragsinfect = get_cvar_pointer("zp_zombie_frags_for_infect")
   cvar_ammoinfect = get_cvar_pointer("zp_zombie_infect_reward")
   cvar_humanbonushp = register_cvar("zp_antidote_bomb_extra_hp","10")   
   cvar_flaregrenades = get_cvar_pointer("zp_flare_grenades")
   
   g_msgScoreInfo = get_user_msgid("ScoreInfo")
   g_msgDeathMsg = get_user_msgid("DeathMsg")
   g_msgScoreAttrib = get_user_msgid("ScoreAttrib")
}

public plugin_precache()
{
   g_trailSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_trail)
   g_exploSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_ring)
   
   engfunc(EngFunc_PrecacheModel, model_grenade_infect)
   
   item_id = zp_register_extra_item(item_name,item_cost,ZP_TEAM_HUMAN)
}

public client_disconnect(id)
{
   has_bomb[id] = 0
}

public zp_extra_item_selected(player, itemid)
{
   if(itemid == item_id)
   {
      has_bomb[player] = 1   
      fm_strip_user_gun(player,9)
      fm_give_item(player,"weapon_smokegrenade")
   }
   
}

public fw_PlayerKilled(victim, attacker, shouldgib)
{
   has_bomb[victim] = 0   
}

public fw_ThinkGrenade(entity)
{   
   if(!pev_valid(entity))
      return HAM_IGNORED
   
   static Float:dmgtime   
   pev(entity, pev_dmgtime, dmgtime)
   
   if (dmgtime > get_gametime())
      return HAM_IGNORED   
   
   if(pev(entity, pev_flTimeStepSound) == NADE_TYPE_ANTIDOTEBOMB)
      antidote_explode(entity)
   
   return HAM_SUPERCEDE
}

public fw_SetModel(entity, const model[])
{
   if(!get_pcvar_num(cvar_enabled))
      return   
   
   static Float:dmgtime
   pev(entity, pev_dmgtime, dmgtime)
   
   if (dmgtime == 0.0)
      return
   
   if (equal(model[7], "w_sm", 4))
   {       
      new owner = pev(entity, pev_owner)       
      
      if(!zp_get_user_zombie(owner) && has_bomb[owner])
      {
         set_pcvar_num(cvar_flaregrenades,0)           
         
         fm_set_rendering(entity, kRenderFxGlowShell, 255, 128, 0, kRenderNormal, 16)
         
         message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
         write_byte(TE_BEAMFOLLOW) // TE id
         write_short(entity) // entity
         write_short(g_trailSpr) // sprite
         write_byte(15) // life
         write_byte(10) // width
         write_byte(255) // r
         write_byte(128) // g
         write_byte(0) // b
         write_byte(200) // brightness
         message_end()
         
         set_pev(entity, pev_flTimeStepSound, NADE_TYPE_ANTIDOTEBOMB)
      }
   }
   
}


public antidote_explode(ent)
{
   if (!zp_has_round_started()) return
   
   set_pcvar_num(cvar_flaregrenades,1)
   
   static Float:originF[3]
   pev(ent, pev_origin, originF)
   
   create_blast(originF)   
   
   //engfunc(EngFunc_EmitSound, ent, CHAN_WEAPON, grenade_infect[random_num(0, sizeof grenade_infect - 1)], 1.0, ATTN_NORM, 0, PITCH_NORM)
   
   static attacker
   attacker = pev(ent, pev_owner)
   
   has_bomb[attacker] = 0
   
   static victim
   victim = -1
   while ((victim = engfunc(EngFunc_FindEntityInSphere, victim, originF, RADIUS)) != 0)
   {
      if (!is_user_alive(victim) || !zp_get_user_zombie(victim) || zp_get_user_nemesis(victim) || zp_get_user_first_zombie(victim) || zp_get_user_last_zombie(victim))
         continue
      
      SendDeathMsg(attacker, victim)
      FixDeadAttrib(victim)
      UpdateFrags(attacker, victim, get_pcvar_num(cvar_fragsinfect), 1, 1)
      zp_disinfect_user(victim)
      zp_set_user_ammo_packs(attacker,zp_get_user_ammo_packs(attacker) + get_pcvar_num(cvar_ammoinfect))
      fm_set_user_health(attacker, pev(attacker, pev_health)+get_pcvar_num(cvar_humanbonushp))
      
   }
   
   engfunc(EngFunc_RemoveEntity, ent)
}

public create_blast(const Float:originF[3])
{
   engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
   write_byte(TE_BEAMCYLINDER) // TE id
   engfunc(EngFunc_WriteCoord, originF[0]) // x
   engfunc(EngFunc_WriteCoord, originF[1]) // y
   engfunc(EngFunc_WriteCoord, originF[2]) // z
   engfunc(EngFunc_WriteCoord, originF[0]) // x axis
   engfunc(EngFunc_WriteCoord, originF[1]) // y axis
   engfunc(EngFunc_WriteCoord, originF[2]+385.0) // z axis
   write_short(g_exploSpr) // sprite
   write_byte(0) // startframe
   write_byte(0) // framerate
   write_byte(4) // life
   write_byte(60) // width
   write_byte(0) // noise
   write_byte(255) // red
   write_byte(128) // green
   write_byte(0) // blue
   write_byte(200) // brightness
   write_byte(0) // speed
   message_end()
   
   engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
   write_byte(TE_BEAMCYLINDER) // TE id
   engfunc(EngFunc_WriteCoord, originF[0]) // x
   engfunc(EngFunc_WriteCoord, originF[1]) // y
   engfunc(EngFunc_WriteCoord, originF[2]) // z
   engfunc(EngFunc_WriteCoord, originF[0]) // x axis
   engfunc(EngFunc_WriteCoord, originF[1]) // y axis
   engfunc(EngFunc_WriteCoord, originF[2]+470.0) // z axis
   write_short(g_exploSpr) // sprite
   write_byte(0) // startframe
   write_byte(0) // framerate
   write_byte(4) // life
   write_byte(60) // width
   write_byte(0) // noise
   write_byte(255) // red
   write_byte(164) // green
   write_byte(0) // blue
   write_byte(200) // brightness
   write_byte(0) // speed
   message_end()
   
   engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
   write_byte(TE_BEAMCYLINDER) // TE id
   engfunc(EngFunc_WriteCoord, originF[0]) // x
   engfunc(EngFunc_WriteCoord, originF[1]) // y
   engfunc(EngFunc_WriteCoord, originF[2]) // z
   engfunc(EngFunc_WriteCoord, originF[0]) // x axis
   engfunc(EngFunc_WriteCoord, originF[1]) // y axis
   engfunc(EngFunc_WriteCoord, originF[2]+555.0) // z axis
   write_short(g_exploSpr) // sprite
   write_byte(0) // startframe
   write_byte(0) // framerate
   write_byte(4) // life
   write_byte(60) // width
   write_byte(0) // noise
   write_byte(255) // red
   write_byte(200) // green
   write_byte(0) // blue
   write_byte(200) // brightness
   write_byte(0) // speed
   message_end()
}

public UpdateFrags(attacker, victim, frags, deaths, scoreboard)
{
   set_pev(attacker, pev_frags, float(pev(attacker, pev_frags) + frags))
   
   fm_set_user_deaths(victim, fm_get_user_deaths(victim) + deaths)
   
   if (scoreboard)
   {   
      message_begin(MSG_BROADCAST, g_msgScoreInfo)
      write_byte(attacker) // id
      write_short(pev(attacker, pev_frags)) // frags
      write_short(fm_get_user_deaths(attacker)) // deaths
      write_short(0) // class?
      write_short(fm_get_user_team(attacker)) // team
      message_end()
      
      message_begin(MSG_BROADCAST, g_msgScoreInfo)
      write_byte(victim) // id
      write_short(pev(victim, pev_frags)) // frags
      write_short(fm_get_user_deaths(victim)) // deaths
      write_short(0) // class?
      write_short(fm_get_user_team(victim)) // team
      message_end()
   }
}

stock fm_set_user_deaths(id, value)
{
   set_pdata_int(id, 444, value, 5)
}

stock fm_get_user_deaths(id)
{
   return get_pdata_int(id, 444, 5)
}


stock fm_get_user_team(id)
{
   return get_pdata_int(id, 114, 5)
}

public SendDeathMsg(attacker, victim)
{
   message_begin(MSG_BROADCAST, g_msgDeathMsg)
   write_byte(attacker) // killer
   write_byte(victim) // victim
   write_byte(1) // headshot flag
   write_string("grenade") // killer's weapon
   message_end()
}

public FixDeadAttrib(id)
{
   message_begin(MSG_BROADCAST, g_msgScoreAttrib)
   write_byte(id) // id
   write_byte(0) // attrib
   message_end()
}

public replace_models(id)
{
   if (!is_user_alive(id))
      return
   
   if(get_user_weapon(id) == CSW_SMOKEGRENADE && has_bomb[id])
   {
      set_pev(id, pev_viewmodel2, model_grenade_infect)
      
   }
}

public message_cur_weapon(msg_id, msg_dest, msg_entity)
{
   replace_models(msg_entity)
}

Uživatelský avatar
Qefik
Příspěvky: 5714
Registrován: 26 pro 2009, 11:26
Reputation: 0
Kontaktovat uživatele:

Re: Pomoc z nastavenim extra items

#2 Příspěvekod Qefik » 29 bře 2013, 23:12

Nezkoušel jsem, ale našel jsem toto
http://forums.alliedmods.net/showpost.p ... stcount=99

Zkus to podle toho udělat, já na to dnes již nemám čas a navíc pawn moc neovládám. Kdyby ti to nešlo tak to zkusím.
Rozdávat rady je zbytečné. Moudrý si poradí sám a hlupák stejně neposlechne.
Mark Twain

s1l4c1k
Příspěvky: 66
Registrován: 16 bře 2013, 17:11
Reputation: 0

Re: Pomoc z nastavenim extra items

#3 Příspěvekod s1l4c1k » 30 bře 2013, 04:31

Ked som to robil podla tvojho Navodu čo si mi dal , tak som to prekonvertoval na AMXX dalo sa . aj som to dal na server plugin som zbadal vo VIP penu kupim AP zoberie ale nič mi to neda , a ked som to konvertoval tak mi pisalo toto :

Kód: Vybrat vše

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team
Modified for www.freakz.ro

zp_extra_item_antidote_fixed.sma(316) : warning 203: symbol is never used: "item_cost"
zp_extra_item_antidote_fixed.sma(316) : warning 203: symbol is never used: "item_name"
Header size:           1544 bytes
Code size:            12120 bytes
Data size:             2188 bytes
Stack/heap size:      16384 bytes; estimated max. usage=783 cells (3132 bytes)
Total requirements:   32236 bytes

2 Warnings.
Done.

Uživatelský avatar
Qefik
Příspěvky: 5714
Registrován: 26 pro 2009, 11:26
Reputation: 0
Kontaktovat uživatele:

Re: Pomoc z nastavenim extra items

#4 Příspěvekod Qefik » 30 bře 2013, 11:28

Zkus co je v příloze, ale nedávám tomu velkou šanci... Ten plugin není ani schválený, takže může obsahovat chyby, nicméně se mi ho podařilo zkompilovat bez chyb.
Přílohy
zp_extra_item_antidote_fixed.amxx
(12.85 KiB) Staženo 167 x
Rozdávat rady je zbytečné. Moudrý si poradí sám a hlupák stejně neposlechne.
Mark Twain

s1l4c1k
Příspěvky: 66
Registrován: 16 bře 2013, 17:11
Reputation: 0

Re: Pomoc z nastavenim extra items

#5 Příspěvekod s1l4c1k » 30 bře 2013, 13:49

Bohužial , plugin sice funguje ale neni vo VIP menu a ide aj každemu neni určetny pre vip je ako v povodnom stave skusim nast volaky plugin iny mal som ešte volaky skusim ten prerobit podla tvojho navodu a dam vediet

Uživatelský avatar
Qefik
Příspěvky: 5714
Registrován: 26 pro 2009, 11:26
Reputation: 0
Kontaktovat uživatele:

Re: Pomoc z nastavenim extra items

#6 Příspěvekod Qefik » 30 bře 2013, 13:58

Zkus kontaktovat autora pluginu
Rozdávat rady je zbytečné. Moudrý si poradí sám a hlupák stejně neposlechne.
Mark Twain

s1l4c1k
Příspěvky: 66
Registrován: 16 bře 2013, 17:11
Reputation: 0

Re: Pomoc z nastavenim extra items

#7 Příspěvekod s1l4c1k » 30 bře 2013, 22:09

Karma + , dakujem mam to vyriešene

Uživatelský avatar
Qefik
Příspěvky: 5714
Registrován: 26 pro 2009, 11:26
Reputation: 0
Kontaktovat uživatele:

Re: Pomoc z nastavenim extra items

#8 Příspěvekod Qefik » 30 bře 2013, 23:29

A jak si to vyřešil? Aby případně ostatní věděli :)
Rozdávat rady je zbytečné. Moudrý si poradí sám a hlupák stejně neposlechne.
Mark Twain

s1l4c1k
Příspěvky: 66
Registrován: 16 bře 2013, 17:11
Reputation: 0

Re: Pomoc z nastavenim extra items

#9 Příspěvekod s1l4c1k » 31 bře 2013, 19:34

Napisal som na Allied ,
tam mi to vyriešili najprv marne ale tpm sa jeden našiel kto to vyriešil
https://forums.alliedmods.net/showthread.php?t=212139

Tuto mate ten granat ktory lieci a do VIP menu "[ZP] Zombie VIP 1.7.2" samozrejme si ho musite porobit models ,cost, name, podla vlasnej predstavy

Spoiler: zobrazit

Kód: Vybrat vše

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <zombieplague>
#include <hamsandwich>
#include <fakemeta_util>
#include <zmvip>

#define PLUGIN "[ZP] Extra Item Antidote Grenade"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

new const NADE_TYPE_ANTIDOTEBOMB = 6969
new const Float:RADIUS = 300.0
new const sprite_grenade_trail[] = "sprites/laserbeam.spr"
new const sprite_grenade_ring[] = "sprites/shockwave.spr"
new const item_cost = 25
new const item_description[] = "Desinfect zombie"
new const item_name[] = "Antidote Grenade"
new const model_grenade_infect[] = "models/zombie_plague/v_grenade_antidot.mdl"

new item_id
new has_bomb[33]
new cvar_enabled, cvar_fragsinfect, cvar_ammoinfect, cvar_humanbonushp, cvar_flaregrenades
new g_trailSpr, g_exploSpr, g_msgScoreInfo, g_msgDeathMsg, g_msgScoreAttrib

public plugin_init()
{
   register_plugin(PLUGIN, VERSION, AUTHOR)
   
   RegisterHam(Ham_Think, "grenade", "fw_ThinkGrenade")
   RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
   
   register_forward(FM_SetModel, "fw_SetModel")   
   
   register_message(get_user_msgid("CurWeapon"), "message_cur_weapon")
   
   cvar_enabled = register_cvar("zp_antidote_bomb","1")
   cvar_fragsinfect = get_cvar_pointer("zp_zombie_frags_for_infect")
   cvar_ammoinfect = get_cvar_pointer("zp_zombie_infect_reward")
   cvar_humanbonushp = register_cvar("zp_antidote_bomb_extra_hp","10")   
   cvar_flaregrenades = get_cvar_pointer("zp_flare_grenades")
   
   g_msgScoreInfo = get_user_msgid("ScoreInfo")
   g_msgDeathMsg = get_user_msgid("DeathMsg")
   g_msgScoreAttrib = get_user_msgid("ScoreAttrib")
}

public plugin_precache()
{
   g_trailSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_trail)
   g_exploSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_ring)
   
   engfunc(EngFunc_PrecacheModel, model_grenade_infect)
   
   item_id = zv_register_extra_item(item_name,item_description,item_cost,ZP_TEAM_HUMAN)
}

public client_disconnect(id)
{
   has_bomb[id] = 0
}

public zv_extra_item_selected(player, itemid)
{
   if(itemid == item_id)
   {
      has_bomb[player] = 1   
      fm_strip_user_gun(player,9)
      fm_give_item(player,"weapon_smokegrenade")
   }
   
}

public fw_PlayerKilled(victim, attacker, shouldgib)
{
   has_bomb[victim] = 0   
}

public fw_ThinkGrenade(entity)
{   
   if(!pev_valid(entity))
      return HAM_IGNORED
   
   static Float:dmgtime   
   pev(entity, pev_dmgtime, dmgtime)
   
   if (dmgtime > get_gametime())
      return HAM_IGNORED   
   
   if(pev(entity, pev_flTimeStepSound) == NADE_TYPE_ANTIDOTEBOMB)
      antidote_explode(entity)
   
   return HAM_SUPERCEDE
}

public fw_SetModel(entity, const model[])
{
   if(!get_pcvar_num(cvar_enabled))
      return   
   
   static Float:dmgtime
   pev(entity, pev_dmgtime, dmgtime)
   
   if (dmgtime == 0.0)
      return
   
   if (equal(model[7], "w_sm", 4))
   {       
      new owner = pev(entity, pev_owner)       
     
      if(!zp_get_user_zombie(owner) && has_bomb[owner])
      {
         set_pcvar_num(cvar_flaregrenades,0)           
         
         fm_set_rendering(entity, kRenderFxGlowShell, 255, 128, 0, kRenderNormal, 16)
         
         message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
         write_byte(TE_BEAMFOLLOW) // TE id
         write_short(entity) // entity
         write_short(g_trailSpr) // sprite
         write_byte(15) // life
         write_byte(10) // width
         write_byte(255) // r
         write_byte(128) // g
         write_byte(0) // b
         write_byte(200) // brightness
         message_end()
         
         set_pev(entity, pev_flTimeStepSound, NADE_TYPE_ANTIDOTEBOMB)
      }
   }
   
}


public antidote_explode(ent)
{
   if (!zp_has_round_started()) return
   
   set_pcvar_num(cvar_flaregrenades,1)
   
   static Float:originF[3]
   pev(ent, pev_origin, originF)
   
   create_blast(originF)   
   
    //engfunc(EngFunc_EmitSound, ent, CHAN_WEAPON,  grenade_infect[random_num(0, sizeof grenade_infect - 1)], 1.0,  ATTN_NORM, 0, PITCH_NORM)
   
   static attacker
   attacker = pev(ent, pev_owner)
   
   has_bomb[attacker] = 0
   
   static victim
   victim = -1
   while ((victim = engfunc(EngFunc_FindEntityInSphere, victim, originF, RADIUS)) != 0)
   {
       if (!is_user_alive(victim) || !zp_get_user_zombie(victim) ||  zp_get_user_nemesis(victim) || zp_get_user_first_zombie(victim) ||  zp_get_user_last_zombie(victim))
         continue
     
      SendDeathMsg(attacker, victim)
      FixDeadAttrib(victim)
      UpdateFrags(attacker, victim, get_pcvar_num(cvar_fragsinfect), 1, 1)
      zp_disinfect_user(victim)
      zp_set_user_ammo_packs(attacker,zp_get_user_ammo_packs(attacker) + get_pcvar_num(cvar_ammoinfect))
      fm_set_user_health(attacker, pev(attacker, pev_health)+get_pcvar_num(cvar_humanbonushp))
     
   }
   
   engfunc(EngFunc_RemoveEntity, ent)
}

public create_blast(const Float:originF[3])
{
   engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
   write_byte(TE_BEAMCYLINDER) // TE id
   engfunc(EngFunc_WriteCoord, originF[0]) // x
   engfunc(EngFunc_WriteCoord, originF[1]) // y
   engfunc(EngFunc_WriteCoord, originF[2]) // z
   engfunc(EngFunc_WriteCoord, originF[0]) // x axis
   engfunc(EngFunc_WriteCoord, originF[1]) // y axis
   engfunc(EngFunc_WriteCoord, originF[2]+385.0) // z axis
   write_short(g_exploSpr) // sprite
   write_byte(0) // startframe
   write_byte(0) // framerate
   write_byte(4) // life
   write_byte(60) // width
   write_byte(0) // noise
   write_byte(255) // red
   write_byte(128) // green
   write_byte(0) // blue
   write_byte(200) // brightness
   write_byte(0) // speed
   message_end()
   
   engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
   write_byte(TE_BEAMCYLINDER) // TE id
   engfunc(EngFunc_WriteCoord, originF[0]) // x
   engfunc(EngFunc_WriteCoord, originF[1]) // y
   engfunc(EngFunc_WriteCoord, originF[2]) // z
   engfunc(EngFunc_WriteCoord, originF[0]) // x axis
   engfunc(EngFunc_WriteCoord, originF[1]) // y axis
   engfunc(EngFunc_WriteCoord, originF[2]+470.0) // z axis
   write_short(g_exploSpr) // sprite
   write_byte(0) // startframe
   write_byte(0) // framerate
   write_byte(4) // life
   write_byte(60) // width
   write_byte(0) // noise
   write_byte(255) // red
   write_byte(164) // green
   write_byte(0) // blue
   write_byte(200) // brightness
   write_byte(0) // speed
   message_end()
   
   engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
   write_byte(TE_BEAMCYLINDER) // TE id
   engfunc(EngFunc_WriteCoord, originF[0]) // x
   engfunc(EngFunc_WriteCoord, originF[1]) // y
   engfunc(EngFunc_WriteCoord, originF[2]) // z
   engfunc(EngFunc_WriteCoord, originF[0]) // x axis
   engfunc(EngFunc_WriteCoord, originF[1]) // y axis
   engfunc(EngFunc_WriteCoord, originF[2]+555.0) // z axis
   write_short(g_exploSpr) // sprite
   write_byte(0) // startframe
   write_byte(0) // framerate
   write_byte(4) // life
   write_byte(60) // width
   write_byte(0) // noise
   write_byte(255) // red
   write_byte(200) // green
   write_byte(0) // blue
   write_byte(200) // brightness
   write_byte(0) // speed
   message_end()
}

public UpdateFrags(attacker, victim, frags, deaths, scoreboard)
{
   set_pev(attacker, pev_frags, float(pev(attacker, pev_frags) + frags))
   
   fm_set_user_deaths(victim, fm_get_user_deaths(victim) + deaths)
   
   if (scoreboard)
   {   
      message_begin(MSG_BROADCAST, g_msgScoreInfo)
      write_byte(attacker) // id
      write_short(pev(attacker, pev_frags)) // frags
      write_short(fm_get_user_deaths(attacker)) // deaths
      write_short(0) // class?
      write_short(fm_get_user_team(attacker)) // team
      message_end()
     
      message_begin(MSG_BROADCAST, g_msgScoreInfo)
      write_byte(victim) // id
      write_short(pev(victim, pev_frags)) // frags
      write_short(fm_get_user_deaths(victim)) // deaths
      write_short(0) // class?
      write_short(fm_get_user_team(victim)) // team
      message_end()
   }
}

stock fm_set_user_deaths(id, value)
{
   set_pdata_int(id, 444, value, 5)
}

stock fm_get_user_deaths(id)
{
   return get_pdata_int(id, 444, 5)
}


stock fm_get_user_team(id)
{
   return get_pdata_int(id, 114, 5)
}

public SendDeathMsg(attacker, victim)
{
   message_begin(MSG_BROADCAST, g_msgDeathMsg)
   write_byte(attacker) // killer
   write_byte(victim) // victim
   write_byte(1) // headshot flag
   write_string("grenade") // killer's weapon
   message_end()
}

public FixDeadAttrib(id)
{
   message_begin(MSG_BROADCAST, g_msgScoreAttrib)
   write_byte(id) // id
   write_byte(0) // attrib
   message_end()
}

public replace_models(id)
{
   if (!is_user_alive(id))
      return
   
   if(get_user_weapon(id) == CSW_SMOKEGRENADE && has_bomb[id])
   {
      set_pev(id, pev_viewmodel2, model_grenade_infect)
     
   }
}

public message_cur_weapon(msg_id, msg_dest, msg_entity)
{
   replace_models(msg_entity)
}

Uživatelský avatar
Qefik
Příspěvky: 5714
Registrován: 26 pro 2009, 11:26
Reputation: 0
Kontaktovat uživatele:

Re: Pomoc z nastavenim extra items

#10 Příspěvekod Qefik » 31 bře 2013, 20:10

Díky ;)
Rozdávat rady je zbytečné. Moudrý si poradí sám a hlupák stejně neposlechne.
Mark Twain


Zpět na „Counter-Strike 1.6“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti