AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   New Plugin Submissions (https://forums.alliedmods.net/forumdisplay.php?f=26)
-   -   Show Teammates Armament (https://forums.alliedmods.net/showthread.php?t=336536)

EFFx 04-13-2022 20:46

Re: Show Teammates Armament
 
1 Attachment(s)
Those are just warnings. The first one is because you used an interger instead of a float, should be 3.0.
The other warning is just telling you that g_fFreezeTime is not being used. If you remove it's existence, should be fine.

If still under complications, this should do what you asked for:

georgik57 04-13-2022 21:05

Re: Show Teammates Armament
 
Quote:

Originally Posted by iclassdon (Post 2776717)
Thank you but the alterations didn't work. Used 3 seconds for my value.

(194) : warning 213: tag mismatch
(167) : warning 204: symbol is assigned a value that is never used: "g_fFreezeTime"

PHP Code:

g_fFreezeTime 3.0 

Ignore the other warning.

iclassdon 04-13-2022 21:32

Re: Show Teammates Armament
 
Thank you. It compiled and it worked on first initial spawn for the specified time. After that the sprites never showed again after respawning. Using podbot as test bed.

p.s. It looked really cool. Good work.

Siska1 04-14-2022 00:36

Re: Show Teammates Armament
 
Is it possible that the plugin will not work if different models are used, for example from the original ones ?

georgik57 04-14-2022 08:50

Re: Show Teammates Armament
 
Quote:

Originally Posted by Siska1 (Post 2776734)
Is it possible that the plugin will not work if different models are used, for example from the original ones ?

They have to follow the original sprites' styles.

EFFx 05-04-2022 23:00

Re: Show Teammates Armament
 
Quote:

Originally Posted by iclassdon (Post 2776722)
Thank you. It compiled and it worked on first initial spawn for the specified time. After that the sprites never showed again after respawning. Using podbot as test bed.

p.s. It looked really cool. Good work.

Thank you for your words, sorry for the late message.

Quote:

Originally Posted by Siska1 (Post 2776734)
Is it possible that the plugin will not work if different models are used, for example from the original ones ?

Well, I have tried the default models, so I'm not sure if tall player models will conflict with the code.

Siska1 05-22-2022 06:42

Re: Show Teammates Armament
 
I have this code and work for me
Code:

#include <amxmodx>
#include <fakemeta>
#include <engine>
#include <cstrike>
#include <hamsandwich>

#define TASK_HUD_REMOVE 4853453

new userSpr[33][6], g_buytime, bool:bTimeIsOver;

new const g_szSprites[][] =
{
    "sprites/1.spr",
    "sprites/10.spr",
    "sprites/100.spr",
    "sprites/1000.spr",
    "sprites/10000.spr",
    "sprites/cash.spr"
}

public plugin_init()
{
    register_event("DeathMsg", "event_deathmsg", "a");
    register_event("HLTV", "event_new_round", "a", "1=0", "2=0");
    register_think("LOL", "fw_think");
    RegisterHam(Ham_Spawn, "player", "player_got_spawned", 1);
    g_buytime = get_cvar_pointer("mp_buytime");
}

public plugin_precache()
{
    for(new i = 0; i < sizeof g_szSprites; i++)
        precache_model(g_szSprites[i]);
}

public client_disconnected(id)
{
    for(new i; i < sizeof userSpr[]; i++)
    {   
        if(userSpr[id][i] > 0) remove_entity(userSpr[id][i]);
        userSpr[id][i] = 0;
    }
}

public reset(id)
{
    for(new i; i < sizeof userSpr[]; i++)
    {   
        if(userSpr[id][i] > 0) remove_entity(userSpr[id][i]);
        userSpr[id][i] = 0;
    }
}

public event_deathmsg()
{
    reset(read_data(2));
}

public player_got_spawned(id)
{
    if(!is_user_alive(id) || bTimeIsOver) return;
    reset(id) ;
    set_user_HUDMONEY_onhead(id);
}

public event_new_round()
{
    bTimeIsOver = false;
    remove_task(TASK_HUD_REMOVE)
    set_task(floatclamp(get_pcvar_float(g_buytime), 1.0, 60.0 * 20.0), "task_remove_HUD", TASK_HUD_REMOVE);
}

public task_remove_HUD()
{
    new players[32],pnum;
    get_players(players, pnum, "ah");
   
    for(new i; i < pnum; i++)
    {
        reset(players[i]);
    }
   
    bTimeIsOver = true;
}

set_user_HUDMONEY_onhead(id)
{   
    new ent = create_entity("env_sprite");
    new Float:gTime = get_gametime();
   
    if(ent > 0)
    {
        userSpr[id][0] = ent;
        set_pev(ent, pev_classname, "LOL");
        set_pev(ent, pev_nextthink, gTime + 0.1);
        set_pev(ent, pev_movetype, MOVETYPE_NOCLIP);
        engfunc(EngFunc_SetModel, ent, g_szSprites[0]);
        set_pev(ent, pev_iuser4, id);
        set_pev(ent, pev_iuser3, 4);
        set_pev(ent, pev_frame, 0.0)
        set_pev(ent, pev_framerate, 1.0)
        set_pev(ent, pev_scale, 0.2)
        set_rendering(ent, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    }
   
    new ent2 = create_entity("env_sprite");
   
    if(ent2 > 0)
    {
        userSpr[id][1] = ent2;
        set_pev(ent2, pev_classname, "LOL");
        set_pev(ent2, pev_nextthink, gTime + 0.1);
        set_pev(ent2, pev_movetype, MOVETYPE_NOCLIP);
        engfunc(EngFunc_SetModel, ent2, g_szSprites[1]);
        set_pev(ent2, pev_iuser4, id);
        set_pev(ent2, pev_iuser3, 3);
        set_pev(ent2, pev_frame, 0.0)
        set_pev(ent2, pev_framerate, 1.0)
        set_pev(ent2, pev_scale, 0.2)
        set_rendering(ent2, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    }
   
    new ent3 = create_entity("env_sprite");
   
    if(ent3 > 0)
    {
        userSpr[id][2] = ent3;
        set_pev(ent3, pev_classname, "LOL");
        set_pev(ent3, pev_nextthink, gTime + 0.1);
        set_pev(ent3, pev_movetype, MOVETYPE_NOCLIP);
        engfunc(EngFunc_SetModel, ent3, g_szSprites[2]);
        set_pev(ent3, pev_iuser4, id);
        set_pev(ent3, pev_iuser3, 2);
        set_pev(ent3, pev_frame, 0.0)
        set_pev(ent3, pev_framerate, 1.0)
        set_pev(ent3, pev_scale, 0.2)
        set_rendering(ent3, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    }
   
    new ent4 = create_entity("env_sprite");
   
    if(ent4 > 0)
    {
        userSpr[id][3] = ent4;
        set_pev(ent4, pev_classname, "LOL");
        set_pev(ent4, pev_nextthink, gTime + 0.1);
        set_pev(ent4, pev_movetype, MOVETYPE_NOCLIP);
        engfunc(EngFunc_SetModel, ent4, g_szSprites[3]);
        set_pev(ent4, pev_iuser4, id);
        set_pev(ent4, pev_iuser3, 1);
        set_pev(ent4, pev_frame, 0.0)
        set_pev(ent4, pev_framerate, 1.0)
        set_pev(ent4, pev_scale, 0.2)
        set_rendering(ent4, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    }
   
    new ent5 = create_entity("env_sprite");
   
    if(ent5 > 0)
    {
        userSpr[id][4] = ent5;
        set_pev(ent5, pev_classname, "LOL");
        set_pev(ent5, pev_nextthink, gTime + 0.1);
        set_pev(ent5, pev_movetype, MOVETYPE_NOCLIP);
        engfunc(EngFunc_SetModel, ent5, g_szSprites[4]);
        set_pev(ent5, pev_iuser4, id);
        set_pev(ent5, pev_iuser3, 0);
        set_pev(ent5, pev_frame, 0.0)
        set_pev(ent5, pev_framerate, 1.0)
        set_pev(ent5, pev_scale, 0.2)
        set_rendering(ent5, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    }
   
    new ent6 = create_entity("env_sprite");
   
    if(ent > 0)
    {
        userSpr[id][5] = ent6;
        set_pev(ent6, pev_classname, "LOL");
        engfunc(EngFunc_SetModel, ent6, g_szSprites[5]);
        set_pev(ent6, pev_nextthink, gTime + 0.1);
        set_pev(ent6, pev_movetype, MOVETYPE_NOCLIP);
        set_pev(ent6, pev_iuser4, id);
        set_pev(ent6, pev_iuser3, 5);
        set_pev(ent6, pev_frame, 1.0)
        set_pev(ent6, pev_framerate, 1.0)
        set_pev(ent6, pev_scale, 0.22)
        set_rendering(ent6, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    }
}

public fw_think(ent)
{
    static Float:fOrigin[3], x, iUser;
    pev((iUser=pev(ent, pev_iuser4)), pev_origin, fOrigin)
   
    fOrigin[2] += 50.0;
    set_pev(ent, pev_origin, fOrigin);
   
    x = pev(ent, pev_iuser3);
   
    if(x == 5)
    {
        set_pev(ent, pev_nextthink, get_gametime() + 0.1);
        return;
    }
   
    static szMoney[6], szValue[2];
    arrayset(szMoney, 0, sizeof szMoney);
    num_to_str(cs_get_user_money(iUser), szMoney, charsmax(szMoney));
   
    if(szMoney[x] == 0)
    {
        set_rendering(ent, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0)
        set_pev(ent, pev_nextthink, get_gametime() + 0.1);
        return;
    }
   
    szValue[0] = szMoney[x];
    szValue[1] = 0;
    set_rendering(ent, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    set_pev(ent, pev_frame, floatstr(szValue))
    set_pev(ent, pev_nextthink, get_gametime() + 0.1);
}

But why did the plugin on this topic never work for me? I see that the plugins are similar...

Etern1ty 05-22-2022 18:47

Re: Show Teammates Armament
 
When someone tries to connect to the server they get this error:


Error: server failed to transmit file 'sprites/10000.spr'
Error: server failed to transmit file 'sprites/1000.spr'
Error: server failed to transmit file 'sprites/100.spr'
Error: server failed to transmit file 'sprites/10.spr'
Error: server failed to transmit file 'sprites/1.spr'
Error: server failed to transmit file 'sprites/weap.spr'
Error: server failed to transmit file 'sprites/weap2.spr'
Error: server failed to transmit file 'sprites/cash.spr'
Error: server failed to transmit file 'sprites/arrow.spr'
Error: could not load file sprites/10000.spr
Model sprites/10000.spr not found and not available from server
Cannot continue without model sprites/10000.spr, disconnecting.

Siska1 05-22-2022 19:51

Re: Show Teammates Armament
 
I did not know that the plugin should be used without freeztime !
Now everything works without freeztime !

OciXCrom 05-23-2022 14:08

Re: Show Teammates Armament
 
Quote:

Originally Posted by Siska1 (Post 2779964)
I did not know that the plugin should be used without freeztime !
Now everything works without freeztime !

The entire point of the plugin is to show information DURING freezetime.


All times are GMT -4. The time now is 16:42.

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