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

Тема в разделе "Запросы", создана пользователем msi morkva, 31 июл 2012.

  1. msi morkva

    msi morkva

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

    Вложения:

  2. aktel

    aktel

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


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

    PHP:
    #include <sourcemod>

    public OnPluginStart()
    {
        
    HookEvent("player_hurt"CallBackEventEventHookMode_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(heatlhHeatlh4);
                    new 
    Handle:panel CreatePanel();
                    
    SetPanelTitle(panelHeatlh); 
                    
    SendPanelToClient(panelattackerz1);
                }
    }

    public 
    z(Handle:panelMenuAction:actionclientoption)
    {
        
    }
    Не знаю работает мой код или нет.
    Я думаю что этот код очень глупый, но у меня нет больше ни каких идей.
     
    Последнее редактирование: 31 июл 2012
    msi morkva нравится это.
  3. msi morkva

    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()
     
  4. aktel

    aktel

    Сообщения:
    118
    Симпатии:
    13
    Переделать или до делать?
    PHP:
    #include <sourcemod>

    public OnPluginStart()
    {
        
    HookEvent("player_hurt"CallBackEventEventHookMode_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 нравится это.
  5. msi morkva

    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()
     
    Последнее редактирование: 31 июл 2012
  6. aktel

    aktel

    Сообщения:
    118
    Симпатии:
    13
    PHP:
    #include <sourcemod>

    public OnPluginStart()
    {
        
    HookEvent("player_hurt"CallBackEventEventHookMode_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(heatlhHeatlh4);
                        new 
    Handle:panel CreatePanel();
                        
    SetPanelTitle(panelHeatlh); 
                        
    SendPanelToClient(panelattackerz1);
                        
    PrintHintText(attacker"%d"heatlh);
                    }
        }
    }

    public 
    z(Handle:panelMenuAction:actionclientoption)
    {
        
    }
     
    msi morkva нравится это.
  7. msi morkva

    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"CallBackEventEventHookMode_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:panelMenuAction:actionclientoption)
    {
        

    Добавлено через 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"CallBackEventEventHookMode_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:panelMenuAction:actionclientoption)
    {
        
     
    Последнее редактирование: 31 июл 2012