←  Prośby o modyfikację

AMXX.pl: Support AMX Mod X i SourceMod

»

Zombie Plague 4.3
Dodanie kolorowej wiadomości do pluginu

Zablokowany

  • +
  • -
Sinner - zdjęcie Sinner 09.12.2018

Chciałbym aby ta wiadomość wyświetlała się w następujący sposób: [Happy Hour]!!! Start: %d - End: %d   [Zielone elementy oczywiście w kolorze zielonym]

Za pomoc oczywiście + ;)

Załączone pliki


Użytkownik Sinner edytował ten post 09.12.2018 23:22
Odpowiedz

  • +
  • -
janofer - zdjęcie janofer 14.12.2018

Sprawdź

#include <amxmodx>
#include <hamsandwich>
#include <zombieplague>
#include <colorchat>

new bool:g_happyhour
new cvar_init,cvar_end,cvar_on,cvar_multi,g_packs[33],message[80]

// Uncomment this line if you use the zombie plague 4.2 or an older
//#define ZP_42_OR_OLDER

public plugin_init()
{
    register_plugin("Happy hour", "1.0", "capostrike")
    
    cvar_init = register_cvar("zp_happyinit", "20")
    cvar_end = register_cvar("zp_happyend", "24")
    cvar_on = register_cvar("zp_happyhour", "1")
    cvar_multi = register_cvar("zp_happymultipler", "2")
    
    RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
    RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage_post",1)
    RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
    RegisterHam(Ham_Killed, "player", "fw_PlayerKilled_post", 1)
    RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_post",1)     
}
public plugin_cfg()
{
    if(get_pcvar_num(cvar_on))
    {
        new data[3]
        get_time("%H", data, 2)
        
        if(get_pcvar_num(cvar_end) > str_to_num(data) >= get_pcvar_num(cvar_init))
        {
            g_happyhour = true
            formatex(message, charsmax(message), "&x04[Happy Hour]&x01!!! Start:&x04 %d &x01- End:&x04 %d", get_pcvar_num(cvar_init), get_pcvar_num(cvar_end))
        }  
    }
}
public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)
{
    if(!g_happyhour) return HAM_IGNORED;
    if(victim == attacker || !is_user_alive(attacker)) return HAM_IGNORED;
    #if !defined ZP_42_OR_OLDER
    if(!zp_get_user_zombie(victim) || zp_get_user_zombie(attacker)) return HAM_IGNORED;
    #endif
    
    g_packs[attacker] = zp_get_user_ammo_packs(attacker)
    
    return HAM_IGNORED;
}
public fw_TakeDamage_post(victim, inflictor, attacker, Float:damage, damage_type)
{
    if(!g_happyhour) return HAM_IGNORED;
    if(victim == attacker || !is_user_alive(attacker)) return HAM_IGNORED;
    #if !defined ZP_42_OR_OLDER
    if(!zp_get_user_zombie(victim) || zp_get_user_zombie(attacker)) return HAM_IGNORED;
    #endif
    if(!g_packs[attacker])  return HAM_IGNORED;
    
    new diff = (zp_get_user_ammo_packs(attacker) - g_packs[attacker]);
    
    if(diff)
    {
        diff *= get_pcvar_num(cvar_multi);
        zp_set_user_ammo_packs(attacker, g_packs[attacker]+diff)
        g_packs[attacker] = 0;
    }
    
    return HAM_IGNORED;
}
public fw_PlayerKilled(victim, attacker, shouldgib)
{
    if(!g_happyhour) return HAM_IGNORED;
    if(victim == attacker || !is_user_alive(attacker)) return HAM_IGNORED;
    
    g_packs[attacker] = zp_get_user_ammo_packs(attacker)
    
    return HAM_IGNORED;
}
public fw_PlayerKilled_post(victim, attacker, shouldgib)
{
    if(!g_happyhour) return HAM_IGNORED;
    if(victim == attacker || !is_user_alive(attacker)) return HAM_IGNORED;
    if(!g_packs[attacker])  return HAM_IGNORED;
    
    new diff = (zp_get_user_ammo_packs(attacker) - g_packs[attacker]);
    
    if(diff)
    {
        diff *= get_pcvar_num(cvar_multi);
        zp_set_user_ammo_packs(attacker, g_packs[attacker]+diff)
        g_packs[attacker] = 0;
    }
    
    return HAM_IGNORED;
}
#if !defined ZP_42_OR_OLDER
public zp_user_infected_pre(victim,attacker)
{
    if(!g_happyhour) return HAM_IGNORED;
    if(victim == attacker || !is_user_alive(attacker)) return HAM_IGNORED;
    
    g_packs[attacker] = zp_get_user_ammo_packs(attacker)
    
    return HAM_IGNORED;
}
public zp_user_infected_post(victim,attacker)
{
    if(!g_happyhour) return HAM_IGNORED;
    if(victim == attacker || !is_user_alive(attacker)) return HAM_IGNORED;
    if(!g_packs[attacker])  return HAM_IGNORED;
    
    new diff = (zp_get_user_ammo_packs(attacker) - g_packs[attacker]);
    
    if(diff)
    {
        diff *= get_pcvar_num(cvar_multi);
        zp_set_user_ammo_packs(attacker, g_packs[attacker]+diff)
        g_packs[attacker] = 0;
    }
    
    return HAM_IGNORED;
}
#endif
public fw_PlayerSpawn_post(id)
{
    if(message[0]) client_print_color(id, GREEN, message)
}

Użytkownik janofer edytował ten post 14.12.2018 09:36
Odpowiedz

  • +
  • -
Sinner - zdjęcie Sinner 14.12.2018

Po podmianie kodu przy kompilacji występuje taki błąd.

//// happyhour.sma
// C:\Users\Campeer\Desktop\Counter-Strike1.6\kompilator\happyhour.sma(129) : error 017: undefined symbol "client_print_color"
// C:\Users\Campeer\Desktop\Counter-Strike1.6\kompilator\happyhour.sma(130) : warning 203: symbol is never used: "ColorChat"
// C:\Users\Campeer\Desktop\Counter-Strike1.6\kompilator\happyhour.sma(130) : warning 203: symbol is never used: "ColorSelection"
// C:\Users\Campeer\Desktop\Counter-Strike1.6\kompilator\happyhour.sma(130) : warning 203: symbol is never used: "FindPlayer"
// C:\Users\Campeer\Desktop\Counter-Strike1.6\kompilator\happyhour.sma(130) : warning 203: symbol is never used: "ShowColorMessage"
// C:\Users\Campeer\Desktop\Counter-Strike1.6\kompilator\happyhour.sma(130) : warning 203: symbol is never used: "Team_Info"
//
// 1 Error.
// Could not locate output file compiled\happyhour.amx (compile failed).

Odpowiedz

  • +
  • -
Toldi - zdjęcie Toldi 14.12.2018

Zamień linijkę

 formatex(message, charsmax(message), "&x04[Happy Hour]&x01!!! Start:&x04 %d &x01- End:&x04 %d", get_pcvar_num(cvar_init), get_pcvar_num(cvar_end))

na te

 formatex(message, charsmax(message), "^x04[Happy Hour]^x01!!! Start:^x04 %d ^x01- End:^x04 %d", get_pcvar_num(cvar_init), get_pcvar_num(cvar_end))
Odpowiedz

  • +
  • -
Sinner - zdjęcie Sinner 14.12.2018

Teraz po zmianach kompilator w ogóle nie widzi pluginu.

#include <amxmodx>
#include <hamsandwich>
#include <zombieplague>
#include <colorchat>

new bool:g_happyhour
new cvar_init,cvar_end,cvar_on,cvar_multi,g_packs[33],message[80]

// Uncomment this line if you use the zombie plague 4.2 or an older
//#define ZP_42_OR_OLDER

public plugin_init()
{
    register_plugin("Happy hour", "1.0", "capostrike")
    
    cvar_init = register_cvar("zp_happyinit", "20")
    cvar_end = register_cvar("zp_happyend", "24")
    cvar_on = register_cvar("zp_happyhour", "1")
    cvar_multi = register_cvar("zp_happymultipler", "2")
    
    RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
    RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage_post",1)
    RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
    RegisterHam(Ham_Killed, "player", "fw_PlayerKilled_post", 1)
    RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_post",1)     
}
public plugin_cfg()
{
    if(get_pcvar_num(cvar_on))
    {
        new data[3]
        get_time("%H", data, 2)
        
        if(get_pcvar_num(cvar_end) > str_to_num(data) >= get_pcvar_num(cvar_init))
        {
            g_happyhour = true
            formatex(message, charsmax(message), "^x04[Happy Hour]^x01!!! Start:^x04 %d ^x01- End:^x04 %d", get_pcvar_num(cvar_init), get_pcvar_num(cvar_end))
        }  
    }
}
public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)
{
    if(!g_happyhour) return HAM_IGNORED;
    if(victim == attacker || !is_user_alive(attacker)) return HAM_IGNORED;
    #if !defined ZP_42_OR_OLDER
    if(!zp_get_user_zombie(victim) || zp_get_user_zombie(attacker)) return HAM_IGNORED;
    #endif
    
    g_packs[attacker] = zp_get_user_ammo_packs(attacker)
    
    return HAM_IGNORED;
}
public fw_TakeDamage_post(victim, inflictor, attacker, Float:damage, damage_type)
{
    if(!g_happyhour) return HAM_IGNORED;
    if(victim == attacker || !is_user_alive(attacker)) return HAM_IGNORED;
    #if !defined ZP_42_OR_OLDER
    if(!zp_get_user_zombie(victim) || zp_get_user_zombie(attacker)) return HAM_IGNORED;
    #endif
    if(!g_packs[attacker])  return HAM_IGNORED;
    
    new diff = (zp_get_user_ammo_packs(attacker) - g_packs[attacker]);
    
    if(diff)
    {
        diff *= get_pcvar_num(cvar_multi);
        zp_set_user_ammo_packs(attacker, g_packs[attacker]+diff)
        g_packs[attacker] = 0;
    }
    
    return HAM_IGNORED;
}
public fw_PlayerKilled(victim, attacker, shouldgib)
{
    if(!g_happyhour) return HAM_IGNORED;
    if(victim == attacker || !is_user_alive(attacker)) return HAM_IGNORED;
    
    g_packs[attacker] = zp_get_user_ammo_packs(attacker)
    
    return HAM_IGNORED;
}
public fw_PlayerKilled_post(victim, attacker, shouldgib)
{
    if(!g_happyhour) return HAM_IGNORED;
    if(victim == attacker || !is_user_alive(attacker)) return HAM_IGNORED;
    if(!g_packs[attacker])  return HAM_IGNORED;
    
    new diff = (zp_get_user_ammo_packs(attacker) - g_packs[attacker]);
    
    if(diff)
    {
        diff *= get_pcvar_num(cvar_multi);
        zp_set_user_ammo_packs(attacker, g_packs[attacker]+diff)
        g_packs[attacker] = 0;
    }
    
    return HAM_IGNORED;
}
#if !defined ZP_42_OR_OLDER
public zp_user_infected_pre(victim,attacker)
{
    if(!g_happyhour) return HAM_IGNORED;
    if(victim == attacker || !is_user_alive(attacker)) return HAM_IGNORED;
    
    g_packs[attacker] = zp_get_user_ammo_packs(attacker)
    
    return HAM_IGNORED;
}
public zp_user_infected_post(victim,attacker)
{
    if(!g_happyhour) return HAM_IGNORED;
    if(victim == attacker || !is_user_alive(attacker)) return HAM_IGNORED;
    if(!g_packs[attacker])  return HAM_IGNORED;
    
    new diff = (zp_get_user_ammo_packs(attacker) - g_packs[attacker]);
    
    if(diff)
    {
        diff *= get_pcvar_num(cvar_multi);
        zp_set_user_ammo_packs(attacker, g_packs[attacker]+diff)
        g_packs[attacker] = 0;
    }
    
    return HAM_IGNORED;
}
#endif
public fw_PlayerSpawn_post(id)
{
    if(message[0]) client_print_color(id, GREEN, message)
}
Odpowiedz

  • +
  • -
Sinner - zdjęcie Sinner 15.12.2018

Temat do zamknięcia uporałem się z tym (: + na zachętę dla Pana wyżej.

Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 15.12.2018

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


Z pozdrowieniami,
Zespół AMXX.PL
Odpowiedz
Zablokowany