Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

[ROZWIĄZANE] Szukam informacji po zabiciu gracza (Combo X)


Najlepsza odpowiedź Wielkie Jol, 15.07.2014 06:43

Dosłownie minuta szukania: http://amxx.pl/topic...effects-killer/

 

przerobione na tylko i wyłącznie kille:

 

#include <amxmodx> 
#include <fakemeta> 
#include <xs> 
 
new g_kills[33]; 
new g_maxplayers; 
new g_player_hud[33]; 
 
#define NORMAL_KILLS_NUM 8 
#define OTHER_KILLS_NUM 7 
 
new const normal_kill[8][] = 
{ 
    "sprites/kill_1.spr", 
    "sprites/kill_2.spr", 
    "sprites/kill_3.spr", 
    "sprites/kill_4.spr", 
    "sprites/kill_5.spr", 
    "sprites/kill_6.spr", 
    "sprites/kill_7.spr", 
    "sprites/kill_8.spr" 
} 
 
 
public plugin_init() 
{ 
    register_plugin("Effects Killer","1.0","NST") 
 
    register_logevent("RoundStart", 2, "1=Round_Start")  
    register_forward(FM_AddToFullPack, "AddToFullPack", 1) 
    register_event("DeathMsg", "DeathMsg", "a") 
 
    g_maxplayers = get_maxplayers() 
} 
 
public plugin_precache() 
{ 
    new i; 
 
    for(i = 0 ; i < NORMAL_KILLS_NUM ; i++) 
    { 
        precache_model(normal_kill[i]) 
    } 
  
} 
  
public RoundStart() 
{ 
    for(new i = 1; i <= g_maxplayers; i++) 
    { 
        g_kills[i] = 0 
    } 
} 
 
 
public DeathMsg() 
{ 
    new killer, victim, weapon[12]; 
 
    killer = read_data(1) 
    victim = read_data(2) 
    read_data(4, weapon, charsmax(weapon)) 
 
    if(is_user_bot(killer) || killer == victim) 
        return 
 
    g_kills[killer]++ 
 
    new players_t[32], players_ct[32], t_count, ct_count; 
 
    get_players(players_t, t_count, "ae", "TERRORIST") 
    get_players(players_ct, ct_count, "ae", "CT")  
 
         
    if(g_kills[killer] < 8) 
    { 
        ShowSprite(killer, normal_kill[g_kills[killer] - 1]) 
        return 
    } 
} 
 
public AddToFullPack(es, e, ent, host, host_flags, player, p_set) 
{ 
    if(!is_user_connected(host) || !pev_valid(host) || !pev_valid(ent)) 
        return FMRES_IGNORED 
 
    if (ent == g_player_hud[host]) 
    { 
        static Float:origin[3], Float:forvec[3], Float:voffsets[3] 
         
        pev(host, pev_origin, origin) 
        pev(host, pev_view_ofs, voffsets) 
        xs_vec_add(origin, voffsets, origin) 
        velocity_by_aim(host, 12, forvec) 
        xs_vec_add(origin, forvec, origin) 
        engfunc(EngFunc_SetOrigin, ent, origin) 
        set_es(es, ES_Origin, origin) 
        set_es(es, ES_RenderMode, kRenderTransAdd) 
        set_es(es, ES_RenderAmt, 255) 
    } 
    return FMRES_IGNORED 
} 
 
public ShowSprite(id, const sprite[]) 
{ 
    if(!is_user_connected(id)) 
        return 
 
    remove_task(id) 
 
    if(!pev_valid(g_player_hud[id])) 
        g_player_hud[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "env_sprite"))
 
    set_pev(g_player_hud[id], pev_takedamage, 0.0) 
    set_pev(g_player_hud[id], pev_solid, SOLID_NOT) 
    set_pev(g_player_hud[id], pev_movetype, MOVETYPE_NONE) 
    engfunc(EngFunc_SetModel, g_player_hud[id], sprite) 
    set_pev(g_player_hud[id], pev_rendermode, kRenderTransAdd) 
    set_pev(g_player_hud[id], pev_renderamt, 0.0) 
    set_pev(g_player_hud[id], pev_scale, 0.03)     
     
    set_pev(g_player_hud[id], pev_animtime, get_gametime()) 
    set_pev(g_player_hud[id], pev_framerate, 0.0) 
    set_pev(g_player_hud[id], pev_spawnflags, SF_SPRITE_STARTON) 
    dllfunc(DLLFunc_Spawn, g_player_hud[id]) 
     
     
    set_task(2.0, "RemoveSprite", id) 
} 
 
public RemoveSprite(id) 
{ 
    if(pev_valid(g_player_hud[id])) 
    { 
        engfunc(EngFunc_RemoveEntity, g_player_hud[id]) 
        g_player_hud[id] = 0 
        remove_task(id) 
    } 
    else 
    { 
        g_player_hud[id] = 0 
        remove_task(id) 
    } 
} 
Przejdź do postu


  • Zamknięty Temat jest zamknięty
2 odpowiedzi w tym temacie

#1 Split

    Programista

  • Power User

Reputacja: 106
Zaawansowany

  • Postów:490
  • Imię:Szymon
  • Lokalizacja:Opole
Offline

Napisano 05.07.2014 23:38

Witam, na kilku serwerach nie raz widzę taki plugin że po zabiciu gracza albo graczów w tym miejscu w których ich się zabiło pokazują się takie informacje jak:

 

Combo X (Gdzie X to jest numer np 1, 2, 3, 4, 5 itp)

 

Pozdrawiam i z góry dziękuje


  • +
  • -
  • 0

LoL, 500 postów ;D


#2 Split

    Programista

  • Autor tematu
  • Power User

Reputacja: 106
Zaawansowany

  • Postów:490
  • Imię:Szymon
  • Lokalizacja:Opole
Offline

Napisano 14.07.2014 23:12

Przepraszam ale nie mogę edytować tematu.

 

Znalazłem screena w necie więc podrzucam:

 

post-32238-0-36760400-1401212377.jpg


Użytkownik e-Skill edytował ten post 14.07.2014 23:14

  • +
  • -
  • 0

LoL, 500 postów ;D


#3 Wielkie Jol

    REPREZENTUJE SIEBIE I CAŁĄ GALAKTYKĘ

  • Support Team

Reputacja: 683
Wszechmogący

  • Postów:1 258
  • GG:
  • Lokalizacja:AMXX
Offline

Napisano 15.07.2014 06:43   Najlepsza odpowiedź

Dosłownie minuta szukania: http://amxx.pl/topic...effects-killer/

 

przerobione na tylko i wyłącznie kille:

 

#include <amxmodx> 
#include <fakemeta> 
#include <xs> 
 
new g_kills[33]; 
new g_maxplayers; 
new g_player_hud[33]; 
 
#define NORMAL_KILLS_NUM 8 
#define OTHER_KILLS_NUM 7 
 
new const normal_kill[8][] = 
{ 
    "sprites/kill_1.spr", 
    "sprites/kill_2.spr", 
    "sprites/kill_3.spr", 
    "sprites/kill_4.spr", 
    "sprites/kill_5.spr", 
    "sprites/kill_6.spr", 
    "sprites/kill_7.spr", 
    "sprites/kill_8.spr" 
} 
 
 
public plugin_init() 
{ 
    register_plugin("Effects Killer","1.0","NST") 
 
    register_logevent("RoundStart", 2, "1=Round_Start")  
    register_forward(FM_AddToFullPack, "AddToFullPack", 1) 
    register_event("DeathMsg", "DeathMsg", "a") 
 
    g_maxplayers = get_maxplayers() 
} 
 
public plugin_precache() 
{ 
    new i; 
 
    for(i = 0 ; i < NORMAL_KILLS_NUM ; i++) 
    { 
        precache_model(normal_kill[i]) 
    } 
  
} 
  
public RoundStart() 
{ 
    for(new i = 1; i <= g_maxplayers; i++) 
    { 
        g_kills[i] = 0 
    } 
} 
 
 
public DeathMsg() 
{ 
    new killer, victim, weapon[12]; 
 
    killer = read_data(1) 
    victim = read_data(2) 
    read_data(4, weapon, charsmax(weapon)) 
 
    if(is_user_bot(killer) || killer == victim) 
        return 
 
    g_kills[killer]++ 
 
    new players_t[32], players_ct[32], t_count, ct_count; 
 
    get_players(players_t, t_count, "ae", "TERRORIST") 
    get_players(players_ct, ct_count, "ae", "CT")  
 
         
    if(g_kills[killer] < 8) 
    { 
        ShowSprite(killer, normal_kill[g_kills[killer] - 1]) 
        return 
    } 
} 
 
public AddToFullPack(es, e, ent, host, host_flags, player, p_set) 
{ 
    if(!is_user_connected(host) || !pev_valid(host) || !pev_valid(ent)) 
        return FMRES_IGNORED 
 
    if (ent == g_player_hud[host]) 
    { 
        static Float:origin[3], Float:forvec[3], Float:voffsets[3] 
         
        pev(host, pev_origin, origin) 
        pev(host, pev_view_ofs, voffsets) 
        xs_vec_add(origin, voffsets, origin) 
        velocity_by_aim(host, 12, forvec) 
        xs_vec_add(origin, forvec, origin) 
        engfunc(EngFunc_SetOrigin, ent, origin) 
        set_es(es, ES_Origin, origin) 
        set_es(es, ES_RenderMode, kRenderTransAdd) 
        set_es(es, ES_RenderAmt, 255) 
    } 
    return FMRES_IGNORED 
} 
 
public ShowSprite(id, const sprite[]) 
{ 
    if(!is_user_connected(id)) 
        return 
 
    remove_task(id) 
 
    if(!pev_valid(g_player_hud[id])) 
        g_player_hud[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "env_sprite"))
 
    set_pev(g_player_hud[id], pev_takedamage, 0.0) 
    set_pev(g_player_hud[id], pev_solid, SOLID_NOT) 
    set_pev(g_player_hud[id], pev_movetype, MOVETYPE_NONE) 
    engfunc(EngFunc_SetModel, g_player_hud[id], sprite) 
    set_pev(g_player_hud[id], pev_rendermode, kRenderTransAdd) 
    set_pev(g_player_hud[id], pev_renderamt, 0.0) 
    set_pev(g_player_hud[id], pev_scale, 0.03)     
     
    set_pev(g_player_hud[id], pev_animtime, get_gametime()) 
    set_pev(g_player_hud[id], pev_framerate, 0.0) 
    set_pev(g_player_hud[id], pev_spawnflags, SF_SPRITE_STARTON) 
    dllfunc(DLLFunc_Spawn, g_player_hud[id]) 
     
     
    set_task(2.0, "RemoveSprite", id) 
} 
 
public RemoveSprite(id) 
{ 
    if(pev_valid(g_player_hud[id])) 
    { 
        engfunc(EngFunc_RemoveEntity, g_player_hud[id]) 
        g_player_hud[id] = 0 
        remove_task(id) 
    } 
    else 
    { 
        g_player_hud[id] = 0 
        remove_task(id) 
    } 
} 

  • +
  • -
  • 1

"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad. Jego poczucie etyki domaga się, aby napisał procedurę zniszczMiasto, a Bagdad przekazał jako parametr" - Nathaniel Borenstein.





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych