Simpatie.ro - matrimoniale
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!
Nou pe simpatie:
Alexanndra1994
Femeie
24 ani
Bucuresti
cauta Barbat
24 - 43 ani
orixontInregistrareLoginPozeNu sunteti logat. Lista Forumurilor Pe Tematici
orixont / Download Pluginuri /

AMX ejl playerghosts

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


 
   

Topicuri similare

Pagini: 1  
Mergi la