Нужно переделать плагин из EventScripts в=> Sm

msi morkva

Участник
Сообщения
319
Реакции
36
есть плагин health_enemy на EventScripts мне нужно его сделать под sm если кто может переделайте пожалуйста. Файл залил.
 

Вложения

  • es_health_enemy.txt
    262 байт · Просмотры: 25

aktel

Участник
Сообщения
118
Реакции
13
Я один вижу этот код плагина на sourcepawne как п*******:lol:, в отличии от ESHellа?
Сейчас попробуем, посмотрим что получиться.


P.S.Как я понимаю es_xmenu выдвигает панель?

PHP:
#include <sourcemod>

public OnPluginStart()
{
    HookEvent("player_hurt", CallBackEvent, EventHookMode_Post);
}

public CallBackEvent(Handle:event, const String:name[], bool:dontBroadcast)
{
    new victim = GetClientOfUserId(GetEventInt(event, "userid"));
    new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
    new heatlh = GetEventInt(event, "health");
    
    new i_Teamattacker = GetClientTeam(attacker);
    if (i_Teamattacker > 1)
        if (GetClientTeam(victim) != i_Teamattacker)
            if(heatlh > 0)
            {
                decl String:Heatlh[4];
                IntToString(heatlh, Heatlh, 4);
                new Handle:panel = CreatePanel();
                SetPanelTitle(panel, Heatlh); 
                SendPanelToClient(panel, attacker, z, 1);
            }
}

public z(Handle:panel, MenuAction:action, client, option)
{
    
}
Не знаю работает мой код или нет.
Я думаю что этот код очень глупый, но у меня нет больше ни каких идей.
 
Последнее редактирование:

msi morkva

Участник
Сообщения
319
Реакции
36
спс!!!!!!!!!!!!!!!!! вам огромное! выручили! вот хотел уточнить а есть возможно сделать по середине чтобы высвечивалось? как например в show damage ?
потом глянул в логи вот что там увидел( но все работает показывает
L 07/31/2012 - 03:36:13: [SM] Displaying call stack trace for plugin "health_enemy.smx":
L 07/31/2012 - 03:36:13: [SM] [0] Line 14, E:\ZM\css\cstrike\addons\sourcemod\scripting\health_enemy.sp::CallBackEvent()
 

aktel

Участник
Сообщения
118
Реакции
13
спс!!!!!!!!!!!!!!!!! вам огромное! выручили! вот хотел уточнить а есть возможно сделать по середине чтобы высвечивалось? как например в show damage ?
Переделать или до делать?
PHP:
#include <sourcemod>

public OnPluginStart()
{
    HookEvent("player_hurt", CallBackEvent, EventHookMode_Post);
}

public CallBackEvent(Handle:event, const String:name[], bool:dontBroadcast)
{
    new victim = GetClientOfUserId(GetEventInt(event, "userid"));
    new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
    new heatlh = GetEventInt(event, "health");
    
    new i_Teamattacker = GetClientTeam(attacker);
    if (i_Teamattacker > 1)
        if (GetClientTeam(victim) != i_Teamattacker)
            if(heatlh > 0)
            {
                PrintHintText(attacker, "%d", heatlh);
            }
}
 

msi morkva

Участник
Сообщения
319
Реакции
36
можно сказать доделать ) довести до ума!)

Добавлено через 3 минуты
2-ой код работает супер тока внизу но не беда)!!) ошибок нету!

Добавлено через 9 минут
вот гадство! немного поиграл всеравно ошибку выдал(
L 07/31/2012 - 03:44:29: [SM] Native "GetClientTeam" reported: Client index 0 is invalid
L 07/31/2012 - 03:44:29: [SM] Displaying call stack trace for plugin "health_enemy.smx":
L 07/31/2012 - 03:44:29: [SM] [0] Line 14, E:\ZM\css\cstrike\addons\sourcemod\scripting\health_enemy.sp::CallBackEvent()
 
Последнее редактирование:

aktel

Участник
Сообщения
118
Реакции
13
PHP:
#include <sourcemod>

public OnPluginStart()
{
    HookEvent("player_hurt", CallBackEvent, EventHookMode_Post);
}

public CallBackEvent(Handle:event, const String:name[], bool:dontBroadcast)
{
    new victim = GetClientOfUserId(GetEventInt(event, "userid"));
    new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
    new heatlh = GetEventInt(event, "health");
    
    if (attacker > 0)
    {
        new i_Teamattacker = GetClientTeam(attacker);
        if (i_Teamattacker > 1)
            if (GetClientTeam(victim) != i_Teamattacker)
                if(heatlh > 0)
                {
                    decl String:Heatlh[4];
                    IntToString(heatlh, Heatlh, 4);
                    new Handle:panel = CreatePanel();
                    SetPanelTitle(panel, Heatlh); 
                    SendPanelToClient(panel, attacker, z, 1);
                    PrintHintText(attacker, "%d", heatlh);
                }
    }
}

public z(Handle:panel, MenuAction:action, client, option)
{
    
}
 

msi morkva

Участник
Сообщения
319
Реакции
36
а так и должно быть? он теперь показывает слева и в внизу .
ошибок покачто не наблюдаю.

Добавлено через 12 минут
заметил глюк внизу показывает 1056 а слева 105

Добавлено через 47 минут
кое что внес сам и удалил) чтобы не было слева)) и все получилось!)
PHP:
#include <sourcemod>

#define VERSION "0.4"

public Plugin:myinfo = 
{
	name = "Health enemy",
	author = "aktel (HLModders.ru LLC)",
	description = "The showing of the enemy's health",
	version = VERSION,
	url = "http://www.hlmod.ru/"
};

public OnPluginStart()
{
    HookEvent("player_hurt", CallBackEvent, EventHookMode_Post);
}

public CallBackEvent(Handle:event, const String:name[], bool:dontBroadcast)
{
    new victim = GetClientOfUserId(GetEventInt(event, "userid"));
    new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
    new heatlh = GetEventInt(event, "health");
    
    if (attacker > 0)
    {
        new i_Teamattacker = GetClientTeam(attacker);
        if (i_Teamattacker > 1)
            if (GetClientTeam(victim) != i_Teamattacker)
                if(heatlh > 0)
                {
                    PrintHintText(attacker, "%d", heatlh);
                }
    }
}

public z(Handle:panel, MenuAction:action, client, option)
{
    
}

Добавлено через 1 час 13 минут
я еще добавил) текст русский)) и все работает!) сохранял в Notepad++ UTF - 8 без BOM
PHP:
#include <sourcemod>

#define VERSION "0.5"

public Plugin:myinfo = 
{
	name = "Health enemy",
	author = "aktel, msi morkva (HLModders.ru LLC)",
	description = "The showing of the enemy's health",
	version = VERSION,
	url = "http://www.hlmod.ru/"
};

public OnPluginStart()
{
    HookEvent("player_hurt", CallBackEvent, EventHookMode_Post);
}

public CallBackEvent(Handle:event, const String:name[], bool:dontBroadcast)
{
    new victim = GetClientOfUserId(GetEventInt(event, "userid"));
    new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
    new heatlh = GetEventInt(event, "health");
    
    if (attacker > 0)
    {
        new i_Teamattacker = GetClientTeam(attacker);
        if (i_Teamattacker > 1)
            if (GetClientTeam(victim) != i_Teamattacker)
                if(heatlh > 0)
                {
                    PrintHintText(attacker, "Осталось %d HP", heatlh);
                }
    }
}

public z(Handle:panel, MenuAction:action, client, option)
{
    
}
 
Последнее редактирование:
Сверху Снизу