orixont
FORUM ORIXONT - PENTRU DIVERSE Cauti raspunsuri la intrebari ? Cauta întrebari sau raspunsuri? Vrei sa te consulti cu alti colegi pentru a rezolva problemele legate de cs , muzica etc.? Alatura-te comunitatii orixont.3xforum.ro! Vom fi cu totii mai puternici si mai informati! Te asteptam sa deschizi noi subiecte de discutie pe Forumul orixont din Romania!
Nu sunteti logat.
Lista Forumurilor Pe Tematici
Nou pe simpatie:
Profil LaraTaner
Femeie
24 ani
Prahova
cauta Barbat
24 - 52 ani
orixontInregistrareLoginPoze
orixont / Download Pluginuri / AMX ejl playerghosts  
Autor
Mesaj Pagini: 1
#1
orixont
Administrator
Postari: 3608
Descriere: Cu acest plugin jucatorii morti devin fantome

Nume: AMX ejl playerghosts
Versiune: 1.3

[sursa=.SMA]/***************************************************************************
* amx_ejl_playerghosts.sma     version 1.3                  Date: 4/29/2003
*  Author: Eric Lidman     
*  Alias: Ludwig van        Upgrade: http://lidmanmusic.com/cs/plugins.html
*
*  Another dumb plugin by me. I wasn't going to post it, but some people
*   said they wanted it when they saw it on my server so why not? Anyway,
*   if the command amx_ghosts is issued, dead players will become ghosts
*   and have the appearance of a strange blue cloud hovering about.
*   New: admins appear as a different type of ghost than players
*   New: different modes where dead only can see ghosts or all players can
*   see ghosts
*
*  COMMANDS:
*
*   amx_ghosts             --enables/disables ghosts
*   amx_ghosts_mode        --toggles ghosts visability to dead only, or
*                            ghosts visable to all
*
*  CVARS:
*
*   amx_ghosts_default 0   --set this to 1 in admin.cfg for ghost mode
*                            default on, 0 for off. 0 is plugin default
*   amx_ghosts_alivesee 0  --set this to 1 in admin.cfg for ghost mode
*                            so that all players see ghosts, not just the
*                            dead players seeing other dead player ghosts
*                            0 for dead only see ghosts. 0 is default
*   amx_ghosts_admin 0     --1 sets admins with different ghosts than
*                            players. 0 sets everyones ghost to the same
*                            type                             
*
***************************************************************************/

#include <amxmod>
#include <amxmisc>

new modname[32]
new glow_spr
new glow_spr2
new bool:pl_ghosts = false

public admin_plghdo(id,level,cid){
    if (!cmd_access(id,level,cid,1))
        return PLUGIN_HANDLED

    if(get_cvar_num("amx_ghosts_alivesee" == 1){
        set_cvar_string("amx_ghosts_alivesee","0"
        console_print(id,"[AMX]  Ghosts plugin set so only the dead can see ghosts"
    }else{
        set_cvar_string("amx_ghosts_alivesee","1"
        console_print(id,"[AMX]  Ghosts plugin set so now even the living can see the ghosts"
    }

    new authid[16],name[32]
    get_user_authid(id,authid,16)
    get_user_name(id,name,32)
    log_to_file("addons/amx/admin.log","^"%s<%d><%s><>^" ghosts_mode", name,get_user_userid(id),authid)
    return PLUGIN_HANDLED
}


public admin_pl_ghosts(id,level,cid){
    if (!cmd_access(id,level,cid,1))
        return PLUGIN_HANDLED

    if(pl_ghosts == false){
        pl_ghosts = true
        client_print(0,print_chat,"[AMX]  Admin has enabled player ghosts"
        console_print(id,"[AMX]  You have enabled player ghosts"
        new maxplayers = get_maxplayers()+1
        for (new i=1; i<=maxplayers; i++){
            if( (is_user_connected(i) == 1) && (is_user_alive(i) == 0) ){
                new sid[2]
                sid[0] = i
                if( (get_user_flags(i) & ADMIN_MAP) && (get_cvar_num("amx_ghosts_admin" == 1) ){
                    deadadmin_sprite(sid[0])
                    set_task(0.9,"deadadmin_sprite",65123+i,sid,2,"b"
                }else{
                    deadplayer_sprite(sid[0])
                    set_task(0.7,"deadplayer_sprite",65123+i,sid,2,"b"   
                }
            }
        }       
    }else {
        round_end()
        client_print(0,print_chat,"[AMX]  Admin has disabled player ghosts"
        console_print(id,"[AMX]  You have disabled player ghosts"
        pl_ghosts = false
    }   

    new authid[16],name[32]
    get_user_authid(id,authid,16)
    get_user_name(id,name,32)
    log_to_file("addons/amx/admin.log","^"%s<%d><%s><>^" ghosts",name,get_user_userid(id),authid)
    return PLUGIN_HANDLED
}

public death_ghosts(){
    if(pl_ghosts == false)
        return PLUGIN_CONTINUE
    new victim[2]
    victim[0] = read_data(2)
    if( (get_user_flags(victim[0]) & ADMIN_MAP) && (get_cvar_num("amx_ghosts_admin" == 1) ){
        deadadmin_sprite(victim[0])
        set_task(0.9,"deadadmin_sprite",65123+victim[0],victim,2,"a",99999)
    }else{
        deadplayer_sprite(victim[0])
        set_task(0.7,"deadplayer_sprite",65123+victim[0],victim,2,"a",99999)
    }
    return PLUGIN_CONTINUE
}

public deadplayer_sprite(id[]){
    new origin[3]
    get_user_origin(id[0],origin)
    new players[32], inum
    if(get_cvar_num("amx_ghosts_alivesee")
        get_players(players,inum,"c"
    else
        get_players(players,inum,"bc"
    for(new i = 0 ;i < inum; ++i){
        //TE_SPRITE
        message_begin(MSG_ONE,SVC_TEMPENTITY,{0,0,0},players[i])
        write_byte(17) // additive sprite, plays 1 cycle
        write_coord(origin[0]) // pos
        write_coord(origin[1]) // pos
        write_coord(origin[2]+20) // pos
        write_short (glow_spr) // spr index   
        write_byte(8) // (scale in 0.1's)
        write_byte (200) //(brightness)
        message_end()
    }
    return PLUGIN_CONTINUE
}

public deadadmin_sprite(id[]){
    new origin[3]
    get_user_origin(id[0],origin)
    new players[32], inum
    if(get_cvar_num("amx_ghosts_alivesee")
        get_players(players,inum,"c"
    else
        get_players(players,inum,"bc"
    for(new i = 0 ;i < inum; ++i){
        //TE_SPRITE
        message_begin(MSG_ONE,SVC_TEMPENTITY,{0,0,0},players[i])
        write_byte(17) // additive sprite, plays 1 cycle
        write_coord(origin[0]) // pos
        write_coord(origin[1]) // pos
        write_coord(origin[2]+20) // pos
        write_short (glow_spr2) // spr index   
        write_byte(8) // (scale in 0.1's)
        write_byte (75) //(brightness)
        message_end()
    }
    return PLUGIN_CONTINUE
}

public round_end(){
    if(pl_ghosts == false)
        return PLUGIN_CONTINUE
    new maxplayers = get_maxplayers()+1
    for (new i=1; i<=maxplayers; i++){
        remove_task(65123+i)
    }
    return PLUGIN_CONTINUE
}

public chk_player(){
    new maxplayers = get_maxplayers()+1
    for (new i=1; i<=maxplayers; i++){
        if(is_user_alive(i) == 1){
            remove_task(65123+i)
        }
    }
    return PLUGIN_CONTINUE
}

public check_ghost_def(){
    if(get_cvar_num("amx_ghosts_default")
        server_cmd("amx_ghosts"
    return PLUGIN_CONTINUE   
}

public plugin_precache(){
    glow_spr = precache_model("sprites/poison.spr"
    glow_spr2 = precache_model("sprites/nhth1.spr"
    return PLUGIN_CONTINUE
}

public plugin_init(){
    register_plugin("PLAYER GHOSTS","1.3","EJL"
    register_concmd("amx_ghosts","admin_pl_ghosts",ADMIN_MAP,": turns visable player ghost on while player is dead"
    register_concmd("amx_ghosts_mode","admin_plghdo",ADMIN_MAP,": toggles ghosts visable to dead only"
    register_event("DeathMsg", "death_ghosts", "a"
    register_cvar("amx_ghosts_default","0"
    register_cvar("amx_ghosts_admin","0"
    register_cvar("amx_ghosts_alivesee","0"
    set_cvar_string("amx_ghosts_default","0"
    set_cvar_string("amx_ghosts_admin","0"
    set_cvar_string("amx_ghosts_alivesee","0"

    get_modname(modname,31)
    if(equal(modname,"cstrike"){   
        register_event("SendAudio","round_end","a","2=%!MRAD_terwin","2=%!MRAD_ctwin","2=%!MRAD_rounddraw"
        register_event("TextMsg","round_end","a","2&#Game_C","2&#Game_w"
    }else{
        set_task(1.5,"chk_player",14432,"",0,"b"
    }
    set_task(2.0,"check_ghost_def"
    return PLUGIN_CONTINUE
}



Instalare:
1. Fisierul amx_ejl_playerghosts.sma il puneti in addons/amxmodx/scripting sil copilati!
2. Fisierul amx_ejl_playerghosts.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:
amx_ejl_playerghosts.amxx[/sursa]

4. Alti pasi necesari....

Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg):
amx_ghosts_default 1/0
amx_ghosts_alivesee 1/0
amx_ghosts_admin 1/0[/list]

Comenzi administrative (se tasteaza in consola si trebuie sa fiti administrator):
amx_ghosts   1/0 -activeaza/dezactiveaza ghosts
amx_ghosts_mode  1/0 -sa le vada toti sau numai cei morti


 
   
Pagini: 1  
Mergi la