Show Money Teammate баг

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
22
Реакции
8
Помог
2 раз(а)
Ошибка
иногда выводятся не все сообщения с деньгами (хотя в консоле сервера все сообщения отображаются)
ОС
Linux
Amx Mod X
AMX Mod X 1.9.0.5234 (http://www.amxmodx.org)
Authors:
David "BAILOPAN" Anderson, Pavol "PM OnoTo" Marko
Felix "SniperBeamer" Geyer, Jonny "Got His Gun" Bergstrom
Lukasz "SidLuke" Wlasinski, Christian "Basic-Master" Hammacher
Borja "faluco" Ferrer, Scott "DS" Ehlert
Compiled: Nov 3 2018 14:55:29
Built from: https://github.com/alliedmodders/amxmodx/commit/9eb1f42
Билд
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.4.0.668-dev
Build date: 09:47:42 Sep 29 2018 (1631)
ReGamedll
ReGameDLL version: 5.7.0.318-dev
Build date: 21:07:26 Oct 30 2018
Версия Metamod
Metamod-r v1.3.0.128, API (5:13)
Metamod-r build: 17:47:54 Aug 24 2018
Список метамодулей
Currently loaded plugins:
description stat pend file vers src load unload
[ 1] Reunion RUN - reunion_mm_i386.so v0.1.0.133 ini Start Never
[ 2] AMX Mod X RUN - amxmodx_mm_i386.so v1.9.0.5234 ini Start
[3] ReAPI RUN - reapi_amxx_i386.so v5.6.0.160-dev pl2 ANY Never
Список плагинов
[  1] 2                       ss          33                admin_loaderl.a  running
[ 2] FreshBans 1.3.8b kanagava fresh_bans_138_ running
[ 3] Mix 1 1 mix.amxx running
[ 4] AutoDemo 1.0 neygomon demka10sek.amxx running
Автор плагина
unknown
Версия плагина
1.0
Исходный код
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

new g_pcvActive;

public plugin_init()
{
register_plugin("ShowMoney teammates", "1.0", "unknown");

g_pcvActive = register_cvar("st_active", "0");

RegisterHam(Ham_Spawn, "player", "fwdPlayerSpawn", true);
}

public function(id)
{
set_task(3.0, "fwdPlayerSpawn", id)
}

public fwdPlayerSpawn(id)
{
if(!get_pcvar_num(g_pcvActive))
return;

new str[20];
formatex(str, charsmax(str), "%d$", get_pdata_int(id, 115));
engclient_cmd(id, "say_team", str);
}
лагин простенький, просто выводит деньги всех тиммейтов в начале раунда.

Прошу помощи пофиксить баг плагина из-за которого иногда не выводятся все сообщения в чат в начале раунда
В консоле сервера все ок, все сообщения отображаются

вот скрины:
тут все ок, все 5 мессаг в чате есть

https://dev-cs.ru/attachments/17380/


тут только одна мессага в чате, хотя в консоле сервера отображаются все 5

https://dev-cs.ru/attachments/17381/
 
В этой теме было размещено решение! Перейти к решению.

RockTheStreet

Саппорт года
Сообщения
1,744
Реакции
349
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Заполняя каждое поле, внимательно читайте подсказки под ними. Игнорирование данных действий может повлечь закрытие Вашей темы и тогда Вам придется снова создавать тему согласно требованиям, которые Вы проигнорировали.
 
Сообщения
22
Реакции
8
Помог
2 раз(а)
Заполняя каждое поле, внимательно читайте подсказки под ними. Игнорирование данных действий может повлечь закрытие Вашей темы и тогда Вам придется снова создавать тему согласно требованиям, которые Вы проигнорировали.
исправил
 
Сообщения
140
Реакции
28
what is the exactly problem ?

function(id) is never called by that code...also doing it in the RegisterHam(Ham_Spawn is not the best option..so better use new round event with task of 0.1 for example (or even without task)
 

ifx

Сообщения
330
Реакции
149
Помог
4 раз(а)
Для такого колва модулей активных - всего 3 плагина? Зачем? Или тс что-то скрывает :)
 
Сообщения
18
Реакции
28
Помог
2 раз(а)
jocasrb, Something like this?
C-like:
#include <amxmodx>
#include <fakemeta>

new g_pcvActive;

public plugin_init()
{
    register_plugin("Show teammates money", "1.0", "unknown");

    g_pcvActive = register_cvar("st_active", "0");
    register_logevent("round_start", 2, "0=World triggered", "1=Round_Start");
}

public round_start()
{
    if(!get_pcvar_num(g_pcvActive))
        return;

    new players[32], Count, str[7];
    get_players(players, Count, "ach");
    for (new i=0; i<Count; i++)
    {
        formatex(str, charsmax(str), "%d$", get_pdata_int(players[i], 115));
        engclient_cmd(players[i], "say_team", str);
    }
}
 
Сообщения
22
Реакции
8
Помог
2 раз(а)
jocasrb, Something like this?
C-like:
#include <amxmodx>
#include <fakemeta>

new g_pcvActive;

public plugin_init()
{
    register_plugin("Show teammates money", "1.0", "unknown");

    g_pcvActive = register_cvar("st_active", "0");
    register_logevent("round_start", 2, "0=World triggered", "1=Round_Start");
}

public round_start()
{
    if(!get_pcvar_num(g_pcvActive))
        return;

    new players[32], Count, str[7];
    get_players(players, Count, "ach");
    for (new i=0; i<Count; i++)
    {
        formatex(str, charsmax(str), "%d$", get_pdata_int(players[i], 115));
        engclient_cmd(players[i], "say_team", str);
    }
}

This works fine thanks but the messages are displayed after freeztime.
Can you delay messages for 3 seconds after a spawn?
 
Сообщения
18
Реакции
28
Помог
2 раз(а)
Сообщения
18
Реакции
28
Помог
2 раз(а)
Извиняюсь, забыл задержку в 3 секунды.
Код:
#include <amxmodx>
#include <fakemeta>

new g_pcvActive;

public plugin_init()
{
    register_plugin("Show teammates money", "1.0", "unknown");
    g_pcvActive = register_cvar("st_active", "0");
    register_event("HLTV", "round_start", "a", "1=0", "2=0");
}

public round_start()
{
    if(!get_pcvar_num(g_pcvActive))
        return;

    set_task(3.0, "delay")
}

public delay()
{
    new players[32], Count, str[7];
    get_players(players, Count, "ach");
    for (new i=0; i<Count; i++)
    {
        formatex(str, charsmax(str), "%d$", get_pdata_int(players[i], 115));
        engclient_cmd(players[i], "say_team", str);
    }
}
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу