C4 Drop Error

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
35
Реакции
12
Помог
1 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Ошибка
L 07/08/2018 - 18:01:41: Start of error session.
L 07/08/2018 - 18:01:41: Info (map "de_aztec_2x2") (file "addons/amxmodx/logs/error_20180708.log")
L 07/08/2018 - 18:01:41: [ENGINE] Invalid player 1 (not in-game)
L 07/08/2018 - 18:01:41: [AMXX] Displaying debug trace (plugin "c4_drop.amxx", version "0.9")
L 07/08/2018 - 18:01:41: [AMXX] Run time error 10: native error (native "fake_touch")
L 07/08/2018 - 18:01:41: [AMXX] [0] c4_drop.sma::TaskBomb (line 89)
ОС
Linux
Amx Mod X
AMX Mod X 1.8.3-dev+5154 (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: Mar 9 2018 10:40:21
Built from: https://github.com/alliedmodders/amxmodx/commit/2559fcf
Build ID: 5154:2559fcf
Core mode: JIT+ASM32
Билд
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.4.0.654-dev
Build date: 12:09:21 May 22 2018 (1501)
Build from: https://github.com/dreamstalker/rehlds/commit/65c6ce5
ReGamedll
ReGameDLL version: 5.7.0.312-dev
Build date: 07:53:34 May 31 2018
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/26db32e
Версия Metamod
Metamod-r v1.3.0.127, API (5:13)
Metamod-r build: 10:49:17 Jun 15 2018
Metamod-r from: https://github.com/theAsmodai/metamod-r/commit/0fff979
Список метамодулей
Currently loaded plugins:
description stat pend file vers src load unload
[ 1] Reunion RUN - reunion_mm_i386.so v0.1.0.125 ini Start Never
[ 2] ReAuthCheck RUN - reauthcheck_mm_i386.so v0.1.6 ini Start Never
[ 3] ReSemiclip RUN - resemiclip_mm_i386.so v2.3.9 ini Chlvl ANY
[ 4] WHBlocker RUN - whblocker_mm_i386.so v1.5.695 ini Chlvl ANY
[ 5] hackdetector RUN - hackdetector_amxx_i386.so v0.15.328.lite ini ANY ANY
[ 6] VoiceTranscoder RUN - VoiceTranscoder.so v2017RC3 ini ANY ANY
[ 7] AMX Mod X RUN - amxmodx_mm_i386.so v1.8.3-dev+5154 ini Start ANY
[ 8] Engine RUN - engine_amxx_i386.so v1.8.3-dev+5154 pl7 ANY ANY
[ 9] FakeMeta RUN - fakemeta_amxx_i386.so v1.8.3-dev+5154 pl7 ANY ANY
[10] CSX Extended RUN - csx_amxx_i386.so v1.5-0002 pl7 ANY ANY
[11] ReAPI RUN - reapi_amxx_i386.so v5.6.0.156-dev pl7 ANY Never
[12] ReAimDetector RUN - reaimdetector_amxx_i386.so v0.2.2 pl7 ANY Never
12 plugins, 12 running
Список плагинов
Currently loaded plugins:
name version author file status
[ 1] ReAimDetector API 0.2.2 ReHLDS Team reaimdetector.a debug
[ 2] Name Manager 1.0 H9LLlE4ka=) namemanager.amx debug
[ 3] Hide Server Cvars 1.0 DJ_WEST hide_cvars.amxx debug
[ 4] Advanced Bans 0.8.1 Exolent advanced_bans.a debug
[ 5] Multi Advanced Bans 1.1 EkzZzo (STR@TEG) multi_advanced_ debug
[ 6] Admin Base 1.8.3-dev+ AMXX Dev Team admin.amxx debug
[ 7] Admin Commands 1.8.3-dev+ AMXX Dev Team admincmd.amxx debug
[ 8] Admin Chat 1.8.3-dev+ AMXX Dev Team adminchat.amxx debug
[ 9] Admin Votes 1.8.3-dev+ AMXX Dev Team adminvote.amxx debug
[ 10] Mp Hostages Rescuetime 0.0.2 wopox1337 mp_hostages_res debug
[ 11] [ReAPI] C4 Drop 0.9 a2 & F@nt0M c4_drop.amxx debug
[ 12] WalkGuard 1.3.2 mogel walkguard.amxx debug
[ 13] Automatic Unstuck 1.5 NL)Ramon(NL stuck.amxx debug
[ 14] Game Name 1.0 H9LLlE4ka=) game_name.amxx debug
[ 15] Auto Restart Round 0.1b Subb98 auto_restart_ro paused
[ 16] Universal Privileges S 1.0 H9LLlE4ka=) universal_privi debug
[ 17] Management Privileges 1.0 H9LLlE4ka=) management_priv debug
[ 18] Reset Score 1.0 H9LLlE4ka=) resetscore.amxx debug
[ 19] Top Month 1.0 H9LLlE4ka=) top_month.amxx debug
[ 20] Public Menu 1.0 H9LLlE4ka=) publicmenu.amxx debug
[ 21] Map Manager 2.5.61 Mistrick mapmanager.amxx debug
[ 22] AES: StatsX 0.5 Vega serfreeman1337 aes_statsx_cstr debug
[ 23] Say me and Say hp 1.4 neygomon say_me_and_hp.a debug
[ 24] Advanced Gag 1.9.0 neygomon gagmenu.amxx debug
[ 25] Army System 1.0 H9LLlE4ka=) army_system.amx debug
[ 26] AmxMod Menu 1.0 H9LLlE4ka=) amxmodmenu.amxx debug
[ 27] Lite VoteBan 1.4 neygomon lite_voteban.am debug
[ 28] Weapon Menu 1.0 H9LLlE4ka=) weaponmenu.amxx debug
[ 29] Advert Messages 1.22 neygomon adverts.amxx debug
[ 30] Mode 2x2 2.x.5 s1lent & neugomo mode_neygomon.a debug
[ 31] Choose Team Menu 1.0 Mistrick choose_team_men debug
[ 32] Auto Demo Recorder 1.0 H9LLlE4ka=) auto_demo_recor debug
[ 33] Admin Free Look 1.0 neygomon admin_free_look debug
[ 34] Lite Admin ESP 1.0 neygomon admin_esp.amxx debug
[ 35] AFK Control 1.4.1 [Rnd neygomon afk_control.amx debug
[ 36] Ping Control 1.31 neygomon ping_control.am debug
[ 37] No Team Flash 1.0 ReHLDS no_team_flash.a debug
[ 38] Steam Bonus 1.0 H9LLlE4ka=) steam_bonus.amx debug
[ 39] Refill Clip On Kill 1.0 H9LLlE4ka=) refill_clip_on_ debug
[ 40] Refill Health On Kill 1.0 H9LLlE4ka=) refill_health_o debug
[ 41] KiLL Assist poka_4to_b PRoSToTeM@ kill_assist.amx debug
[ 42] Nice Killer 1.7 Got Milk? / HoHo nice_killer.amx debug
[ 43] Slay Losers 1.0 H9LLlE4ka=) slay_losers.amx debug
[ 44] Chat Manager 1.1.1-11 Mistrick chatmanager.amx debug
[ 45] Chat Manager: Addon 0.0.4-70 Mistrick chatmanager_add debug
45 plugins, 44 running
Автор плагина
a2 & F@nt0M
Версия плагина
0.9
Исходный код
//https://dev-cs.ru/threads/2999/

#include <amxmodx>
#include <engine>
#include <reapi>

new pcv_DropTime, pcv_GiveOwner;

new bool:g_BombDroped = false;

public plugin_init()
{
register_plugin("[ReAPI] C4 Drop", "0.9", "a2 & F@nt0M");

RegisterHookChain(RG_CWeaponBox_SetModel, "CWeaponBox_SetModel", true);
RegisterHookChain(RG_CBasePlayer_AddPlayerItem, "CBasePlayer_AddPlayerItem", true);

pcv_DropTime = register_cvar("c4_drop_time", "10.0");
pcv_GiveOwner = register_cvar("c4_give_owner", "-1.0");
}
public CWeaponBox_SetModel(const ent)
{
if(is_nullent(ent) || !isWeaponBoxC4(ent))
{
return HC_CONTINUE;
}

new player = get_entvar(ent, var_owner);

if(!is_user_alive(player))
{
return HC_CONTINUE;
}

g_BombDroped = true;

new data[1];
data[0] = ent;

set_task(get_pcvar_float(pcv_DropTime), "TaskBomb", 100, data, sizeof data);

return HC_CONTINUE;
}
public CBasePlayer_AddPlayerItem(const id, const item)
{
if(g_BombDroped && !is_nullent(item) && ItemID:get_member(item, m_iId) == ITEM_C4)
{
g_BombDroped = false;

remove_task(100);
}
}
public TaskBomb(data[1])
{
if(!g_BombDroped || !is_entity(data[0]))
{
return;
}

new player;
new Float:giveOwnerTime = get_pcvar_float(pcv_GiveOwner);

if(giveOwnerTime < 0.0 || (giveOwnerTime > 0.0 && (get_gametime() - get_member_game(m_fRoundStartTime)) < giveOwnerTime))
{
player = get_entvar(data[0], var_owner);

if(is_user_alive(player))
{
fake_touch(data[0], player);

return;
}
}

new players[MAX_PLAYERS], num;

for(player = 1; player <= MaxClients; player++)
{
if(is_user_alive(player) && TeamName:get_member(player, m_iTeam) == TEAM_TERRORIST)
{
players[num++] = player;
}
}

if(num > 0)
{
player = (num == 1) ? players[0] : random(num - 1);

fake_touch(data[0], player);
}
}
bool:isWeaponBoxC4(const ent)
{
for(new i = 0, weapon; i < MAX_ITEM_TYPES; i++)
{
weapon = get_member(ent, m_WeaponBox_rgpPlayerItems, i);

if(is_nullent(weapon))
{
continue;
}

new WeaponIdType:wid = get_member(weapon, m_iId);

if (wid == WEAPON_C4)
{
return true;
}
}
return false;
}
Сыпит еррорки с:
 
В этой теме было размещено решение! Перейти к решению.

d3m37r4

111111
Сообщения
1,454
Реакции
1,194
Помог
10 раз(а)
h9lla, перед фейктачем, надо игрока проверить на валидность. В логе информация о том, что игрока с данным индексом нет на серве.
 
Сообщения
2,288
Реакции
1,740
Помог
31 раз(а)
h9lla, Спустя две недели, вы так и не собираетесь решать свою проблему?
 
Сообщения
35
Реакции
12
Помог
1 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Pokemoshka, проблема решена благодаря подсказке d3m37r4, единственное, я забыл отметить это в топике, но спасибо вам за беспокойство :)


Код:
//https://dev-cs.ru/threads/2999/

#include <amxmodx>
#include <engine>
#include <reapi>

new pcv_DropTime, pcv_GiveOwner;

new bool:g_BombDroped = false;

public plugin_init()
{
    register_plugin("[ReAPI] C4 Drop", "0.9", "a2 & F@nt0M");
    
    RegisterHookChain(RG_CWeaponBox_SetModel, "CWeaponBox_SetModel", true);
    RegisterHookChain(RG_CBasePlayer_AddPlayerItem, "CBasePlayer_AddPlayerItem", true);
    
    pcv_DropTime     = register_cvar("c4_drop_time", "10.0");
    pcv_GiveOwner     = register_cvar("c4_give_owner", "-1.0");
}
public CWeaponBox_SetModel(const ent)
{
    if(is_nullent(ent) || !isWeaponBoxC4(ent))
    {
        return HC_CONTINUE;
    }

    new player = get_entvar(ent, var_owner);
    
    if(!is_user_alive(player))
    {
        return HC_CONTINUE;
    }

    g_BombDroped = true;
    
    new data[1];
    data[0] = ent;
    
    set_task(get_pcvar_float(pcv_DropTime), "TaskBomb", 100, data, sizeof data);
    
    return HC_CONTINUE;
}
public CBasePlayer_AddPlayerItem(const id, const item)
{
    if(g_BombDroped && !is_nullent(item) && ItemID:get_member(item, m_iId) == ITEM_C4)
    {
        g_BombDroped = false;
        
        remove_task(100);
    }
}
public TaskBomb(data[1])
{
    if(!g_BombDroped || !is_entity(data[0]))
    {
        return;
    }
    
    new player;
    new Float:giveOwnerTime = get_pcvar_float(pcv_GiveOwner);
    
    if(giveOwnerTime < 0.0 || (giveOwnerTime > 0.0 && (get_gametime() - get_member_game(m_fRoundStartTime)) < giveOwnerTime))
    {
        player = get_entvar(data[0], var_owner);
        
        if(!is_nullent(player))
        {
            return;
        }
        
        if(is_user_alive(player))
        {
            fake_touch(data[0], player);
            
            return;
        }
    }

    new players[MAX_PLAYERS], num;
    
    for(player = 1; player <= MaxClients; player++)
    {
        if(is_user_alive(player) && TeamName:get_member(player, m_iTeam) == TEAM_TERRORIST)
        {
            players[num++] = player;
        }
    }

    if(num > 0)
    {
        player = (num == 1) ? players[0] : random(num - 1);
        
        fake_touch(data[0], player);
    }
}
bool:isWeaponBoxC4(const ent)
{
    for(new i = 0, weapon; i < MAX_ITEM_TYPES; i++)
    {
        weapon = get_member(ent, m_WeaponBox_rgpPlayerItems, i);
        
        if(is_nullent(weapon))
        {
            continue;
        }
        
        new WeaponIdType:wid = get_member(weapon, m_iId);
        
        if(wid == WEAPON_C4)
        {
            return true;
        }
    }
    return false;
}
 
Статус
В этой теме нельзя размещать новые ответы.

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

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