Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Пожертвовать Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Непонятки с плагином
www22 Дата: Среда, 15.05.2019, 10:24:59 | Сообщение # 1
Сообщений: 84
Репутация: -1 [ +/- ]
Что понять не могу , что не так в коде, и почему может вызываться крэш сервера ?
Может что не учел по неопытности или еще что. Все плагины работают.
Крэш в первом коде вызывается после 3-5 карт И при онлайне больше 16 игроков (половины сервера). Да плагины ставились на 2-х серверах первый код . Крэш везде , со вторым кодом пока крэш на одном сервере, на втором вроде полет нормальный.Но еще не вечер :))
Код
#include <sdkhooks>

#pragma semicolon 1
#pragma newdecls required

bool g_bBlock;    // true blocking

public void OnPluginStart()
{
    HookEvent("dod_round_start",    Event_RoundStart,      EventHookMode_PostNoCopy);
    HookEvent("dod_round_win",         Event_RoundEnd,      EventHookMode_PostNoCopy);
}

public void OnClientPutInServer(int iClient)
{
    SDKHook(iClient, SDKHook_WeaponCanUse, WeaponCanUse); // you unhooked
}

public void Event_RoundStart(Event hEvent, const char[] name, bool bDontBroadcast)
{
    g_bBlock = false;
}

public void Event_RoundEnd(Event hEvent, const char[] name, bool bDontBroadcast)
{
    g_bBlock = true;
}

public Action WeaponCanUse(int iClient, int iWeapon)
{
    return g_bBlock ? Plugin_Handled : Plugin_Continue;
}  

Код взят с хлмода , отсюда https://hlmod.ru/threads/item_pickup-ili-sdkhook_weaponcanuse.34283/ , изменил эвенты и концовку в "Action WeaponCanUse"

И вот еще один код , такая же проблема :
Код
#pragma semicolon 1

#define DEBUG

#define PLUGIN_AUTHOR "-"
#define PLUGIN_VERSION "1.01"

#include <sourcemod>
#include <sdktools>
#include <sdkhooks>
#include <sdktools_entinput>

new bool:g_bRoundEnded;

public Plugin:myinfo =
{
    name = "Block UP any Weapons",
    author = PLUGIN_AUTHOR,
    description = "Blocking Upping alls weapons on ground",
    version = PLUGIN_VERSION,
    url = ""
};

public OnPluginStart()
{
HookEvent("dod_round_win", OnRoundWin);
HookEvent("dod_round_start", OnRoundStart);
}

public Action:OnRoundWin(Handle:event, const String:name[], bool:dontBroadcast)
{
    g_bRoundEnded = true;
    for(int i = 1; i <= MaxClients; i++) if(IsClientInGame(i) && !IsFakeClient(i) && IsPlayerAlive(i))
  {
   SDKHook(i, SDKHook_WeaponEquip, Hook_WeaponDropped);
  }
}

public Action:OnRoundStart(Handle:event, const String:name[], bool:dontBroadcast)
{
    g_bRoundEnded = false;
    for(int i = 1; i <= MaxClients; i++) if(IsClientInGame(i) && !IsFakeClient(i) && IsPlayerAlive(i))
    {
  SDKUnhook(i, SDKHook_WeaponEquip, Hook_WeaponDropped);
    }
}
public Action Hook_WeaponDropped(int i,int weapon)
{
    return g_bRoundEnded ? Plugin_Handled : Plugin_Continue;
}

Все плагины делают практически одно и тоже - не дают взять/подобрать оружие с земли после выигрыша - конца раунда. Игра DOD:s


Сообщение отредактировал www22 - Среда, 15.05.2019, 10:34:05
 
Wanted_69 Дата: Четверг, 16.05.2019, 04:13:37 | Сообщение # 2
Сообщений: 11
Репутация: 0 [ +/- ]
Лог ошибок дай, если они есть, и вот для примера.



Сообщение отредактировал Wanted_69 - Четверг, 16.05.2019, 04:16:00
 
www22 Дата: Четверг, 16.05.2019, 10:28:21 | Сообщение # 3
Сообщений: 84
Репутация: -1 [ +/- ]
Wanted_69, да в том и дело что полная тишина .. никаких нет лог файлов, ни "закодированных" .
 
Wanted_69 Дата: Пятница, 17.05.2019, 00:42:55 | Сообщение # 4
Сообщений: 11
Репутация: 0 [ +/- ]
Цитата www22 ()
www22



Либо


Сообщение отредактировал Wanted_69 - Пятница, 17.05.2019, 00:53:31
 
  • Страница 1 из 1
  • 1
Поиск: