Plugin TreeSpawner
#1
Tengo un problema que habia solucionado pero hasta un cierto punto xD, la cosa es que vale al entrar al server se reproduce la musica de navidad en los arboles, pero a la siguiente ronda al ir hacia un arbol no suena la musica, es como si tuviera stop, se supone que esto tiene musica de fondo (dentro del rango del arbol), agradeceria mucho su ayuda <3

Pd: Ando actualizando el servidor tipo navidad xD

Código PHP:
#include < amxmodx >
#include < amxmisc >
#include < engine >

#include <fakemeta>
#define RADIO_SOUND        2 // pueden ser 2 4 y 8

new const MODEL[ ] = "models/christmas_tree1.mdl";
new const 
SOUND[ ] = "how_is_your_life_going.wav";

new 
g_szConfigFile128 ];

public 
plugin_init( ) 
{
    
register_plugin"Tree Spawner""1.0""xPaw" );
    
    
register_clcmd"tree_spawn",  "CmdSpawnTree" );
    
register_clcmd"tree_remove""CmdSpawnRemove" );
}

public 
plugin_precache( )
{
    
precache_modelMODEL );
    
precache_soundSOUND );
}

public 
plugin_cfg( ) {
    new 
szMapName32 ];
    
get_mapnameszMapName31 );
    
strtolowerszMapName );
    
    
formatexg_szConfigFile127"addons/amxmodx/data/trees" );
    
    if( !
dir_existsg_szConfigFile ) ) {
        
mkdirg_szConfigFile );
        
        
formatg_szConfigFile127"%s/%s.txt"g_szConfigFileszMapName );
        
        return;
    }
    
    
formatg_szConfigFile127"%s/%s.txt"g_szConfigFileszMapName );
    
    if( !
file_existsg_szConfigFile ) )
        return;
    
    new 
iFile fopeng_szConfigFile"rt" );
    
    if( !
iFile )
        return;
    
    new 
Float:vOrigin], x16 ], y16 ], z16 ], szDatasizeof) + sizeof) + sizeof) + ];
    
    while( !
feofiFile ) ) {
        
fgetsiFileszDatacharsmaxszData ) );
        
trimszData );
        
        if( !
szData] )
            continue;
        
        
parseszDatax15y15z15 );
        
        
vOrigin] = str_to_float);
        
vOrigin] = str_to_float);
        
vOrigin] = str_to_float);
        
        
CreateTreevOrigin );
    }
    
    
fcloseiFile );
}

public 
CmdSpawnTree( const id, const iLevel, const iCid ) {
    if( !
cmd_accessidiLeveliCid) )
        return 
PLUGIN_HANDLED;
    
    new 
Float:vOrigin];
    
entity_get_vectoridEV_VEC_originvOrigin );
    
    if( 
CreateTreevOrigin ) )
        
SaveTrees( );

    
console_printid"[AMXX] Arbol creado" );
    
    return 
PLUGIN_HANDLED;
}

public 
CmdSpawnRemove( const id, const iLevel, const iCid ) {
    if( !
cmd_accessidiLeveliCid) )
        return 
PLUGIN_HANDLED;
    
    new 
Float:vOrigin], szClassName10 ], iEntity = -1iDeleted;
    
entity_get_vectoridEV_VEC_originvOrigin );
    
    while( ( 
iEntity find_ent_in_sphereiEntityvOrigin100.0 ) ) > ) {
        
entity_get_stringiEntityEV_SZ_classnameszClassName);
        
        if( 
equalszClassName"env_tree" ) ) 
        {
            
remove_entityiEntity );
            
iDeleted++;
            
console_printid"[AMXX] Arbol borrado" );
        }
    }
    
    if( 
iDeleted )
        
SaveTrees( );
    
    if( 
iDeleted == )
        
console_printid"[AMXX] Tenes que estar en un arbol para poder borrarlo" );
    
    return 
PLUGIN_HANDLED;
}

CreateTree( const Float:vOrigin] )
{
    new 
iEntity create_entity"ambient_generic" );
    
    if( !
iEntity )
        return 
0;

    
set_peviEntitypev_messageSOUND );
    
set_peviEntitypev_spawnflagsRADIO_SOUND );
    
set_peviEntitypev_effectsEF_BRIGHTFIELD );
    
client_cmd(0"spk %s"SOUND)
    
set_peviEntitypev_health10.0 );
    
DispatchSpawniEntity ); 
    
    
entity_set_stringiEntityEV_SZ_classname"env_tree" );
    
entity_set_intiEntityEV_INT_solidSOLID_NOT );
    
entity_set_intiEntityEV_INT_movetypeMOVETYPE_NONE );
    
    
entity_set_sizeiEntityFloat:{ -1.0, -1.0, -1.0 }, Float:{ 1.01.036.0 } );
    
entity_set_originiEntityvOrigin);
    
entity_set_modeliEntityMODEL );
    
    
drop_to_flooriEntity );
    
    return 
iEntity;
}

SaveTrees( ) {
    if( 
file_existsg_szConfigFile ) )
        
delete_fileg_szConfigFile );
    
    new 
iFile fopeng_szConfigFile"wt" );
    
    if( !
iFile )
        return;
    
    new 
Float:vOrigin], iEntity;
    
    while( ( 
iEntity find_ent_by_classiEntity"env_tree" ) ) > ) {
        
entity_get_vectoriEntityEV_VEC_originvOrigin );
        
        
fprintfiFile"%f %f %f^n"vOrigin], vOrigin], vOrigin] );
    }
    
    
fcloseiFile );

Responder
#2
que raro jaja, a mi nunca me paso, estas usando todo original como lo aporte ? el sonido uncluso ? o lo cambiaste
Responder
#3
El plugin reproduce la musica a todos cada vez que el árbol es creado:
Código PHP:
client_cmd(0"spk %s"SOUND

Si alguien entra después de que se haya creado el árbol no escuchará la música
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#4
(09/11/2019, 03:03 PM)totopizza escribió: El plugin reproduce la musica a todos cada vez que el árbol es creado:
Código PHP:
client_cmd(0"spk %s"SOUND

Si alguien entra después de que se haya creado el árbol no escuchará la música

Ah vale, no hay ninguna posibilidad de que pueda escucharse siempre? o sea que siempre suene cuando alguien este cerca del arbol independientemente lo haya creado o no we?
Responder
#5
asi funciona el plugin que aporte por defecto, para mi que hay algo mal en tu servidor porque nunca tuve ese problema
Responder
#6
Código PHP:
client_cmd(0"spk %s"SOUND//Borra esto primero, ya que la música la reproduce la entidad no el jugador.
//Acá la entidad, setea la música y en que radio va a sonar.. Así que ese client_cmd esta al pedo.
set_peviEntitypev_messageSOUND );
set_peviEntitypev_spawnflagsRADIO_SOUND ); 
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)