Нужна помощь с плагином

Fiaaa

Участник
Сообщения
33
Реакции
0
Хочу создать плагин для того чтобы зомби не могли ставить пропы. (wcs)
C-подобный:
#include <sourcemod>
#include <sdktools>
#include <sdkhooks>
#include <wcs>
#include <zombieplague>

#pragma semicolon 1

public Plugin wcs_block =
{
    name            = "[WCS] BLOCK ZM PROP",
    author          = "FiaLD",   
    description     = "BLOCK ZOMBIE PROP",
    version         = "1.0",
}

public void OnPluginStart()
{
    HookEvent("player_death", Event_PlayerDeath);
    AddCommandListener(Event_PlayerDeath, "CreateProp");
    AddCommandListener(Event_PlayerDeath, "PropMenu");
}

public Action Event_PlayerDeath(client, Event hEvent, const char[] sEvName, bool bDontBroadcast)
{
    if (ZP_IsPlayerZombie(client))
        {
            // Block
            return Plugin_Handled;
        }
    return Plugin_Continue;
}
но выходят эти ерроры
//// wcs_block.sp
//
// C:\Users\leony\Desktop\compile\scripting\wcs_block.sp(20) : error 100: function prototypes do not match
// C:\Users\leony\Desktop\compile\scripting\wcs_block.sp(25) : error 100: function prototypes do not match
// C:\Users\leony\Desktop\compile\scripting\wcs_block.sp(26) : warning 217: loose indentation
// C:\Users\leony\Desktop\compile\scripting\wcs_block.sp(26) : error 100: function prototypes do not match
//
// 3 Errors.
//
// Compilation Time: 0,36 sec
// ----------------------------------------
Помоите пожалуйста
 
Последнее редактирование:

pashek71

Участник
Сообщения
232
Реакции
43
Это нужно менять в исходнике плагина устанавливающего пропы.
 

Fiaaa

Участник
Сообщения
33
Реакции
0
Это нужно менять в исходнике плагина устанавливающего пропы.
Нет, я сначала попробывал просто запретить ставить пропы, у меня получилось.
Сообщения автоматически склеены:

Вот это работает
C-подобный:
public void OnPluginStart()
{
    AddCommandListener(Block, "CreateProp");
    AddCommandListener(Block, "PropMenu");
}

public Action Block(client, char[] command, args)
{
    return Plugin_Handled;
}
 

pashek71

Участник
Сообщения
232
Реакции
43
Нет, я сначала попробывал просто запретить ставить пропы, у меня получилось.
Сообщения автоматически склеены:

Вот это работает
C-подобный:
public void OnPluginStart()
{
    AddCommandListener(Block, "CreateProp");
    AddCommandListener(Block, "PropMenu");
}

public Action Block(client, char[] command, args)
{
    return Plugin_Handled;
}
Скинь инклуд зомби плагина, без этого точно никак не определить зомби ли игрок. Разве что у тебя зомби только в определенной команде. Тогда можно запретить это для этой команды.
 

Fiaaa

Участник
Сообщения
33
Реакции
0
Скинь инклуд зомби плагина, без этого точно никак не определить зомби ли игрок. Разве что у тебя зомби только в определенной команде. Тогда можно запретить это для этой команды.
Инклуд
 

Вложения

  • zombieplague.inc
    15.8 КБ · Просмотры: 8

DeeperSpy

Гений, миллиардер, плейбой, филантроп, майнкрафтер
Сообщения
588
Реакции
362
C-подобный:
public void OnPluginStart()
{
    AddCommandListener(Block, "CreateProp");
    AddCommandListener(Block, "PropMenu");
}

public Action Block(client, char[] command, args)
{
    if (ZP_IsPlayerZombie(client))
        return Plugin_Handled;

}
 

Mr_panica

XenForo one 💖
Сообщения
921
Реакции
435
public Action Event_PlayerDeath(client, Event hEvent, const char[] sEvName, bool bDontBroadcast)
{
if (ZP_IsPlayerZombie(client))
{
// Block
return Plugin_Handled;
}
return Plugin_Continue;
}

C-подобный:
public Action Event_PlayerDeath(Event hEvent, const char[] sEvName, bool bDontBroadcast)

{
    int client = GetClientOfUserId( hEvent.GetInt("userid") );
    if (ZP_IsPlayerZombie(client))

        {

            // Block

            return Plugin_Handled;

        }

    return Plugin_Continue;

}

Это я к тому, что в эвентах нужно так вытаскивать клиента.
 
Последнее редактирование:

Fiaaa

Участник
Сообщения
33
Реакции
0
C-подобный:
public void OnPluginStart()
{
    AddCommandListener(Block, "CreateProp");
    AddCommandListener(Block, "PropMenu");
}

public Action Block(client, char[] command, args)
{
    if (ZP_IsPlayerZombie(client))
        return Plugin_Handled;

}
Так не работает(
Сообщения автоматически склеены:

C-подобный:
public Action Event_PlayerDeath(Event hEvent, const char[] sEvName, bool bDontBroadcast)

{
    int client = GetClientOfUserId( event.GetInt("userid") );
    if (ZP_IsPlayerZombie(client))

        {

            // Block

            return Plugin_Handled;

        }

    return Plugin_Continue;

}

Это я к тому, что в эвентах нужно так вытаскивать клиента.
Можете полностью скинуть код?
 

Mr_panica

XenForo one 💖
Сообщения
921
Реакции
435
Что-то я не понял, где?😔
1574369140649.png
 

Fiaaa

Участник
Сообщения
33
Реакции
0
C-подобный:
//// wcs_block.sp
//
// C:\Users\leony\Desktop\compile\scripting\wcs_block.sp(19) : error 100: function prototypes do not match
// C:\Users\leony\Desktop\compile\scripting\wcs_block.sp(20) : error 100: function prototypes do not match
// C:\Users\leony\Desktop\compile\scripting\wcs_block.sp(21) : error 100: function prototypes do not match
//
// 3 Errors.
//
// Compilation Time: 1,16 sec
// ----------------------------------------
 

pashek71

Участник
Сообщения
232
Реакции
43
Ну если вот это работает, то вот так
Нет, я сначала попробывал просто запретить ставить пропы, у меня получилось.
Сообщения автоматически склеены:

Вот это работает
C-подобный:
public void OnPluginStart()
{
    AddCommandListener(Block, "CreateProp");
    AddCommandListener(Block, "PropMenu");
}

public Action Block(client, char[] command, args)
{
    return Plugin_Handled;
}
Сообщения автоматически склеены:

Да это же вообще бред не тот. Ему нужно заблокировать команду, зачем отлавливать смерть?
 

Вложения

  • test.smx
    3.6 КБ · Просмотры: 2
  • test.sp
    294 байт · Просмотры: 6

Mr_panica

XenForo one 💖
Сообщения
921
Реакции
435
C-подобный:
//// wcs_block.sp
//
// C:\Users\leony\Desktop\compile\scripting\wcs_block.sp(19) : error 100: function prototypes do not match
// C:\Users\leony\Desktop\compile\scripting\wcs_block.sp(20) : error 100: function prototypes do not match
// C:\Users\leony\Desktop\compile\scripting\wcs_block.sp(21) : error 100: function prototypes do not match
//
// 3 Errors.
//
// Compilation Time: 1,16 sec
// ----------------------------------------
Ты уж выбери, либо ты используешь калбэк для прослушивания команды или же для эвента :D
 

Fiaaa

Участник
Сообщения
33
Реакции
0
Ну если вот это работает, то вот так

Сообщения автоматически склеены:


Да это же вообще бред не тот. Ему нужно заблокировать команду, зачем отлавливать смерть?
Не работает.... Можно ли как-то сделать так, чтобы при входе в команду(t) нельзя было использовать этот ультимейт(команду) и не повлияют ли на это эти квары
mp_teamname_1 "HUMAN"
mp_teamname_2 "ZOMBIE"
 

pashek71

Участник
Сообщения
232
Реакции
43
Не работает.... Можно ли как-то сделать так, чтобы при входе в команду(t) нельзя было использовать этот ультимейт(команду) и не повлияют ли на это эти квары
mp_teamname_1 "HUMAN"
mp_teamname_2 "ZOMBIE"
Проще было бы в спшке оригинала это отредактировать. Есть идея как это реализовать, но мне нужно знать какой у тебя wcs (типа вот этого https://cs-love.net/csgofiles/mods-csgo/204-skachat-mod-wcsource-mod-dlja-servera-csgo.html)?
Сообщения автоматически склеены:

Вот это попробуй
 

Вложения

  • test.sp
    314 байт · Просмотры: 8
  • test.smx
    3.7 КБ · Просмотры: 2
Последнее редактирование:

Fiaaa

Участник
Сообщения
33
Реакции
0
Проще было бы в спшке оригинала это отредактировать. Есть идея как это реализовать, но мне нужно знать какой у тебя wcs (типа вот этого https://cs-love.net/csgofiles/mods-csgo/204-skachat-mod-wcsource-mod-dlja-servera-csgo.html)?
Сообщения автоматически склеены:

Вот это попробуй
У меня "WC:Source" (9.8.3 [Private]) by Str1k3r
Сообщения автоматически склеены:

Можно сделать ещё так, чтобы в чат писало "Зомби запрещено использовать данный ультимейт"?
 

KonveeR

Hanzo hasashi
Сообщения
1,639
Реакции
667
У меня "WC:Source" (9.8.3 [Private]) by Str1k3r
Сообщения автоматически склеены:

Можно сделать ещё так, чтобы в чат писало "Зомби запрещено использовать данный ультимейт"?
Так там есть же модуль , блок ультимейтов и абилити .
 
Сверху Снизу