hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.28. 00:06



Jelenlévő felhasználók

Jelenleg 523 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 523 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  [ 3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Golyó csíkok javítása
HozzászólásElküldve: 2015.08.28. 16:06 
Offline
Tag

Csatlakozott: 2012.05.14. 15:23
Hozzászólások: 51
Megköszönt másnak: 10 alkalommal
Megköszönték neki: 1 alkalommal
Az vettem észre hogy bizonyos helyzetben a lövésnél ellenkezőleg (hátrafelé) aktíválodik a csík.
Mit tudtok ajánlani?


Kód:
Kód:
/* AMX Mod X script. 
*
* tracer_fire by jon
*
* based on war weapon tracers.
*
* latest fixes:
*  - found get_user_origin mode 4, for cs only.
*    this allows us to draw the tracer to where the bullet actually
*    went instead of where the player was aiming.
*
* features solid, random, weapon class, and team color(s)
* and a new option to prevent player from seeing their own tracer.
*
*  *******************************************************************************
*   
*   Ported By KingPin( kingpin@onexfx.com ). I take no responsibility
*   for this file in any way. Use at your own risk. No warranties of any kind.
*
*  *******************************************************************************
*
*
* TODO:
*  - read default colors from a cfg or ini or something
*  - save colors/mode between map changes instead of loading defaults
*/
 
 
#include <amxconst>
#include <amxmodx>
#include <amxmisc>
#include <string>
 
/* current version */
static const CURR_VERSION[] = "1.6"
 
/* mode nomenclature */
static const modenames[5][] = { "disabled", "uniform", "random", "weapon-class", "player-team" }
 
 
/***************** some shiz *****************/
 
 
/* color tables. */
static weap_colors[31][3]
static rand_colors[23][3]
 
/* table[playerid] stores ammo count and last weapon id. */
new lastammo[33]
new lastweap[33]
 
/* cached beam sprite */
new spriteidx
 
 
/***************** more shiz *****************/
 
 
/*   gamemode:
*   0 - disabled
*   1 - use nCOLOR vars for color (defaults to pink 255,0,204)
*   2 - random color from fixed table for every shot
*   3 - use weapon table for colors
*   4 - team based. CT=blue, T=red
*/
new gamemode
 
/*   option_all
*   0 - send individual messages. player does not 'see' his/her own tracer. bots do not 'see' tracers.
*   1 - MSG_ALL every tracer.
*/
new option_all = 1
 
 
/* nCOLOR: [0-255] - store rgb values for solid tracer. */
new nred
new ngreen
new nblue
 
 
/***************** still more shiz *****************/
 
 
public tracer_setmode(id, level, cid)
{
   if (!cmd_access(id,level,cid,1))
      return PLUGIN_HANDLED
 
   new bool:nochange = false
   new args[1]
 
   read_argv(1, args, 1)
 
   if (equal(args,"0")) gamemode = 0
   else if (equal(args,"1")) gamemode = 1
   else if (equal(args,"2")) gamemode = 2
   else if (equal(args,"3")) gamemode = 3
   else if (equal(args,"4")) gamemode = 4
   else nochange = true
 
   console_print(id, "tracer mode is: %s", modenames[gamemode])
 
   // didn't change gamemode, don't display anything.
   if (nochange) {
      console_print(id, "usage: 'amx_tracers <0-4>' where: 0=off, 1=uniform, 2=random, 3=weapons, 4=teams")
      return PLUGIN_HANDLED
   }
 
   set_hudmessage(255, 255, 255, 0.05, 0.65, 0, 0.00, 6.0, 0.01, 4.0, 3)
   show_hudmessage(0, "tracer mode is: %s", modenames[gamemode])
 
   return PLUGIN_HANDLED
}
 
 
public tracer_setall(id, level, cid)
{
   if (!cmd_access(id,level,cid,1))
      return PLUGIN_HANDLED
 
   new bool:nochange = false
   new args[1]
 
   read_argv(1, args, 1)
 
   if (equal(args,"0")) option_all = 0
   else if (equal(args,"1")) option_all = 1
   else nochange = true
 
   console_print(id, "tracer option_all is: %s", ((option_all==1) ? "on" : "off"))
 
   // didn't change option_all, don't display anything.
   if (nochange) {
      console_print(id, "usage: 'amx_tracers_all <0-1>' where 0=dont draw own tracer, 1=draw all tracers")
      return PLUGIN_HANDLED
   }
 
   set_hudmessage(255, 255, 255, 0.05, 0.65, 0, 0.00, 6.0, 0.01, 4.0, 3)
   show_hudmessage(0, "tracer option_all is: %s", ((option_all==1) ? "on" : "off"))
 
   return PLUGIN_HANDLED
}
 
 
 
public tracer_setcolor(id, level, cid)
{
   if (!cmd_access(id,level,cid,3))
      return PLUGIN_HANDLED
 
   new ared[4], agreen[4], ablue[4]
   new tnred, tngreen, tnblue
 
   // get args
   read_argv(1, ared, 3)
   read_argv(2, agreen, 3)
   read_argv(3, ablue, 3)
 
   // convert to int
   tnred = str_to_num(ared)
   tngreen = str_to_num(agreen)
   tnblue = str_to_num(ablue)
 
   // check bounds
   if (tnred < 0) tnred = 0
   if (tngreen < 0) tngreen = 0
   if (tnblue < 0) tnblue = 0
   if (tnred > 255) tnred = 255
   if (tngreen > 255) tngreen = 255
   if (tnblue > 255) tnblue = 255
 
   // values ok, update application
   nred = tnred
   ngreen = tngreen
   nblue = tnblue
 
   return PLUGIN_HANDLED
}
 
 
public draw_tracer_for(pl, pteam[], vec1[3], vec2[3], weap)
{
   new rval
 
   message_begin(((pl==0) ? MSG_ALL : MSG_ONE), SVC_TEMPENTITY, vec1, pl)
   write_byte(0)      // TE_BEAMPOINTS
   write_coord(vec1[0])   // start point
   write_coord(vec1[1])
   write_coord(vec1[2])
   write_coord(vec2[0])   // end point
   write_coord(vec2[1])
   write_coord(vec2[2])
   write_short(spriteidx)   // sprite to draw (precached below)
   write_byte(0)         // starting frame
   write_byte(0)         // frame rate
   write_byte(4)         // life in 0.1s
   write_byte(1)         // line width in 0.1u
   write_byte(0)         // noise in 0.1u
 
   switch (gamemode) {
      case 4: {
         if (equali(pteam,"CT")) write_byte(0); else write_byte(255)
         write_byte(0)
         if (equali(pteam,"CT")) write_byte(255); else write_byte(0)
      }
      case 3: {
         write_byte(weap_colors[weap][0])
         write_byte(weap_colors[weap][1])
         write_byte(weap_colors[weap][2])
      }
      case 2: {
         rval = random_num(0, 22)
         write_byte(rand_colors[rval][0])
         write_byte(rand_colors[rval][1])
         write_byte(rand_colors[rval][2])
      }
      default: {
         write_byte(nred)
         write_byte(ngreen)
         write_byte(nblue)
      }
   }
 
   write_byte(120)            // brightness
   write_byte(50)            // scroll speed
   message_end()
 
   return PLUGIN_CONTINUE
}
 
 
public make_tracer(id)
{
 
   if (gamemode == 0) return PLUGIN_CONTINUE
 
   new weap = read_data(2)      // id of the weapon
   new ammo = read_data(3)      // ammo left in clip
   new pteam[16]
   new players[32]
   new i, n
 
   get_user_team(id, pteam, 15)
 
   /* if no lastweap is set, you'll miss the first tracer!
      weap is never zero.
   */
   if (lastweap[id] == 0) { lastweap[id] = weap; }
 
   /* fire this event only if the ammo has changed but the weapon has not.
      this prevents a tracer from being drawn when you switch from a weapon
      with a larger clip to one with a smaller clip.
 
      also, new ammo setting must be less.. otherwise a tracer is fired on reload.
   */
   if ((lastammo[id] > ammo) && (lastweap[id] == weap)) {
 
      new vec1[3], vec2[3]
      get_user_origin(id, vec1, 1) // origin; your camera point.
      get_user_origin(id, vec2, 4) // termina; where your bullet goes (4 is cs-only)
 
      vec1[2] -= 6
 
      if (option_all==1)
      {
         // MSG_ALL
         draw_tracer_for(0, pteam, vec1, vec2, weap)
      }
      else
      {
         // MSG_ONE
         get_players(players, n, "c")
         for(i = 0; i < n; i++)
            if ((id != players[i]) && (is_user_connected(players[i])))
               draw_tracer_for(players[i], pteam, vec1, vec2, weap)
      }
   }
 
   lastammo[id] = ammo
   lastweap[id] = weap
 
   return PLUGIN_CONTINUE
}
 
 
public plugin_init()
{
   gamemode = 1
   nred = 255
   ngreen = 0
   nblue = 204
 
   rand_colors[0]  = {0, 255, 255}    // cyan
   rand_colors[1]  = {255, 0, 255}    // magenta
 
   rand_colors[2]  = {255, 255, 204}  // lt yellow
   rand_colors[3]  = {255, 255, 0}    // yellow
   rand_colors[4]  = {153, 153, 0}    // dark yellow/gold
 
   rand_colors[5]  = {204, 204, 255}  // lt blue
   rand_colors[6]  = {0, 0, 255}      // blue
   rand_colors[7]  = {0, 0, 102}      // dark blue
 
   rand_colors[8]  = {255, 204, 255}  // lt purple
   rand_colors[9]  = {204, 0, 204}    // purple
   rand_colors[10] = {102, 0, 102}    // dark purple
 
   rand_colors[11] = {255, 102, 102}  // lt red
   rand_colors[12] = {255, 0, 0}      // red
   rand_colors[13] = {102, 0, 0}      // dark red
 
   rand_colors[14] = {0, 255, 0}      // lt green
   rand_colors[15] = {0, 153, 0}      // green
   rand_colors[16] = {0, 102, 0}      // dark green
 
   rand_colors[17] = {255, 204, 153}  // lt orange
   rand_colors[18] = {255, 153, 0}    // orange
   rand_colors[19] = {153, 102, 0}    // brown
   rand_colors[20] = {102, 102, 102}  // gray
   rand_colors[21] = {204, 204, 204}  // lt gray
   rand_colors[22] = {255, 255, 255}  // white
 
 
   weap_colors[CSW_USP]      = { 0, 0, 255 } // blue
   weap_colors[CSW_GLOCK18]   = { 0, 0, 255 }
   weap_colors[CSW_P228]      = { 0, 0, 255 }
   weap_colors[CSW_ELITE]      = { 0, 0, 255 }
   weap_colors[CSW_FIVESEVEN]   = { 0, 0, 255 }
   weap_colors[CSW_DEAGLE]      = { 0, 0, 255 }
 
   weap_colors[CSW_XM1014]      = { 255, 255, 0 } // yellow
   weap_colors[CSW_M3]      = { 255, 255, 0 }
 
   weap_colors[CSW_MP5NAVY]   = { 255, 153, 0 } // orange
   weap_colors[CSW_TMP]      = { 255, 153, 0 }
   weap_colors[CSW_MAC10]      = { 255, 153, 0 }
   weap_colors[CSW_UMP45]      = { 255, 153, 0 }
   weap_colors[CSW_P90]      = { 255, 153, 0 }
 
   weap_colors[CSW_M4A1]   = { 102, 0, 0 } // dark red
   weap_colors[CSW_AUG]   = { 102, 0, 0 }
   weap_colors[CSW_SG552]   = { 102, 0, 0 }
   weap_colors[CSW_AK47]   = { 102, 0, 0 }
   weap_colors[CSW_G3SG1]   = { 102, 0, 0 }
   weap_colors[CSW_SG550]   = { 102, 0, 0 }
 
   weap_colors[CSW_SCOUT]   = { 102, 102, 102 } // lt gray
   weap_colors[CSW_AWP]   = { 204, 204, 204 } // gray
 
   weap_colors[CSW_M249]   = { 0, 255, 0 } // lt green
 
 
   register_concmd("amx_tracers", "tracer_setmode", ADMIN_LEVEL_B, "<0-4> - 0:off,1:uniform,2:random,3:weapons,4:teams")
   register_concmd("amx_tracers_all", "tracer_setall", ADMIN_LEVEL_B, "<0-1> - 0:dont draw own tracer,1:draw all tracers")
   register_concmd("amx_tracers_colors", "tracer_setcolor", ADMIN_LEVEL_B, "<0-255> <0-255> <0-255> - RGB color values")
   register_plugin("tracer_fire", CURR_VERSION, "jon")
   register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0")
   return PLUGIN_CONTINUE
}
 
public plugin_precache()
{
   spriteidx = precache_model("sprites/laserbeam.spr");
   return PLUGIN_CONTINUE
}


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Golyó csíkok javítása
HozzászólásElküldve: 2015.08.31. 18:35 
Offline
Lelkes
Avatar

Csatlakozott: 2015.08.09. 11:22
Hozzászólások: 29
Megköszönték neki: 2 alkalommal
Ez szerintem nem lehet javítani, valószínűleg a spritevel van baj.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Golyó csíkok javítása
HozzászólásElküldve: 2015.08.31. 19:00 
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
Minden esetben hátrafelé megy, vagy konkrétan egy adott irányba, pl a map egyik pontján, egyik szögben, is a hátad mögé megy, még a másikon is? Vagy mint ahogy előbb említettem, egy adott irányba megy?

_________________
http://www.easyrankup.eu


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


Ki van itt

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