Raised This Month: $51 Target: $400
 12% 

[CS 1.6] Gameplay: Fireworks on End Round 1.3


Post New Thread Reply   
 
Thread Tools Display Modes
zmd94
Veteran Member
Join Date: Nov 2013
Location: Malaysia (9w2zow).
Old 12-22-2014 , 11:04   Re: [CS 1.6] Gameplay: Fireworks on End Round 1.1
Reply With Quote #11

Just try below:
PHP Code:
/*===============================================================================================================================================
                            [CS 1.6] Gameplay: Fireworks On End Round
                            
        * Description:
        When the round end the person will be able to celebrate with fireworks pressing "E"
        
        * Required modules:
        - amxmodx
        - fakemeta
        
        * Cvars
        - amx_fireworks_enable "1"        // Enable/Disable Plugin
        - amx_fireworks_admin_only "0"        // Only Admins ?
        - amx_fireworks_admin_flag "b"        // Flag Acess
        - amx_fireworks_type "2"        // Type of Fireworks (0 - Automatic Relase  | 1 - IN_USE | 2 IN_ATTACK)
        
================================================================================================================================================*/

#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <xs>

#define PLUGIN "[CS 1.6] Gameplay: Fireworks on End Round"
#define VERSION "1.0"
#define AUTHOR "[P]erfec[T] [S]cr[@]s[H]"

#define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))

#define TASK_AUTORELASE 3102130
#define AUTO_RELASE_INTERVAL 0.6

new g_fireworks_teamg_trailSprg_exploSprcvar_enablecvar_admin_onlycvar_admin_flagcvar_type
new const fireworks_model[] = "sprites/3dmflared.spr"
new const fireworks_class[] = "amxx_fireworks"
new flag_acess

enum 
TEAM_T 1TEAM_CT }

public 
plugin_init() 

    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_cvar("amx_fireworks"VERSIONFCVAR_SERVER|FCVAR_UNLOGGED);
    
    
register_dictionary("fireworks.txt")
    
    
cvar_enable register_cvar("amx_fireworks_enable""1")
    
cvar_admin_only register_cvar("amx_fireworks_admin_only""0")
    
cvar_admin_flag register_cvar("amx_fireworks_admin_flag""b")
    
cvar_type register_cvar("amx_fireworks_type""2")
    
    
register_event("HLTV""event_round_start""a""1=0""2=0")
    
register_event("SendAudio""t_win""a""2&%!MRAD_terwin")
    
register_event("SendAudio""ct_win""a""2&%!MRAD_ctwin"
    
register_forward(FM_Touch"fw_Touch")
    
register_forward(FM_PlayerPreThink"fw_PlayerPreThink")
}

public 
plugin_cfg()
{
    new 
szFlags[24]; get_pcvar_string(cvar_admin_flagszFlagscharsmax(szFlags))
    
flag_acess read_flags(szFlags)
}

public 
plugin_precache()
{
    
precache_model(fireworks_model)
    
    
g_trailSpr precache_model("sprites/laserbeam.spr")
    
g_exploSpr precache_model("sprites/fireworks.spr")
}

public 
client_putinserver(idremove_task(id TASK_AUTORELASE)

public 
client_disconnect(idremove_task(id TASK_AUTORELASE)

public 
t_win()
{
    if(!
get_pcvar_num(cvar_enable))
        return;
    
    
g_fireworks_team TEAM_T
    
    
new players[32], pNum
    get_players
(players,pNum,"ce","TERRORIST")
    
    for(new 
0i<pNum;i++)
    {
        if(
get_user_flags(players[i]) & flag_acess && get_pcvar_num(cvar_admin_only) || !get_pcvar_num(cvar_admin_only))
        {
            
//client_printcolor(players[i], "%L %L", LANG_PLAYER, "FIREWORKS_TAG", LANG_PLAYER, "FIREWORKS_ENABLE") 
            //client_printcolor(players[i], "%L %L", LANG_PLAYER, "FIREWORKS_TAG", LANG_PLAYER, "FIREWORKS_BUTTON") 
            
            
if(get_pcvar_num(cvar_type) <= 0set_task(AUTO_RELASE_INTERVAL"auto_relase"players[i]+TASK_AUTORELASE)
        }
    }
    
}

public 
ct_win()
{
    if(!
get_pcvar_num(cvar_enable))
        return;
    
    
g_fireworks_team TEAM_CT
    
    
new players[32], pNum
    get_players
(players,pNum,"ce","CT")
    
    for(new 
0i<pNum;i++)
    {
        if(
get_user_flags(players[i]) & flag_acess && get_pcvar_num(cvar_admin_only) || !get_pcvar_num(cvar_admin_only))
        {
            
//client_printcolor(players[i], "%L %L", LANG_PLAYER, "FIREWORKS_TAG", LANG_PLAYER, "FIREWORKS_ENABLE") 
            //client_printcolor(players[i], "%L %L", LANG_PLAYER, "FIREWORKS_TAG", LANG_PLAYER, "FIREWORKS_BUTTON") 
            
            
if(get_pcvar_num(cvar_type) <= 0set_task(AUTO_RELASE_INTERVAL"auto_relase"players[i]+TASK_AUTORELASE)
        }
    }
}

public 
event_round_start()
{
    if(
g_fireworks_team 0
    {
        for(new 
id 1id <= get_maxplayers(); id++) 
        {
            
g_fireworks_team 0
            
//if(get_user_flags(id) & flag_acess && get_pcvar_num(cvar_admin_only) || !get_pcvar_num(cvar_admin_only)) 
                // client_printcolor(id, "%L %L", LANG_PLAYER, "FIREWORKS_TAG", LANG_PLAYER, "FIREWORKS_DISABLE") 
        
}
    }
}

public 
auto_relase(id)
{
    
id -= TASK_AUTORELASE
    
    
if(is_user_alive(id) && get_pcvar_num(cvar_enable))  {
        if(
cs_get_user_team(id) == CS_TEAM_T && g_fireworks_team == TEAM_T || cs_get_user_team(id) == CS_TEAM_CT && g_fireworks_team == TEAM_CT) {
            
make_fireworks(id);
            
set_task(AUTO_RELASE_INTERVAL"auto_relase"id+TASK_AUTORELASE)
        }
    }
    else 
remove_task(id TASK_AUTORELASE)
}

public 
fw_PlayerPreThink(id)
{
    if(!
is_user_alive(id) || !get_pcvar_num(cvar_enable) || !(get_user_flags(id) & flag_acess) && get_pcvar_num(cvar_admin_only) || get_pcvar_num(cvar_type) <= 0)
        return;
    
    static 
iButtoniButton pev(idpev_button)
    static 
iOldButtoniOldButton pev(idpev_oldbuttons)
    
    if(
cs_get_user_team(id) == CS_TEAM_T && g_fireworks_team == TEAM_T || cs_get_user_team(id) == CS_TEAM_CT && g_fireworks_team == TEAM_CT)
    {
        if((
iButton IN_USE) && !(iOldButton IN_USE) && get_pcvar_num(cvar_type) == 1
        
||(iButton IN_ATTACK) && !(iOldButton IN_ATTACK) && get_pcvar_num(cvar_type) >= 2)
            
make_fireworks(id)
    }
}

public 
make_fireworks(id)
{
    if(!
get_pcvar_num(cvar_enable))
        return;
    
    new 
Float:Origin[3]
    new 
Float:vAngle[3]
    new 
Float:flVelocity[3]
    
    
// Get position from eyes
    
get_user_eye_position(idOrigin)
    
    
pev(idpev_v_anglevAngle)
    
    new 
NewEnt fm_create_entity("info_target")
    
    
set_pev(NewEntpev_classnamefireworks_class)
    
    
engfunc(EngFunc_SetModelNewEntfireworks_model)
    
    
set_pev(NewEntpev_sizeFloat:{ -1.5, -1.5, -1.5 }, Float:{ 1.51.51.5 })
        
    
set_pev(NewEntpev_originOrigin)
    
    
// Set Entity Angles (thanks to Arkshine)
    
make_vector(vAngle)
    
set_pev(NewEntpev_anglesvAngle)
    
    
set_pev(NewEntpev_solidSOLID_BBOX)
    
    
set_pev(NewEntpev_scale0.1)
    
set_pev(NewEntpev_spawnflagsSF_SPRITE_STARTON)
    
set_pev(NewEntpev_framerate25.0)
    
set_rendering(NewEntkRenderFxNone000kRenderTransAdd255)
    
    
set_pev(NewEntpev_movetypeMOVETYPE_FLY)
    
set_pev(NewEntpev_ownerid)
    
    
// Set Entity Velocity
    
velocity_by_aim(id700flVelocity)
    
set_pev(NewEntpev_velocityflVelocity)
    
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
    
write_byte(TE_BEAMFOLLOW// TE id
    
write_short(NewEnt// entity
    
write_short(g_trailSpr// sprite
    
write_byte(9// life
    
write_byte(3// width
    
write_byte(random_num(0,255)) // r
    
write_byte(random_num(0,255)) // g
    
write_byte(random_num(0,255)) // b
    
write_byte(255// brightness
    
message_end()


}

// Touch Forward
public fw_Touch(entid)
{
    if (!
pev_valid(ent) || !get_pcvar_num(cvar_enable)) 
        return 
PLUGIN_HANDLED
    
    
new class[32]; pev(entpev_classname, class, charsmax(class))
    
    if(
equal(class, fireworks_class))
    {
        
fireworks_effect(ent)
        
engfunc(EngFunc_RemoveEntityent)
        return 
PLUGIN_HANDLED
    
}
    return 
PLUGIN_HANDLED
}

public 
fireworks_effect(ent)
{
    if (!
pev_valid(ent) || !get_pcvar_num(cvar_enable)) 
        return;
    
    
// Get origin
    
static Float:originF[3]
    
pev(entpev_originoriginF)
    
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(TE_SPRITE);
    
engfunc(EngFunc_WriteCoordoriginF[0]+random_float(-5.05.0));
    
engfunc(EngFunc_WriteCoordoriginF[1]+random_float(-5.05.0));
    
engfunc(EngFunc_WriteCoordoriginF[2]+200.0);
    
write_short(g_exploSpr);
    
write_byte(15);
    
write_byte(200);
    
message_end();

}

stock get_user_eye_position(idFloat:flOrigin[3])
{
    static 
Float:flViewOffs[3]
    
pev(idpev_view_ofsflViewOffs)
    
pev(idpev_originflOrigin)
    
xs_vec_add(flOriginflViewOffsflOrigin)
}

stock make_vector(Float:flVec[3])
{
    
flVec[0] -= 30.0
    engfunc
(EngFunc_MakeVectorsflVec)
    
flVec[0] = -(flVec[0] + 30.0)
}

// Colored Chat (client_printcolor)
stock client_printcolor(const id, const input[], any:...)
{
    new 
count 1players[32]
    static 
msg[191]
    
vformat(msg190input3)
    
    
replace_all(msg190"!g""^4")  // Chat Verde
    
replace_all(msg190"!y""^1")  // Chat Normal
    
replace_all(msg190"!t""^3")  // Chat Do Time Tr=Vermelho Ct=Azul Spec=Branco
    
    
if (idplayers[0] = id; else get_players(playerscount"ch")
    {
        for (new 
0counti++)
        {
            if (
is_user_connected(players[i]))
            {
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i])
                
write_byte(players[i]);
                
write_string(msg);
                
message_end();
            }
        }
    }
}

// Set rendering from fakemeta_util
stock set_rendering(entityfx kRenderFxNone255255255render kRenderNormalamount 16) {
    new 
Float:RenderColor[3];
    
RenderColor[0] = float(r);
    
RenderColor[1] = float(g);
    
RenderColor[2] = float(b);

    
set_pev(entitypev_renderfxfx);
    
set_pev(entitypev_rendercolorRenderColor);
    
set_pev(entitypev_rendermoderender);
    
set_pev(entitypev_renderamtfloat(amount));

    return 
1;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1046\\ f0\\ fs16 \n\\ par }
*/ 

Last edited by zmd94; 12-22-2014 at 11:58.
zmd94 is offline
luciaus18
Senior Member
Join Date: Dec 2014
Old 12-22-2014 , 11:38   Re: [CS 1.6] Gameplay: Fireworks on End Round 1.1
Reply With Quote #12

Quote:
//// fireworks.sma
// fireworks.sma(131)
: error 029: invalid expression, assumed zero
// fireworks.sma(135)
: warning 217: loose indentation
//fireworks.sma(135)
: error 029: invalid expression, assumed zero
// .sma(135)
: error 017: undefined symbol "auto_relase"
// fireworks.sma(137)
: error 017: undefined symbol "id"
// fireworks.sma(137 -
- 139) : warning 215: expression has no effect
// fireworks.sma(139)
: error 017: undefined symbol "id"
// fireworks.sma(140)
: error 017: undefined symbol "id"
// fireworks.sma(141)
: error 017: undefined symbol "make_fireworks"
// fireworks.sma(141)
: error 088: number of arguments does not match definition
// fireworks.sma(142)
: error 017: undefined symbol "id"
// fireworks.sma(142)
: warning 215: expression has no effect
// fireworks.sma(142)
: error 001: expected token: ";", but found ")"
// fireworks.sma(142)
: error 029: invalid expression, assumed zero
// fireworks.sma(142)
: fatal error 107: too many error messages on one line
//
// Compilation aborted.
// 12 Errors.
// Could not locate output file compiled\fireworks.amx (compile failed).
//
// Compilation Time: 0.16 sec

Last edited by luciaus18; 12-22-2014 at 11:39.
luciaus18 is offline
zmd94
Veteran Member
Join Date: Nov 2013
Location: Malaysia (9w2zow).
Old 12-22-2014 , 11:58   Re: [CS 1.6] Gameplay: Fireworks on End Round 1.1
Reply With Quote #13

I have fixed the problem.
zmd94 is offline
luciaus18
Senior Member
Join Date: Dec 2014
Old 12-22-2014 , 12:16   Re: [CS 1.6] Gameplay: Fireworks on End Round 1.1
Reply With Quote #14

Now is working. Thank you so much
luciaus18 is offline
zmd94
Veteran Member
Join Date: Nov 2013
Location: Malaysia (9w2zow).
Old 12-22-2014 , 12:35   Re: [CS 1.6] Gameplay: Fireworks on End Round 1.1
Reply With Quote #15

Alright. By the way, this code can be optimized more.
zmd94 is offline
luciaus18
Senior Member
Join Date: Dec 2014
Old 01-05-2015 , 09:17   Re: [CS 1.6] Gameplay: Fireworks on End Round 1.1
Reply With Quote #16

there is something bad..i get sometimes in client console messages but empty, can you do something? in sma where you modified
luciaus18 is offline
zmd94
Veteran Member
Join Date: Nov 2013
Location: Malaysia (9w2zow).
Old 01-05-2015 , 09:55   Re: [CS 1.6] Gameplay: Fireworks on End Round 1.1
Reply With Quote #17

Sorry, may you specify more about your problem?
zmd94 is offline
matrix123
Veteran Member
Join Date: Feb 2011
Old 01-06-2015 , 16:31   Re: [CS 1.6] Gameplay: Fireworks on End Round 1.1
Reply With Quote #18

Fix

Code:
[es]
FIREWORKS_TAG = !g[Fireworks]!t // o !g[Fuegos Artificiales]!t
FIREWORKS_ENABLE = Fuegos artificiales Activados.
FIREWORKS_DISABLE = Fuegos artificiales Desactivados.
FIREWORKS_BUTTON = Presione !gE!t para soltar los fuegos artificiales
__________________
matrix123 is offline
luciaus18
Senior Member
Join Date: Dec 2014
Old 01-07-2015 , 06:09   Re: [CS 1.6] Gameplay: Fireworks on End Round 1.1
Reply With Quote #19

you deleted in the plugin messages and now work but everytime when i open my console are some space like this when someone say something or when there are messages in chat:
Code:
Player: wqews




Welcome to our server...



Player: pwqls
Hope you understand what i mean
luciaus18 is offline
zmd94
Veteran Member
Join Date: Nov 2013
Location: Malaysia (9w2zow).
Old 01-07-2015 , 06:45   Re: [CS 1.6] Gameplay: Fireworks on End Round 1.1
Reply With Quote #20

This is weird as the modified plugin should not cause that problem. By the way, have you tried to disable the plugin? Then, see the result.

Is the problem still occur?
zmd94 is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 14:35.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode