re_steam_present

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
25
Реакции
1
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
кто сможет поправить плагин?! После того как игрок зашел на сервер,ему показывает сообщение. Но через какое-то время он снова показывает игрокам сообщения худ!

Код:
#include <amxmodx>
#include <amxmisc>
#include <reapi>

new bool:g_bBlockMap, bool:g_bIsRules[33];
public plugin_init() {
    register_plugin("[REAPI] Steam Present", "1.0", "di.alyabev");
    RegisterHookChain(RG_CBasePlayer_Spawn, "Hook_PlayerSpawn", true)
    RegisterHookChain(RG_PM_AirMove, "PM_AirMove", false);
    register_clcmd("menuselect", "client_joinclass")
    register_clcmd("joinclass", "client_joinclass")
    new iMap_Name[32], iMap_Prefix[][] = { "awp_", "aim_", "35hp", "fy_" }
    get_mapname(iMap_Name, charsmax(iMap_Name))
    for(new i; i < sizeof(iMap_Prefix); i++) {
        if(containi(iMap_Name, iMap_Prefix[i]) != -1)
            g_bBlockMap = true
    }
}

public client_disconnected(id) g_bIsRules[id] = false;
public client_joinclass(id) {
    if(g_bIsRules[id] || is_user_admin(id)) return;
    set_task(5.0, "taskRules", id)
}

public taskRules(id) {
    set_dhudmessage(255, 255, 0)
    if(is_user_steam(id)) show_dhudmessage(id, "Привет, %s! У тебя Steam!^n Тебе доступен Парашют  и другие бонусы!", Player_GetName(id));
    else show_dhudmessage(id, "Привет, %s! Играй со Steam!^n Получай различные бонусы + парашют!", Player_GetName(id));
    g_bIsRules[id] = true;
}

public Hook_PlayerSpawn(id) {
    if(!is_user_alive(id) || !is_user_steam(id) || is_user_admin(id) || g_bBlockMap) return;
    new random_item, szBonus[128];
    switch(get_member(id, m_iTeam))  {
        case 1: random_item = random_num(0, 3)
        case 2: random_item = random_num(0, 4)
    }
    switch(random_item) {
        case 0: {
            rg_set_user_armor(id, 100, ARMOR_VESTHELM);
            formatex(szBonus, charsmax(szBonus), "Ты получил !tПарашют!y + !tБроню!y!");
        }
        case 1: {
            rg_give_item(id, "weapon_smokegrenade", GT_APPEND);
            formatex(szBonus, charsmax(szBonus), "Ты получил !tПарашют!y + !tДымовую гранату!y!");
        }
        case 2: {
            rg_give_item(id, "weapon_hegrenade", GT_APPEND);
            formatex(szBonus, charsmax(szBonus), "Ты получил !tПарашют!y + !tВзрывную гранату!y!");
        }
        case 3: {
            rg_give_item(id, "weapon_flashbang", GT_APPEND);
            rg_give_item(id, "weapon_flashbang", GT_APPEND);
            formatex(szBonus, charsmax(szBonus), "Ты получил !tПарашют!y + !tСлеповую гранату!y!");
        }
        case 4: {
            rg_give_defusekit(id, true);
            formatex(szBonus, charsmax(szBonus), "Ты получил !tПарашют!y + !tДифьюз!y!");
        }
    }
    PrintChat(id, "!g[Steam] !y%s", szBonus);
}

public PM_AirMove(const id) {
    if(!is_user_steam(id) || is_user_admin(id)) return;
    if(!(get_entvar(id, var_button) & IN_USE)|| get_entvar(id, var_waterlevel) > 0) return;
    new Float:flVelocity[3]; get_entvar(id, var_velocity, flVelocity);
    if (flVelocity[2] < 0.0) {
        flVelocity[2] = (flVelocity[2] + 40.0 < -100.0) ? flVelocity[2] + 40.0 : -100.0;
        set_entvar(id, var_sequence, ACT_WALK);
        set_entvar(id, var_gaitsequence, ACT_IDLE);
        set_pmove(pm_velocity, flVelocity);
        set_movevar(mv_gravity, 80.0);
    }
}

stock Player_GetName(const id) {
    new szName[32]; get_user_name(id, szName, charsmax(szName));
    return szName;
}

stock clear_dhudmessage(id) {
    for(new iDHUD = 0; iDHUD < 8; iDHUD++)
        show_dhudmessage(id, "");
}

stock PrintChat(const id, const input[], any:...) {
    new count = 1, players[32], msg[191], i;
    vformat(msg, 190, input, 3)
    replace_all(msg, 190, "!g", "^4")
    replace_all(msg, 190, "!y", "^1")
    replace_all(msg, 190, "!t", "^3")
    if(id) players[0] = id;
    else get_players(players, count, "ch")
    for(i = 0; i < count; i++) {
        if(is_user_connected(players[i])) {
            message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
            write_byte(players[i]);
            write_string(msg);
            message_end();
        }
    }
}
 

Download all Attachments

Последнее редактирование модератором:

RockTheStreet

Саппорт года
Сообщения
1,743
Реакции
345
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Учимся читать вместе с dev-cs

В данном разделе размещаются темы, в которых требуется помощь с доработкой или объяснением материала.
В теме должны быть опубликованы попытки (diff кода и последовательность действий) самостоятельного поиска решения.

Если у вас нет наработок и попыток самому вникнуть в проблему, тогда вам в раздел "Покупка"
 
Сообщения
25
Реакции
1
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
melfyk, его уже делали. просто не до конца... не смогли поправить это..поэтому и написал в эту темы
 

RockTheStreet

Саппорт года
Сообщения
1,743
Реакции
345
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
primus, Читаем внимательно:
В теме должны быть опубликованы попытки (diff кода и последовательность действий) самостоятельного поиска решения.

Попыток не наблюдается, а тема до сих пор открыта... Забавно)
 
Сообщения
51
Реакции
8
Помог
1 раз(а)
melfyk, может у него вообще там такой бред,что показывать даже стыдно.
Может в этом коде уже присутствуют правки,я думаю не стоит так сильно делать упор на это правило)
Помощь есть помощь)
Будьте проще и дружелюбней)
 
Сообщения
25
Реакции
1
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
melfyk, моих и нет тут. Есть другого скриптора,который писал,но не исправил. Не получилось.
 
Сообщения
1,419
Реакции
2,510
Помог
59 раз(а)
primus, вариант выше не работает?
 
Сообщения
25
Реакции
1
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
w0w, сервер колом встает! игроки висят мертвым грузом. никаких действий нельзя предпринять. как закоментнировал,все заработало
 
Сообщения
2,143
Реакции
1,223
Помог
44 раз(а)
primus, Вам же написали, что нужны Ваши попытки сделать. Если не можете/хотите лично участвовать в исправлении проблемы, то Вам сюда:
https://dev-cs.ru/forums/90/post-thread
 
Сообщения
25
Реакции
1
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
w0w, w0w, вроде нормально. Только худ соасем пропало)
 
Сообщения
1,419
Реакции
2,510
Помог
59 раз(а)
primus, как я понял, жмем M - через 5 секунд появляется DHUD сообщение. У меня появляется и бонус работает так же. Не появляется только если уже хотя бы раз показывался или если есть какой либо флаг.
 
Сообщения
1,419
Реакции
2,510
Помог
59 раз(а)
primus, работает и хорошо. Тему закройте тогда.
 
Сообщения
25
Реакции
1
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
w0w, я понял как он работает. Когда заходишь на сервер оно показывает сразу,но если ты проиграл карту,на другой карте сразу не показывает худ. Через какое время(((
 
Сообщения
1,419
Реакции
2,510
Помог
59 раз(а)
primus, оно показывает после выбора команды через 5 секунд.
 
Сообщения
25
Реакции
1
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
melfyk, поумничать решил? создай тему отдельную,я тебе поясню что да как! а сдесь не флуди!
10 Июн 2018
w0w, 5 секунд когда только заходишь.. у меня на серваке не надо м нажимать-там сразу стоит выбор за кого играть.
 
Сообщения
1,419
Реакции
2,510
Помог
59 раз(а)
primus, как понять только когда заходишь? Вот заходишь на сервер, выбираешь любую команду и тебе через 5 секунд выдает сообщение, и со след. раунда больше ничего не будет происходить кроме выдачи там брони/гранат... (рандом) + сообщения в чат о том что выдалось.
 
Сообщения
2,143
Реакции
1,223
Помог
44 раз(а)
Статус
В этой теме нельзя размещать новые ответы.

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

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