Mensajes: 1,764
Temas: 19
Registro en: Dec 2013
Reputación:
14
(26/02/2015, 12:50 AM) mongito100 escribió: (25/02/2015, 10:12 PM) ErikMav94 escribió: linea 207 aprox , error de tipeo tuyo :B
Código PHP:
PrintColor ( id , "^x04[ %s ]^x0 1No puedes^x04 remover^x01 lasers." , g_szCommunity )
^x0 1 --> ^x01
sino , no aparece nada en el chat solo el prefijo de "g_szCommunity".
-----------------------------
Después con lo de no romper un laser del mismo team, siendo ct y quiero romper mi propio laser y no podría
También probé el code de mongito para cuando se explota un laser te impulse , pero no funciona
---------------------------------
Si rompo un laser solamente con el cuchillo y con el slash , no se crea explosión y el laser sigue ahí , solo se remueve el model :p
Yo lo probe al code q pase y andaba no se con las nuevas actualizaciones si cambio algo
en el code que pasaste usas
GetUserTeam , treki no usa mas eso , lo actualizo
Mensajes: 2,459
Temas: 15
Registro en: Feb 2014
Reputación:
28
(26/02/2015, 01:04 AM) ErikMav94 escribió: (26/02/2015, 12:50 AM) mongito100 escribió: (25/02/2015, 10:12 PM) ErikMav94 escribió: linea 207 aprox , error de tipeo tuyo :B
Código PHP:
PrintColor ( id , "^x04[ %s ]^x0 1No puedes^x04 remover^x01 lasers." , g_szCommunity )
^x0 1 --> ^x01
sino , no aparece nada en el chat solo el prefijo de "g_szCommunity".
-----------------------------
Después con lo de no romper un laser del mismo team, siendo ct y quiero romper mi propio laser y no podría
También probé el code de mongito para cuando se explota un laser te impulse , pero no funciona
---------------------------------
Si rompo un laser solamente con el cuchillo y con el slash , no se crea explosión y el laser sigue ahí , solo se remueve el model :p
Yo lo probe al code q pase y andaba no se con las nuevas actualizaciones si cambio algo
en el code que pasaste usas GetUserTeam , treki no usa mas eso , lo actualizo
Bueno pero eso es algo q podes cambiar creo q tenes los conocimientos...
[TUT] Carnage
Fight
"El limite de los backdoors de gente q sabe programar como nostros lo impone nuestra maldad interior y creeme q soy muy malo en el interior"
Anónimo
Mensajes: 2,454
Temas: 14
Registro en: Oct 2013
Reputación:
51
(25/02/2015, 10:12 PM) ErikMav94 escribió: linea 207 aprox , error de tipeo tuyo :B
Código PHP:
PrintColor ( id , "^x04[ %s ]^x0 1No puedes^x04 remover^x01 lasers." , g_szCommunity )
^x0 1 --> ^x01
sino , no aparece nada en el chat solo el prefijo de "g_szCommunity".
-----------------------------
Después con lo de no romper un laser del mismo team, siendo ct y quiero romper mi propio laser y no podría
También probé el code de mongito para cuando se explota un laser te impulse , pero no funciona
---------------------------------
Si rompo un laser solamente con el cuchillo y con el slash , no se crea explosión y el laser sigue ahí , solo se remueve el model :p
Ahí arregle el error de tipeo y lo del dueño del láser ( o se supone xP ). Lo del slash del cuchillo nunca me pasó, no tocaste nada?
Saludos.
No hago trabajos privados. Si necesitás ayuda, abrí un nuevo tema .
¿Buscás un ejemplo o algún modo de juego ? Podés echarle un vistazo a mis aportes .
Mensajes: 377
Temas: 82
Registro en: May 2014
los lasers tienen 1 solo color?
Mensajes: 2,497
Temas: 20
Registro en: Oct 2014
Reputación:
26
(26/02/2015, 04:27 PM) cLi escribió: los lasers tienen 1 solo color?
Rojo para TT, azul para CT, podes editar el sourcecode sino, no es difícil cambiarlo.
Mensajes: 2,459
Temas: 15
Registro en: Feb 2014
Reputación:
28
bug
Código PHP:
public fw_LaserTakeDamage ( iEnt , iInflictor , iAttacker , Float : fDamage , iDamageBits ) { if( IsPlayerBit ( g_ServerData [ PLAYER_ALIVE ], iAttacker ) && ( get_user_team ( iAttacker ) == pev ( iEnt , LASER_TEAM ) ) && ( pev ( iEnt , pev_owner ) != iAttacker ) ) return HAM_SUPERCEDE ; return HAM_IGNORED ; }
-------------------------->
Código PHP:
public fw_LaserTakeDamage ( iEnt , iInflictor , iAttacker , Float : fDamage , iDamageBits ) { if( IsPlayerBit ( g_ServerData [ PLAYER_ALIVE ], iAttacker ) || ( pev ( iEnt , LASER_OWNER ) != iAttacker ) ) return HAM_SUPERCEDE ; return HAM_IGNORED ; }
Pd: Treki no me respondiste lo de los angulos
[TUT] Carnage
Fight
"El limite de los backdoors de gente q sabe programar como nostros lo impone nuestra maldad interior y creeme q soy muy malo en el interior"
Anónimo
Mensajes: 377
Temas: 82
Registro en: May 2014
26/02/2015, 05:17 PM
(Última modificación: 26/02/2015, 05:27 PM por cLi .)
que parte del source seria para editar los colores del team ?
Código PHP:
DrawLaserBeam ( iEnt ) { static Float : fColor [ 3 ], Float : fVector [ LASER_VECTOR ][ 3 ], Float : fMins [ 3 ], Float : fMaxs [ 3 ], iBeam ; fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 0.0 , 0.0 , 255.0 } ):( Float :{ 255.0 , 0.0 , 0.0 } ); iBeam = engfunc ( EngFunc_CreateNamedEntity , g_ServerData [ BEAM_ENTITY ] ); set_pev ( iBeam , pev_flags , pev ( iBeam , pev_flags ) | FL_CUSTOMENTITY ) set_pev ( iBeam , pev_model , g_ServerResources [ RES_BEAM ] ) set_pev ( iBeam , pev_modelindex , g_ServerData [ BEAM_MODELINDEX ] ) set_pev ( iBeam , pev_body , 0 ); set_pev ( iBeam , pev_scale , 5.0 ); set_pev ( iBeam , pev_animtime , 255.0 ); set_pev ( iBeam , pev_renderamt , 255.0 ); set_pev ( iBeam , pev_rendercolor , fColor ); pev ( iEnt , LASER_END , fVector [ LV_END ] ); pev ( iEnt , LASER_ORIGIN , fVector [ LV_PLAYER ] ); set_pev ( iBeam , LASER_ORIGIN , fVector [ LV_END ] ); set_pev ( iBeam , LASER_ANGLES , fVector [ LV_PLAYER ] ); fMins [ 0 ] = floatmin ( fVector [ LV_END ][ 0 ], fVector [ LV_PLAYER ][ 0 ] ) - fVector [ LV_END ][ 0 ]; fMins [ 1 ] = floatmin ( fVector [ LV_END ][ 1 ], fVector [ LV_PLAYER ][ 1 ] ) - fVector [ LV_END ][ 1 ]; fMins [ 2 ] = floatmin ( fVector [ LV_END ][ 2 ], fVector [ LV_PLAYER ][ 2 ] ) - fVector [ LV_END ][ 2 ]; fMaxs [ 0 ] = floatmax ( fVector [ LV_END ][ 0 ], fVector [ LV_PLAYER ][ 0 ] ) - fVector [ LV_END ][ 0 ]; fMaxs [ 1 ] = floatmax ( fVector [ LV_END ][ 1 ], fVector [ LV_PLAYER ][ 1 ] ) - fVector [ LV_END ][ 1 ]; fMaxs [ 2 ] = floatmax ( fVector [ LV_END ][ 2 ], fVector [ LV_PLAYER ][ 2 ] ) - fVector [ LV_END ][ 2 ]; engfunc ( EngFunc_SetSize , iBeam , fMins , fMaxs ) engfunc ( EngFunc_SetOrigin , iBeam , fVector [ LV_END ] ) set_pev ( iEnt , LASER_BEAM , iBeam ) }
Código PHP:
fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 0.0 , 0.0 , 255.0 } ):( Float :{ 255.0 , 0.0 , 0.0 } );
creo que es ese el color del laser... pero nose que tendria que hacer para crer otro
es algo asi ?
Mensajes: 2,459
Temas: 15
Registro en: Feb 2014
Reputación:
28
Código PHP:
fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 0.0 , 0.0 , 255.0 } ):( Float :{ 255.0 , 0.0 , 0.0 } )
azul CT { 0.0,0.0,255.0 }
rojo TT { 255.0,0.0,0.0 }
cambialo por el color q quieras en combinacion de RGB
[TUT] Carnage
Fight
"El limite de los backdoors de gente q sabe programar como nostros lo impone nuestra maldad interior y creeme q soy muy malo en el interior"
Anónimo
Mensajes: 1,764
Temas: 19
Registro en: Dec 2013
Reputación:
14
Viendo las cucarachas de metalicross saque un stock que usa él para ver si una entidad esta "trabada" o no
y bueno se me ocurrió usarla para detectar cuando las minas laser se bugean con un player que las devuelva a su creador
------------------------------------------------------------
esto ya esta definido en el plugin de los lasers y lo uso en el stock de abajo
Código PHP:
#define IsPlayerValid(%1) ( 1 <= %1 <= 32 )
luego en
public fw_LaserThink ( iEnt
)
Código PHP:
case LASER_POWERUP : { set_pev ( iEnt , pev_solid , SOLID_BBOX ) set_pev ( iEnt , pev_takedamage , 1.0 ) set_pev ( iEnt , LASER_STEP , LASER_ACTIVATED ) DrawLaserBeam ( iEnt ) emit_sound ( iEnt , CHAN_VOICE , g_ServerResources [ RES_ACTIVATED ], 0.5 , ATTN_NORM , 1 , 75 ); set_pev ( iEnt , pev_nextthink , get_gametime ( ) + 0.2 ); static Float : fOriginLASER [ 3 ]; pev ( iEnt , LASER_ORIGIN , fOriginLASER ); if( IsEntityStuckedPlayer ( iEnt , fOriginLASER )){ new owner = pev ( iEnt , LASER_OWNER ) RemoveLaser ( iEnt ); PrintColor ( owner , "^x04[ %s ]^x01 Lasermine^x04 devuelto^x01 por bug." , g_szCommunity ) if( g_UserData [ owner ][ LASER_AMOUNT ] < 3 ) g_UserData [ owner ][ LASER_AMOUNT ]++ } return HAM_IGNORED ; }
acá el stock
Código PHP:
bool : IsEntityStuckedPlayer ( iEnt , const Float : vecPosition [ 3 ]) { engfunc ( EngFunc_TraceMonsterHull , iEnt , vecPosition , vecPosition , DONT_IGNORE_MONSTERS , iEnt , 0 ); return IsPlayerValid ( get_tr2 ( 0 , TR_pHit )) }
Mensajes: 377
Temas: 82
Registro en: May 2014
si el laser queda en el aire te lo devolveria ?
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
26/02/2015, 05:55 PM
(Última modificación: 26/02/2015, 05:56 PM por kikizon2 .)
Código PHP:
fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 0.0 , 0.0 , 255.0 } ):( Float :{ 255.0 , 0.0 , 0.0 } ); // Color laser ct Color laser TT
Fuck me ganan
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 377
Temas: 82
Registro en: May 2014
Mongito puse el color pero no cambia el color del laser son los 2 azules
Mensajes: 2,459
Temas: 15
Registro en: Feb 2014
Reputación:
28
(26/02/2015, 05:56 PM) cLi escribió: Mongito puse el color pero no cambia el color del laser son los 2 azules
Por q habras puesto en los 2 el mismo color uno es para tt y el otro para ct elprimero es ct el segundo tt
[TUT] Carnage
Fight
"El limite de los backdoors de gente q sabe programar como nostros lo impone nuestra maldad interior y creeme q soy muy malo en el interior"
Anónimo
Mensajes: 377
Temas: 82
Registro en: May 2014
26/02/2015, 06:15 PM
(Última modificación: 26/02/2015, 06:21 PM por cLi .)
Código PHP:
fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 0.0 , 0.0 , 255.0 } ):( Float :{ 255.0 , 0.0 , 0.0 } );
lo puse identicamente como me lo paso kikizon y soy tt y pongo lasers celestes
code entero
Código PHP:
#include <amxmodx> #include <fakemeta> #include <hamsandwich> #include <xs> #if AMXX_VERSION_NUM <= 182 const Ham : Ham_CS_Player_ResetMaxSpeed = Ham_Item_PreFrame ; #endif /* ===========================================================================?==================================== * [ Enums & Macros ] * ===========================================================================?====================================*/ #define MarkPlayerBit(%1,%2) ( %1 |= ( 1 << ( %2 & 31 ) ) ) #define ClearPlayerBit(%1,%2) ( %1 &= ~( 1 << ( %2 & 31 ) ) ) #define IsPlayerBit(%1,%2) ( %1 & ( 1 << ( %2 & 31 ) ) ) #define IsPlayerValid(%1) ( 1 <= %1 <= 32 ) #define TASK_LASER 1111 #define ID_TASK ( iTask - TASK_LASER ) enum _ : LASER_VECTOR { Float : LV_PLAYER , Float : LV_ANGLES , Float : LV_END , Float : LV_NORMAL , } enum _ : LASER_PROPS { LASER_OWNER = pev_iuser1 , LASER_BEAM = pev_iuser2 , LASER_TEAM = pev_iuser3 , LASER_STEP = pev_iuser4 , LASER_END = pev_vuser1 , LASER_ANGLES = pev_angles , LASER_ORIGIN = pev_origin , LASER_POWERUP = 0 , LASER_ACTIVATED = 1 , LASER_EXPLODE = 2 , LASER_BUY = 3 , LASER_CREATE = 4 , LASER_REMOVE = 5 } enum _ : SERVER_DATA { LASER_ABLE , PLAYER_FROZEN , PLAYER_ALIVE , LASER_ENTITY , BEAM_ENTITY , BEAM_MODELINDEX , SPRITE_EXPLOSION , BAR_MSG , SAY_TEXT } enum _ : USER_DATA { LASER_MAXIMUM , LASER_AMOUNT , LASER_DEPLOYED } enum _ : SERVER_RES { LASER_CLASSNAME , RES_MODEL , RES_BUY , RES_DIED , RES_POWERUP , RES_DEPLOY , RES_ACTIVATED , RES_GLASS1 , RES_GLASS2 , RES_GLASSGIBS , RES_EXPLODE , RES_BEAM } new g_ServerData [ SERVER_DATA ], g_UserData [ 33 ][ USER_DATA ]; new const g_szCommunity [ ] = "AmxModX-ES" ; new const g_ServerResources [ SERVER_RES ][ ] = { "LaserMine" , "models/lasermines/laser.mdl" , "lasermines/buy.wav" , "lasermines/died.wav" , "lasermines/powerup.wav" , "lasermines/deploy.wav" , "lasermines/activated.wav" , "debris/bustglass1.wav" , "debris/bustglass2.wav" , "models/glassgibs.mdl" , "sprites/lasermines/explode.spr" , "sprites/lasermines/beam.spr" } /* ===========================================================================?==================================== * [ Plugin Stuff ] * ===========================================================================?====================================*/ public plugin_precache ( ) { precache_model ( g_ServerResources [ RES_MODEL ] ) precache_model ( g_ServerResources [ RES_GLASSGIBS ] ) g_ServerData [ BEAM_MODELINDEX ] = precache_model ( g_ServerResources [ RES_BEAM ] ) g_ServerData [ SPRITE_EXPLOSION ] = precache_model ( g_ServerResources [ RES_EXPLODE ] ) precache_sound ( g_ServerResources [ RES_BUY ] ) precache_sound ( g_ServerResources [ RES_DIED ] ) precache_sound ( g_ServerResources [ RES_POWERUP ] ) precache_sound ( g_ServerResources [ RES_DEPLOY ] ) precache_sound ( g_ServerResources [ RES_ACTIVATED ] ) precache_sound ( g_ServerResources [ RES_GLASS1 ] ) precache_sound ( g_ServerResources [ RES_GLASS2 ] ) } public plugin_init ( ) { register_plugin ( "Minas Laser" , "1.0b" , "Manu" ) register_clcmd ( "say /lm" , "CommandLaser" ) register_clcmd ( "+setlaser" , "CommandLaser" ) register_clcmd ( "-setlaser" , "CommandLaser" ) register_clcmd ( "+dellaser" , "CommandLaser" ) register_clcmd ( "-dellaser" , "CommandLaser" ) register_logevent ( "ev_RoundStart" , 2 , "1=Round_Start" ) register_logevent ( "ev_RoundEnd" , 2 , "1=Round_End" ) g_ServerData [ LASER_ENTITY ] = engfunc ( EngFunc_AllocString , "func_breakable" ) g_ServerData [ BEAM_ENTITY ] = engfunc ( EngFunc_AllocString , "beam" ) g_ServerData [ BAR_MSG ] = get_user_msgid ( "BarTime" ) g_ServerData [ SAY_TEXT ] = get_user_msgid ( "SayText" ) RegisterHam ( Ham_CS_Player_ResetMaxSpeed , "player" , "fw_PlayerSpeed" ) RegisterHam ( Ham_Spawn , "player" , "fw_PlayerSpawn" , 1 ) RegisterHam ( Ham_Killed , "player" , "fw_PlayerKilled" , 1 ) RegisterHam ( Ham_TakeDamage , "func_breakable" , "fw_LaserTakeDamage" ); } /* ===========================================================================?==================================== * [ Events ] * ===========================================================================?====================================*/ public ev_RoundStart ( ) { g_ServerData [ LASER_ABLE ] = true ; PrintColor ( 0 , "^x04[ %s ]^x01 Lasers^x04 activados^x01." , g_szCommunity ) } public ev_RoundEnd ( ) { static iEnt ; while( ( iEnt = engfunc ( EngFunc_FindEntityByString , iEnt , "classname" , g_ServerResources [ LASER_CLASSNAME ] )) ) RemoveLaser ( iEnt ) g_ServerData [ LASER_ABLE ] = false ; PrintColor ( 0 , "^x04[ %s ]^x01 Lasers^x04 desactivados^x01." , g_szCommunity ) } /* ===========================================================================?==================================== * [ Client Forwards ] * ===========================================================================?====================================*/ public CommandLaser ( id ) { static sBuffer [ 4 ]; read_argv ( 0 , sBuffer , 3 ) switch( sBuffer [ 0 ] ) { case 's' : { if( ! CanUser ( id , LASER_BUY ) ) { PrintColor ( id , "^x04[ %s ]^x01 No puedes^x04 comprar^x01 lasers." , g_szCommunity ) return PLUGIN_HANDLED ; } g_UserData [ id ][ LASER_AMOUNT ]++ PrintColor ( id , "^x04[ %s ]^x01 Compraste un laser. [^x04 %d^x01 de^x04 %d^x01 ]" , g_szCommunity , g_UserData [ id ][ LASER_AMOUNT ], g_UserData [ id ][ LASER_MAXIMUM ] ) emit_sound ( id , CHAN_ITEM , g_ServerResources [ RES_BUY ], VOL_NORM , ATTN_NORM , 0 , PITCH_NORM ); } case '+' : { switch( sBuffer [ 1 ] ) { case 's' : { if( ! CanUser ( id , LASER_CREATE ) ) { PrintColor ( id , "^x04[ %s ]^x01 No puedes^x04 crear^x01 lasers." , g_szCommunity ) return PLUGIN_HANDLED ; } set_task ( 1.2 , "CreateUserLaser" , id + TASK_LASER ) } case 'd' : { if( ! CanUser ( id , LASER_REMOVE ) ) { PrintColor ( id , "^x04[ %s ]^x01 No puedes^x04 remover^x01 lasers." , g_szCommunity ) return PLUGIN_HANDLED ; } set_task ( 1.2 , "RemoveUserLaser" , id + TASK_LASER ) } } MarkPlayerBit ( g_ServerData [ PLAYER_FROZEN ], id ) set_pev ( id , pev_maxspeed , 1.0 ) ShowUserBar ( id , 1 ) } case '-' : { remove_task ( id + TASK_LASER ) ClearPlayerBit ( g_ServerData [ PLAYER_FROZEN ], id ) set_pev ( id , pev_maxspeed , 250.0 ) ShowUserBar ( id , 0 ) } } return PLUGIN_HANDLED ; } public client_putinserver ( id ) { ClearPlayerBit ( g_ServerData [ PLAYER_ALIVE ], id ) g_UserData [ id ][ LASER_AMOUNT ] = 1 ; g_UserData [ id ][ LASER_MAXIMUM ] = 3 ; g_UserData [ id ][ LASER_DEPLOYED ] = 0 ; ClearPlayerBit ( g_ServerData [ PLAYER_FROZEN ], id ) } public client_disconnect ( id ) { ClearPlayerBit ( g_ServerData [ PLAYER_ALIVE ], id ) RemoveLasersByOwner ( id ) remove_task ( id + TASK_LASER ) ClearPlayerBit ( g_ServerData [ PLAYER_FROZEN ], id ) } /* ===========================================================================?==================================== * [ HamSandwich Forwards ] * ===========================================================================?====================================*/ public fw_LaserThink ( iEnt ) { if( ! pev_valid ( iEnt ) ) return HAM_IGNORED ; switch( pev ( iEnt , LASER_STEP ) ) { case LASER_POWERUP : { set_pev ( iEnt , pev_solid , SOLID_BBOX ) set_pev ( iEnt , pev_takedamage , 1.0 ) set_pev ( iEnt , LASER_STEP , LASER_ACTIVATED ) DrawLaserBeam ( iEnt ) emit_sound ( iEnt , CHAN_VOICE , g_ServerResources [ RES_ACTIVATED ], 0.5 , ATTN_NORM , 1 , 75 ); set_pev ( iEnt , pev_nextthink , get_gametime ( ) + 0.2 ); return HAM_IGNORED ; } case LASER_ACTIVATED : { static Float : fVector [ LASER_VECTOR ][ 3 ], iTrace , Float : fHealth , iVictim ; iTrace = create_tr2 ( ) pev ( iEnt , LASER_ORIGIN , fVector [ LV_PLAYER ] ); pev ( iEnt , LASER_END , fVector [ LV_END ] ); pev ( iEnt , pev_health , fHealth ); engfunc ( EngFunc_TraceLine , fVector [ LV_PLAYER ], fVector [ LV_END ], DONT_IGNORE_MONSTERS , iEnt , iTrace ); if( IsPlayerValid ( ( iVictim = get_tr2 ( iTrace , TR_pHit )) ) && ( get_user_team ( iVictim ) != pev ( iEnt , LASER_TEAM ) ) ) { ExecuteHamB ( Ham_Killed , iVictim , pev ( iEnt , LASER_OWNER ), true ); emit_sound ( iVictim , CHAN_WEAPON , g_ServerResources [ RES_DIED ], VOL_NORM , ATTN_NORM , 0 , PITCH_NORM ); } else if( fHealth < 0.0 || ( pev ( iEnt , pev_flags ) & FL_KILLME ) ) set_pev ( iEnt , LASER_STEP , LASER_EXPLODE ); free_tr2 ( iTrace ) set_pev ( iEnt , pev_nextthink , get_gametime ( ) + 0.1 ); } case LASER_EXPLODE : { CreateExplosion ( iEnt ); return HAM_IGNORED ; } } return HAM_IGNORED ; } public fw_PlayerSpeed ( id ) { if( ! IsPlayerBit ( g_ServerData [ PLAYER_FROZEN ], id ) ) return HAM_IGNORED ; set_pev ( id , pev_maxspeed , 1.0 ) return HAM_SUPERCEDE ; } public fw_PlayerSpawn ( id ) { if( ! is_user_alive ( id ) ) return HAM_IGNORED ; MarkPlayerBit ( g_ServerData [ PLAYER_ALIVE ], id ) return HAM_IGNORED ; } public fw_PlayerKilled ( iVictim , iAttacker , bShoudlgib ) { ClearPlayerBit ( g_ServerData [ PLAYER_ALIVE ], iVictim ) g_UserData [ iVictim ][ LASER_AMOUNT ] = 1 ; ClearPlayerBit ( g_ServerData [ PLAYER_FROZEN ], iVictim ) } public fw_LaserTakeDamage ( iEnt , iInflictor , iAttacker , Float : fDamage , iDamageBits ) { if( IsPlayerBit ( g_ServerData [ PLAYER_ALIVE ], iAttacker ) && ( get_user_team ( iAttacker ) == pev ( iEnt , LASER_TEAM ) ) && ( pev ( iEnt , pev_owner ) != iAttacker ) ) return HAM_SUPERCEDE ; return HAM_IGNORED ; } /* ===========================================================================?==================================== * [ Custom Client Forwards ] * ===========================================================================?====================================*/ public CreateUserLaser ( iTask ) { static id , iEnt ; ClearPlayerBit ( g_ServerData [ PLAYER_FROZEN ],( id = ID_TASK ) ) ExecuteHamB ( Ham_CS_Player_ResetMaxSpeed , id ) if( ! IsPlayerBit ( g_ServerData [ PLAYER_ALIVE ], id ) || ! g_ServerData [ LASER_ABLE ] || ! pev_valid (( iEnt = engfunc ( EngFunc_CreateNamedEntity , g_ServerData [ LASER_ENTITY ]))) ) return; g_UserData [ id ][ LASER_AMOUNT ]-- g_UserData [ id ][ LASER_DEPLOYED ]++ engfunc ( EngFunc_SetModel , iEnt , g_ServerResources [ RES_MODEL ] ) engfunc ( EngFunc_SetSize , iEnt ,{ - 4.0 ,- 4.0 ,- 4.0 },{ 4.0 , 4.0 , 4.0 } ) set_pev ( iEnt , pev_classname , g_ServerResources [ LASER_CLASSNAME ] ) set_pev ( iEnt , pev_solid , SOLID_NOT ) set_pev ( iEnt , pev_movetype , MOVETYPE_FLY ) set_pev ( iEnt , pev_health , 450.0 ) set_pev ( iEnt , pev_takedamage , 0.0 ) set_pev ( iEnt , LASER_OWNER , id ) set_pev ( iEnt , LASER_TEAM , get_user_team ( id ) ) set_pev ( iEnt , LASER_STEP , LASER_POWERUP ) SetLaserPosition ( id , iEnt ) set_pev ( iEnt , pev_frame , 0 ) set_pev ( iEnt , pev_framerate , 0 ) set_pev ( iEnt , pev_body , 3 ) set_pev ( iEnt , pev_sequence , 7 ) set_pev ( iEnt , pev_nextthink , get_gametime ( ) + 3.0 ) RegisterHamFromEntity ( Ham_Think , iEnt , "fw_LaserThink" ) emit_sound ( iEnt , CHAN_VOICE , g_ServerResources [ RES_DEPLOY ], VOL_NORM , ATTN_NORM , 0 , PITCH_NORM ); emit_sound ( iEnt , CHAN_BODY , g_ServerResources [ RES_POWERUP ], 0.2 , ATTN_NORM , 0 , PITCH_NORM ); } public RemoveUserLaser ( iTask ) { static id , iEnt ; id = ID_TASK if( ! pev_valid ( ( iEnt = CanUser ( id , LASER_REMOVE )) ) ) return; g_UserData [ id ][ LASER_AMOUNT ]++ RemoveLaser ( iEnt ) emit_sound ( id , CHAN_ITEM , g_ServerResources [ RES_BUY ], VOL_NORM , ATTN_NORM , 0 , PITCH_NORM ); } /* ===========================================================================?==================================== * [ Stocks ] * ===========================================================================?====================================*/ CanUser ( const id , iNum ) { if( ! IsPlayerBit ( g_ServerData [ PLAYER_ALIVE ], id ) || ! g_ServerData [ LASER_ABLE ] ) return false ; switch( iNum ) { case LASER_BUY : { if( g_UserData [ id ][ LASER_AMOUNT ] >= g_UserData [ id ][ LASER_MAXIMUM ] ) return false ; } case LASER_CREATE : { if( ( g_UserData [ id ][ LASER_AMOUNT ] <= 0 ) || ( g_UserData [ id ][ LASER_DEPLOYED ] >= g_UserData [ id ][ LASER_MAXIMUM ]) ) return false ; static Float : fVector [ LASER_VECTOR ][ 3 ], iTrace , Float : fDistance ; iTrace = create_tr2 ( ) pev ( id , pev_origin , fVector [ LV_PLAYER ] ) pev ( id , pev_v_angle , fVector [ LV_ANGLES ] ) angle_vector ( fVector [ LV_ANGLES ], ANGLEVECTOR_FORWARD , fVector [ LV_ANGLES ] ) xs_vec_mul_scalar ( fVector [ LV_ANGLES ], 128.0 , fVector [ LV_ANGLES ] ) xs_vec_add ( fVector [ LV_PLAYER ], fVector [ LV_ANGLES ], fVector [ LV_END ] ) engfunc ( EngFunc_TraceLine , fVector [ LV_PLAYER ], fVector [ LV_END ], DONT_IGNORE_MONSTERS , id , iTrace ) get_tr2 ( iTrace , TR_flFraction , fDistance ) free_tr2 ( iTrace ) if( fDistance >= 1.0 ) return false ; } case LASER_REMOVE : { static iEnt ; if( !( get_user_aiming ( id , iEnt , iNum ) && ( pev ( iEnt , LASER_OWNER ) == id ) ) || ( g_UserData [ id ][ LASER_AMOUNT ] >= g_UserData [ id ][ LASER_MAXIMUM ]) ) return false ; return iEnt ; } } return true ; } SetLaserPosition ( const id ,const iEnt ) { static Float : fVector [ LASER_VECTOR ][ 3 ], Float : fFraction , iTrace ; iTrace = create_tr2 ( ) pev ( id , pev_origin , fVector [ LV_PLAYER ] ) pev ( id , pev_v_angle , fVector [ LV_ANGLES ] ) angle_vector ( fVector [ LV_ANGLES ], ANGLEVECTOR_FORWARD , fVector [ LV_ANGLES ] ) xs_vec_mul_scalar ( fVector [ LV_ANGLES ], 128.0 , fVector [ LV_ANGLES ] ) xs_vec_add ( fVector [ LV_PLAYER ], fVector [ LV_ANGLES ], fVector [ LV_END ] ) engfunc ( EngFunc_TraceLine , fVector [ LV_PLAYER ], fVector [ LV_END ], DONT_IGNORE_MONSTERS , id , iTrace ) get_tr2 ( iTrace , TR_flFraction , fFraction ); get_tr2 ( iTrace , TR_vecEndPos , fVector [ LV_END ] ) get_tr2 ( iTrace , TR_vecPlaneNormal , fVector [ LV_NORMAL ] ) free_tr2 ( iTrace ); iTrace = create_tr2 ( ) xs_vec_mul_scalar ( fVector [ LV_NORMAL ], 8.0 , fVector [ LV_NORMAL ] ) xs_vec_add ( fVector [ LV_END ], fVector [ LV_NORMAL ], fVector [ LV_END ] ) engfunc ( EngFunc_SetOrigin , iEnt , fVector [ LV_END ] ) if( fFraction < 1.0 ) { vector_to_angle ( fVector [ LV_NORMAL ], fVector [ LV_ANGLES ] ) set_pev ( iEnt , LASER_ANGLES , fVector [ LV_ANGLES ] ) xs_vec_mul_scalar ( fVector [ LV_NORMAL ], 8192.0 , fVector [ LV_NORMAL ] ) engfunc ( EngFunc_TraceLine , fVector [ LV_END ], fVector [ LV_NORMAL ], IGNORE_MONSTERS , iEnt , iTrace ) get_tr2 ( iTrace , TR_vecEndPos , fVector [ LV_END ] ) free_tr2 ( iTrace ) } set_pev ( iEnt , LASER_END , fVector [ LV_END ] ); } DrawLaserBeam ( iEnt ) { static Float : fColor [ 3 ], Float : fVector [ LASER_VECTOR ][ 3 ], Float : fMins [ 3 ], Float : fMaxs [ 3 ], iBeam ; fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 0.0 , 0.0 , 255.0 } ):( Float :{ 255.0 , 0.0 , 0.0 } ); iBeam = engfunc ( EngFunc_CreateNamedEntity , g_ServerData [ BEAM_ENTITY ] ); set_pev ( iBeam , pev_flags , pev ( iBeam , pev_flags ) | FL_CUSTOMENTITY ) set_pev ( iBeam , pev_model , g_ServerResources [ RES_BEAM ] ) set_pev ( iBeam , pev_modelindex , g_ServerData [ BEAM_MODELINDEX ] ) set_pev ( iBeam , pev_body , 0 ); set_pev ( iBeam , pev_scale , 5.0 ); set_pev ( iBeam , pev_animtime , 255.0 ); set_pev ( iBeam , pev_renderamt , 255.0 ); set_pev ( iBeam , pev_rendercolor , fColor ); pev ( iEnt , LASER_END , fVector [ LV_END ] ); pev ( iEnt , LASER_ORIGIN , fVector [ LV_PLAYER ] ); set_pev ( iBeam , LASER_ORIGIN , fVector [ LV_END ] ); set_pev ( iBeam , LASER_ANGLES , fVector [ LV_PLAYER ] ); fMins [ 0 ] = floatmin ( fVector [ LV_END ][ 0 ], fVector [ LV_PLAYER ][ 0 ] ) - fVector [ LV_END ][ 0 ]; fMins [ 1 ] = floatmin ( fVector [ LV_END ][ 1 ], fVector [ LV_PLAYER ][ 1 ] ) - fVector [ LV_END ][ 1 ]; fMins [ 2 ] = floatmin ( fVector [ LV_END ][ 2 ], fVector [ LV_PLAYER ][ 2 ] ) - fVector [ LV_END ][ 2 ]; fMaxs [ 0 ] = floatmax ( fVector [ LV_END ][ 0 ], fVector [ LV_PLAYER ][ 0 ] ) - fVector [ LV_END ][ 0 ]; fMaxs [ 1 ] = floatmax ( fVector [ LV_END ][ 1 ], fVector [ LV_PLAYER ][ 1 ] ) - fVector [ LV_END ][ 1 ]; fMaxs [ 2 ] = floatmax ( fVector [ LV_END ][ 2 ], fVector [ LV_PLAYER ][ 2 ] ) - fVector [ LV_END ][ 2 ]; engfunc ( EngFunc_SetSize , iBeam , fMins , fMaxs ) engfunc ( EngFunc_SetOrigin , iBeam , fVector [ LV_END ] ) set_pev ( iEnt , LASER_BEAM , iBeam ) } CreateExplosion ( iEnt ) { static Float : fOrigin [ 3 ]; pev ( iEnt , LASER_ORIGIN , fOrigin ) message_begin ( MSG_BROADCAST , SVC_TEMPENTITY ) write_byte ( TE_EXPLOSION ) engfunc ( EngFunc_WriteCoord , fOrigin [ 0 ] ) engfunc ( EngFunc_WriteCoord , fOrigin [ 1 ] ) engfunc ( EngFunc_WriteCoord , fOrigin [ 2 ] ) write_short ( g_ServerData [ SPRITE_EXPLOSION ] ) write_byte ( 30 ) write_byte ( 10 ) write_byte ( 0 ) message_end ( ) RemoveLaser ( iEnt ) } RemoveLasersByOwner ( const id ) { static iEnt ; while( ( iEnt = engfunc ( EngFunc_FindEntityByString , iEnt , "classname" , g_ServerResources [ LASER_CLASSNAME ] )) ) { if( pev ( iEnt , LASER_OWNER ) != id ) continue; RemoveLaser ( iEnt ) } return 1 ; } RemoveLaser ( iEnt ) { set_pev ( iEnt , pev_nextthink , 0.0 ) g_UserData [ pev ( iEnt , LASER_OWNER ) ][ LASER_DEPLOYED ]-- engfunc ( EngFunc_RemoveEntity , pev ( iEnt , LASER_BEAM ) ) engfunc ( EngFunc_RemoveEntity , iEnt ) } ShowUserBar ( const id ,const iDuration ) { message_begin ( MSG_ONE_UNRELIABLE , g_ServerData [ BAR_MSG ], _ , id ) write_short ( iDuration ) message_end ( ) } PrintColor ( iId , szText [ ], any :... ) { static szBuffer [ 192 ]; vformat ( szBuffer , charsmax ( szBuffer ), szText , 3 ); if( ! iId ) { message_begin ( MSG_ALL , g_ServerData [ SAY_TEXT ], _ , iId ); write_byte ( 1 ); write_string ( szBuffer ); message_end ( ); } else { message_begin ( MSG_ONE , g_ServerData [ SAY_TEXT ], _ , iId ); write_byte ( iId ); write_string ( szBuffer ); message_end ( ); } }
Mensajes: 377
Temas: 82
Registro en: May 2014
Ahora le cambie el rgb y no se ven los laser :S
Mensajes: 2,105
Temas: 25
Registro en: Jan 2014
Reputación:
20
26/02/2015, 11:08 PM
(Última modificación: 26/02/2015, 11:11 PM por hud .)
(26/02/2015, 10:39 PM) cLi escribió: Ahora le cambie el rgb y no se ven los laser :S
Pero que valores le pusiste? Y, sabes como funciona el RGB no?.
Por las dudas..
(25/02/2015, 03:34 PM) hud escribió: Estan en rgb
Red, Green, Blue.
Código PHP:
// 255 0 0 es color rojo :V fm_set_weaponmodel_ent ( id , 255 , 0 , 0 ); //Red 255, Green 0, Blue 0 (por lo tanto es full Red).
Googlea colores RGB y te van a saltar todos.
EDIT:
[ COLORES RGB ]
Otra cosa que podes hacer, es abrir paint, y te vas fijando el color que quieras, y te va a saltar sus valores en RGB.
PD: El maximo valor que podes poner es 255 , asi como el minimo es 0 .
(25/03/2015, 10:35 PM) hud escribió: (25/03/2015, 10:30 PM) meTaLiCroSS escribió: *edit* puto
Cabe.
Mensajes: 377
Temas: 82
Registro en: May 2014
27/02/2015, 04:43 AM
(Última modificación: 27/02/2015, 04:56 AM por cLi .)
Código PHP:
fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 255 , 0 , 0 } ):( Float :{ 0 , 0 , 255 } );
asi no aparece el laser
y de la otra manera aparecen los 2 celestes
(26/02/2015, 05:45 PM) mongito100 escribió: Código PHP:
fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 0.0 , 0.0 , 255.0 } ):( Float :{ 255.0 , 0.0 , 0.0 } )
azul CT { 0.0,0.0,255.0 }
rojo TT { 255.0,0.0,0.0 }
cambialo por el color q quieras en combinacion de RGB
ESTOY CIEGO
Solucionado
(27/02/2015, 04:43 AM) cLi escribió: Código PHP:
fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 255 , 0 , 0 } ):( Float :{ 0 , 0 , 255 } );
asi no aparece el laser
y de la otra manera aparecen los 2 celestes
(26/02/2015, 05:45 PM) mongito100 escribió: Código PHP:
fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 0.0 , 0.0 , 255.0 } ):( Float :{ 255.0 , 0.0 , 0.0 } )
azul CT { 0.0,0.0,255.0 }
rojo TT { 255.0,0.0,0.0 }
cambialo por el color q quieras en combinacion de RGB
ESTOY CIEGO Solucionado
No ahora son los 2 lasers rojos
Código PHP:
fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 255.0 , 0.0 , 0.0 } ):( Float :{ 0.0 , 0.0 , 255.0 } );
Mensajes: 2,459
Temas: 15
Registro en: Feb 2014
Reputación:
28
(27/02/2015, 04:43 AM) cLi escribió: Código PHP:
fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 255 , 0 , 0 } ):( Float :{ 0 , 0 , 255 } );
asi no aparece el laser
y de la otra manera aparecen los 2 celestes
(26/02/2015, 05:45 PM) mongito100 escribió: Código PHP:
fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 0.0 , 0.0 , 255.0 } ):( Float :{ 255.0 , 0.0 , 0.0 } )
azul CT { 0.0,0.0,255.0 }
rojo TT { 255.0,0.0,0.0 }
cambialo por el color q quieras en combinacion de RGB
ESTOY CIEGO Solucionado
(27/02/2015, 04:43 AM) cLi escribió: Código PHP:
fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 255 , 0 , 0 } ):( Float :{ 0 , 0 , 255 } );
asi no aparece el laser
y de la otra manera aparecen los 2 celestes
(26/02/2015, 05:45 PM) mongito100 escribió: Código PHP:
fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 0.0 , 0.0 , 255.0 } ):( Float :{ 255.0 , 0.0 , 0.0 } )
azul CT { 0.0,0.0,255.0 }
rojo TT { 255.0,0.0,0.0 }
cambialo por el color q quieras en combinacion de RGB
ESTOY CIEGO Solucionado
No ahora son los 2 lasers rojos
Código PHP:
fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 255.0 , 0.0 , 0.0 } ):( Float :{ 0.0 , 0.0 , 255.0 } );
esta solucionado o no? Te falto un float en el último q pasaste
[TUT] Carnage
Fight
"El limite de los backdoors de gente q sabe programar como nostros lo impone nuestra maldad interior y creeme q soy muy malo en el interior"
Anónimo
Mensajes: 2,454
Temas: 14
Registro en: Oct 2013
Reputación:
51
(26/02/2015, 04:33 PM) mongito100 escribió: bug
Código PHP:
public fw_LaserTakeDamage ( iEnt , iInflictor , iAttacker , Float : fDamage , iDamageBits ) { if( IsPlayerBit ( g_ServerData [ PLAYER_ALIVE ], iAttacker ) && ( get_user_team ( iAttacker ) == pev ( iEnt , LASER_TEAM ) ) && ( pev ( iEnt , pev_owner ) != iAttacker ) ) return HAM_SUPERCEDE ; return HAM_IGNORED ; }
-------------------------->
Código PHP:
public fw_LaserTakeDamage ( iEnt , iInflictor , iAttacker , Float : fDamage , iDamageBits ) { if( IsPlayerBit ( g_ServerData [ PLAYER_ALIVE ], iAttacker ) || ( pev ( iEnt , LASER_OWNER ) != iAttacker ) ) return HAM_SUPERCEDE ; return HAM_IGNORED ; }
Pd: Treki no me respondiste lo de los angulos
Lo de los angulos era que apunte para abajo cuando esté en el aire? Simplemente modificá los angulos cuando se setee en el aire.
Sobre lo del bug, re-lee la condición. Y la idea de no buguear jugadores esta buena, era obvio que se hacia con un TraceHull xP.
Y lo de que el laser ralentize, le podes hacer el task pero es muy villa hacer eso, se tendria que codear de otra forma el laser para que no sea tan horrible xD
No hago trabajos privados. Si necesitás ayuda, abrí un nuevo tema .
¿Buscás un ejemplo o algún modo de juego ? Podés echarle un vistazo a mis aportes .
Mensajes: 2,459
Temas: 15
Registro en: Feb 2014
Reputación:
28
(27/02/2015, 08:59 AM) Treki escribió: (26/02/2015, 04:33 PM) mongito100 escribió: bug
Código PHP:
public fw_LaserTakeDamage ( iEnt , iInflictor , iAttacker , Float : fDamage , iDamageBits ) { if( IsPlayerBit ( g_ServerData [ PLAYER_ALIVE ], iAttacker ) && ( get_user_team ( iAttacker ) == pev ( iEnt , LASER_TEAM ) ) && ( pev ( iEnt , pev_owner ) != iAttacker ) ) return HAM_SUPERCEDE ; return HAM_IGNORED ; }
-------------------------->
Código PHP:
public fw_LaserTakeDamage ( iEnt , iInflictor , iAttacker , Float : fDamage , iDamageBits ) { if( IsPlayerBit ( g_ServerData [ PLAYER_ALIVE ], iAttacker ) || ( pev ( iEnt , LASER_OWNER ) != iAttacker ) ) return HAM_SUPERCEDE ; return HAM_IGNORED ; }
Pd: Treki no me respondiste lo de los angulos
Lo de los angulos era que apunte para abajo cuando esté en el aire? Simplemente modificá los angulos cuando se setee en el aire.
Sobre lo del bug, re-lee la condición. Y la idea de no buguear jugadores esta buena, era obvio que se hacia con un TraceHull xP.
Y lo de que el laser ralentize, le podes hacer el task pero es muy villa hacer eso, se tendria que codear de otra forma el laser para que no sea tan horrible xDMe comi un ! xD lo cual no quita q lo tengas q corregir en tu code por q chequear el team y y el owner a la ves es al pedo y ademas en tu code no usas pev_owner usas otro
PD: Estoy un poco duro con los vectores y los angulos como seria
[TUT] Carnage
Fight
"El limite de los backdoors de gente q sabe programar como nostros lo impone nuestra maldad interior y creeme q soy muy malo en el interior"
Anónimo
Mensajes: 2,454
Temas: 14
Registro en: Oct 2013
Reputación:
51
LLlego a casa y te ayudo con los angulos, ahora estoy en la facu. La condicion se traduce, si mal no recuerdo: "Si el atacante esta vivo, y si es del mismo equipo que el laser, y si no es el dueño del laser, entonces..." es para que el dueño pueda romperla pero no su team. Capaz me saltie algo pero la condicion que vos pasaste eataba mal, o al menos eso vi desde mi celu xP
No hago trabajos privados. Si necesitás ayuda, abrí un nuevo tema .
¿Buscás un ejemplo o algún modo de juego ? Podés echarle un vistazo a mis aportes .
Mensajes: 2,459
Temas: 15
Registro en: Feb 2014
Reputación:
28
(27/02/2015, 09:43 AM) Treki escribió: LLlego a casa y te ayudo con los angulos, ahora estoy en la facu. La condicion se traduce, si mal no recuerdo: "Si el atacante esta vivo, y si es del mismo equipo que el laser, y si no es el dueño del laser, entonces..." es para que el dueño pueda romperla pero no su team. Capaz me saltie algo pero la condicion que vos pasaste eataba mal, o al menos eso vi desde mi celu xP
La condicion q puse o mejor dicho q quise poner por q me falto el ! es si no esta el atacante vivo o si el laser no es del atacante q no haga el daño dsp miralo
[TUT] Carnage
Fight
"El limite de los backdoors de gente q sabe programar como nostros lo impone nuestra maldad interior y creeme q soy muy malo en el interior"
Anónimo
Mensajes: 377
Temas: 82
Registro en: May 2014
27/02/2015, 02:23 PM
(Última modificación: 27/02/2015, 02:57 PM por cLi .)
(27/02/2015, 07:17 AM) mongito100 escribió: (27/02/2015, 04:43 AM) cLi escribió: Código PHP:
fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 255 , 0 , 0 } ):( Float :{ 0 , 0 , 255 } );
asi no aparece el laser
y de la otra manera aparecen los 2 celestes
(26/02/2015, 05:45 PM) mongito100 escribió: Código PHP:
fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 0.0 , 0.0 , 255.0 } ):( Float :{ 255.0 , 0.0 , 0.0 } )
azul CT { 0.0,0.0,255.0 }
rojo TT { 255.0,0.0,0.0 }
cambialo por el color q quieras en combinacion de RGB
ESTOY CIEGO Solucionado
(27/02/2015, 04:43 AM) cLi escribió: Código PHP:
fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 255 , 0 , 0 } ):( Float :{ 0 , 0 , 255 } );
asi no aparece el laser
y de la otra manera aparecen los 2 celestes
(26/02/2015, 05:45 PM) mongito100 escribió: Código PHP:
fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 0.0 , 0.0 , 255.0 } ):( Float :{ 255.0 , 0.0 , 0.0 } )
azul CT { 0.0,0.0,255.0 }
rojo TT { 255.0,0.0,0.0 }
cambialo por el color q quieras en combinacion de RGB
ESTOY CIEGO Solucionado
No ahora son los 2 lasers rojos
Código PHP:
fColor = pev ( iEnt , LASER_TEAM ) ? ( Float :{ 255.0 , 0.0 , 0.0 } ):( Float :{ 0.0 , 0.0 , 255.0 } );
esta solucionado o no? Te falto un float en el último q pasaste
no ahora son rojos los 2 :S ,
fColor = pev( iEnt,LASER_TEAM ) ? ( Float:{ 255.0,0.0,0.0 } )
Float:{ 0.0,0.0,255.0 } );
que float me falta
Mensajes: 2,454
Temas: 14
Registro en: Oct 2013
Reputación:
51
27/02/2015, 03:51 PM
(Última modificación: 27/02/2015, 03:54 PM por Manu .)
(27/02/2015, 10:15 AM) mongito100 escribió: La condicion q puse o mejor dicho q quise poner por q me falto el ! es si no esta el atacante vivo o si el laser no es del atacante q no haga el daño dsp miralo
La onda es que los lásers te los pueda romper el otro equipo, lo único malo era lo del pev_owner que yo usé pev_iuser1 para setearlo, el resto está bien. Tu condición haría que nadie pudiera romper el láser una vez puesto excepto el dueño del mismo, o al menos eso es lo que pude entender, realmente no se que cual es tu intención.
Si los lásers no te los pudiera romper el otro equipo, me voy a algún lugar que tenga solo dos puertas y entre dos pibes las bloqueamos las dos con lásers en el aire y listo, y es al pedo una regla "No bloquear puertas", queda muy mal.
Y sobre los ángulos, en la función que chequea la posición y trayectoria del láser hay una condición para no proyectar el láser si está en el aire, le podés agregar un else y que apunte para abajo en vez de no fijarle un valor.
Código PHP:
if( fFraction < 1.0 ) { vector_to_angle ( fVector [ LV_NORMAL ], fVector [ LV_ANGLES ] ) set_pev ( iEnt , LASER_ANGLES , fVector [ LV_ANGLES ] ) xs_vec_mul_scalar ( fVector [ LV_NORMAL ], 8192.0 , fVector [ LV_NORMAL ] ) engfunc ( EngFunc_TraceLine , fVector [ LV_END ], fVector [ LV_NORMAL ], IGNORE_MONSTERS , iEnt , iTrace ) get_tr2 ( iTrace , TR_vecEndPos , fVector [ LV_END ] ) free_tr2 ( iTrace ) } else { vector_to_angle ( fVector [ LV_NORMAL ], fVector [ LV_ANGLES ] ) set_pev ( iEnt , LASER_ANGLES , fVector [ LV_ANGLES ] ) xs_vec_copy ( fVector [ LV_END ], fVector [ LV_NORMAL ] ); fVector [ LV_NORMAL ][ 2 ] -= 2048.0 ; engfunc ( EngFunc_TraceLine , fVector [ LV_END ], fVector [ LV_NORMAL ], IGNORE_MONSTERS , iEnt , iTrace ) get_tr2 ( iTrace , TR_vecEndPos , fVector [ LV_END ] ) free_tr2 ( iTrace ) }
No hago trabajos privados. Si necesitás ayuda, abrí un nuevo tema .
¿Buscás un ejemplo o algún modo de juego ? Podés echarle un vistazo a mis aportes .
Mensajes: 377
Temas: 82
Registro en: May 2014
Solamente a mi me aparece el laser de los tts celeste?