Witam, czy byłby ktoś wstanie rozwiązać problem tego pluginu? Chodzi o to aby w nowej rundzie one znikały, a nie pozostawały
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Naprawa kolorowych smoke
#1
Napisano 17.02.2020 01:48
#2
Napisano 17.02.2020 05:08
powinno dzialac
Załączone pliki
Użytkownik vanillah edytował ten post 17.02.2020 05:08
Wykonam pluginy, paczki (amxx) kontakt GG: 32263742, Steam: https://steamcommuni...om/id/vankillah
#3
Napisano 17.02.2020 06:22
powinno dzialac
Niestety nie działa
Dymy nadal pozostają w nowej rundzie.
@edit
Można powiedzieć że raz znikają, a raz zostają
Użytkownik PanNieznajomy edytował ten post 17.02.2020 06:26
#4
Napisano 17.02.2020 18:45
a teraz?
Załączone pliki
Wykonam pluginy, paczki (amxx) kontakt GG: 32263742, Steam: https://steamcommuni...om/id/vankillah
#5
Napisano 17.02.2020 20:34
a teraz?
Niestety nic ![]()
Znalazłem taki kod i działa on poprawnie lecz posiada tylko 1 smoke :y
#include <amxmodx>
#include <engine>
#include <fakemeta>
#if !defined write_coord_f
#define write_coord_f(%1) engfunc( EngFunc_WriteCoord, %1 )
#endif
#define VERSION "1.06"
#define SMOKE_SPRITE "sprites/gas_puff_01r.spr"
new const g_szClassname[] = "custom_smoke";
new g_fwid
new g_evCreateSmoke;
new g_szSmokeSprite;
new g_Cvar_Enabled;
new g_Cvar_Duration;
new g_Cvar_CountSprites;
new g_Clear;
new g_iCvar_Enebled;
new g_iCountSprites;
public plugin_init( )
{
register_plugin( "Custom Smoke", VERSION, "bionext" );
g_Clear = 0;
g_iCvar_Enebled = 0;
g_Cvar_Enabled = register_cvar( "sv_customsmoke", "1" );
g_Cvar_Duration = register_cvar( "sv_smokeduration", "10.0" );
g_Cvar_CountSprites = register_cvar( "sv_smokespritescount", "100" );
unregister_forward(FM_PrecacheEvent, g_fwid, 1);
register_think( g_szClassname, "FwdThink_BlackSmoke" );
register_forward(FM_PlaybackEvent, "FwdPlaybackEvent");
register_logevent("FwdClear", 2, "1=Round_End");
register_logevent("FwdStart", 2, "1=Round_Start");
register_event("TextMsg", "FwdClear", "a", "2=#Game_will_restart_in","2=#Game_Commencing");
}
public FwdClear( )
{
g_Clear = 1;
}
public FwdStart( )
{
g_iCvar_Enebled = get_pcvar_num( g_Cvar_Enabled );
g_Clear = 0;
}
public plugin_precache( )
{
g_szSmokeSprite = precache_model( SMOKE_SPRITE );
g_fwid = register_forward(FM_PrecacheEvent, "FwdPrecacheEvent", 1);
force_unmodified(force_exactfile, {0,0,0},{0,0,0}, SMOKE_SPRITE);
}
public FwdPlaybackEvent( iFlags , iEntity , iEventindex, Float:fDelay, Float:vOrigin[3], Float:vAngles[3], Float:fParam1, Float:fParam2, iParam1, iParam2, iBparam1, iBparam2 )
{
if(iEventindex != g_evCreateSmoke || iBparam2 || !g_iCvar_Enebled)
return FMRES_IGNORED;
new iEnt = create_entity( "info_target" );
if( !iEnt )
return FMRES_IGNORED;
g_iCountSprites = get_pcvar_num( g_Cvar_CountSprites );
new Float:fDuration = get_pcvar_float( g_Cvar_Duration );
entity_set_string( iEnt, EV_SZ_classname, g_szClassname );
entity_set_float( iEnt, EV_FL_nextthink, get_gametime( ));
entity_set_vector( iEnt, EV_VEC_origin, vOrigin );
entity_set_float( iEnt, EV_FL_animtime, fDuration );
return FMRES_SUPERCEDE;
}
public FwdPrecacheEvent(type, const name[])
{
if (equal("events/createsmoke.sc", name))
{
g_evCreateSmoke = get_orig_retval();
return FMRES_HANDLED;
}
return FMRES_IGNORED;
}
public FwdThink_BlackSmoke( iEntity )
{
if( !is_valid_ent( iEntity ) )
return PLUGIN_CONTINUE;
if( g_Clear > 0 )
{
entity_set_int( iEntity,EV_INT_flags, FL_KILLME );
return PLUGIN_CONTINUE;
}
new Float:vOrigin[3];
entity_get_vector( iEntity, EV_VEC_origin, vOrigin );
message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
write_byte( TE_FIREFIELD );
write_coord_f( vOrigin[ 0 ] );
write_coord_f( vOrigin[ 1 ] );
write_coord_f( vOrigin[ 2 ] + 50 );
write_short( 100 );
write_short( g_szSmokeSprite );
write_byte( g_iCountSprites );
write_byte( TEFIRE_FLAG_ALPHA );
write_byte( 11 );
message_end();
message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
write_byte( TE_FIREFIELD );
write_coord_f( vOrigin[ 0 ] );
write_coord_f( vOrigin[ 1 ] );
write_coord_f( vOrigin[ 2 ] + 50 );
write_short( 150 );
write_short( g_szSmokeSprite );
write_byte( 10 );
write_byte( TEFIRE_FLAG_ALPHA | TEFIRE_FLAG_SOMEFLOAT );
write_byte( 11 );
message_end( );
new Float:time = entity_get_float(iEntity,EV_FL_animtime);
time = time - 1.0;
if( time > 0.0 )
{
entity_set_float( iEntity, EV_FL_nextthink, get_gametime( ) + 1.0 );
entity_set_float( iEntity, EV_FL_animtime, time );
}
else
{
entity_set_int( iEntity,EV_INT_flags, FL_KILLME );
}
return PLUGIN_CONTINUE;
}
#6
Napisano 19.02.2020 00:26
chodzi ci o to ze chcesz wiecej kolorkow jak w tym 1wszym ta?
Wykonam pluginy, paczki (amxx) kontakt GG: 32263742, Steam: https://steamcommuni...om/id/vankillah
#7
Napisano 19.02.2020 00:35
chodzi ci o to ze chcesz wiecej kolorkow jak w tym 1wszym ta?
No tak, jak próbowałem to dodać to kolory się zmieniały jak granat wybuchł :y
#8
Napisano 19.02.2020 10:02
Dodaj sobie zawartość z pluginu który podałeś do swojego obecnego pluginu związaną z g_Clear - służy to za czyszczenie.
PoGrywamy.pl - Pograj Razem Z Nami
Tatusiek serwerów:
Przyjmuje płatne zlecenia!
#9
Napisano 19.02.2020 14:59
Dodaj sobie zawartość z pluginu który podałeś do swojego obecnego pluginu związaną z g_Clear - służy to za czyszczenie.
Próbowałem tak zrobić i niestety smoków nie usuwało
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych


Dodatki SourceMod




ColoredSmoke.amxx









