Round of benefits
#1
Bueno estuve unos 20 minutos sin Internet ladillado xd y me puse a leer sobre la librería fun,y decidí usarla, el obtiene beneficios para usuarios que seria 1600 de money y a los administradores en cada ronda se le da 130 de hp y 200 de chaleco, si se que el round money esta echo, no e leído quin lo creo para nombrarlo aquí, pero decidí que era una buena opción otorgar ese beneficio en este plugin
Código PHP:
#include <amxmodx>
#include <fun>
#include <hamsandwich>
#include <cstrike>


#define TAG "SG"

public plugin_init( )
{
    
register_plugin"Round of benefits","1.0","Alejandro." )
    
    
RegisterHamHam_Spawn,"player","fw_PlayerSpawn",)
}

public 
fw_PlayerSpawnid  )
{
    if( !
is_user_aliveid ) )
    return 
HAM_IGNORED;
    new 
szname[33//variable para obtener su nombre
    
get_user_name(idszname32)
    
cs_set_user_moneyid,16000,false )
    
ChatColor(0,"!g.:[!team%S!g]:. !yEl jugador !team[!y%s!team] !yObtiene !team160.00BsS",TAGszname)

    if (
get_user_flags(id) & ADMIN_KICK) {
    
ChatColor(id,"!g.:[!team%s!g]:. !team[!y%s!team] !yObtienes 130 de hp y 200 de chaleco por ser administrador ",TAGszname)

    
set_user_health(id130);//Le damos 130 de hp

    
set_user_armor(id200); //Le damos 200 de chaleco
    
}
    return 
HAM_IGNORED;
}  
stock ChatColor(const id, const input[], any:...)
{
    new 
count 1players[32]
    static 
msg[191]
    
vformat(msg190input3)
    
    
replace_all(msg190"!g""^4"// Green Color
    
replace_all(msg190"!y""^1"// Default Color
    
replace_all(msg190"!team""^3"// Team Color
    
replace_all(msg190"!team2""^0"// Team2 Color
    
    
if (idplayers[0] = id; else get_players(playerscount"ch")
    {
        for (new 
0counti++)
        {
            if (
is_user_connected(players[i]))
            {
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i])
                
write_byte(players[i]);
                
write_string(msg);
                
message_end();
            }
        }
    }

Responder
#2
Código PHP:
#include <amxmisc> 

No la usas

Código PHP:
chatcolor(id,"!g.:[!tSG!g]:. !t[!y%s!t] !yObtienes 130 de hp y 200 de chaleco por ser administrador "szname

-->

Código PHP:
ChatColor(id,"!g.:[!tSG!g]:. !t[!y%s!t] !yObtienes 130 de hp y 200 de chaleco por ser administrador "szname

También tené en cuenta que o usas "!t" o usas "!team"

Código PHP:
RegisterHamHam_Spawn,"player","fw_PlayerSpawn",)
RegisterHamHam_Spawn,"player","SpawnAdmins",

¿Por qué hookeas dos veces lo mismo pero llamando a una función diferente? Directamente chequea si es un administrador le das lo que vos quieras (chaleco, vida) sino simplemente que no haga nada.

Código PHP:
get_user_name(idszname32)

chatcolor(id,"!g.:[!tSG!g]:. !t[!y%s!t] !yObtienes 130 de hp y 200 de chaleco por ser administrador "szname

El primer parametro del chatcolor yo pondría 0 para que todos vean quien fue beneficiado sino no tiene sentido obtener mi nombre y mostrarmelo a mi solo.

Código PHP:
#define TAG "SG" 

Por último esta constante no la utilizas nunca.
Responder
#3
https://amxmodx-es.com/Thread-Entendiendo-el-ChatColor

Para que no uses ese stock feo
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#4
1.0.1 Nothingdohere

Código PHP:
#include <amxmodx>
#include <hamsandwich>

native cs_set_user_money(indexmoneyflash 1)
native set_user_health(indexhealth)
native set_user_armor(indexarmor)

static const 
TAG[] = "SG"
static msgSayText

new szname[32]

public 
plugin_init() {
    
register_plugin("Round of benefits""1.0.1""Alejandro.")
    
RegisterHam(Ham_Spawn,"player","fw_PlayerSpawn"1)
    
msgSayText get_user_msgid("SayText")
}

public 
fw_PlayerSpawn(id)
{
    if(!
is_user_alive(id))
        return 
HAM_IGNORED
    
    
if(!(get_user_flags(id) & ADMIN_KICK)) {
        
get_user_name(idsznamecharsmax(szname))
        
cs_set_user_money(id16000)
        
chatcolor(0,"!g.:[!t%s!g]:. !yEl jugador !t[!y%s!t] !yObtiene !t160.00BsS"TAGszname)
    } else {
        
set_user_health(id130)
        
set_user_armor(id200)
        
chatcolor(id,"!g.:[!t%s!g]:. !yObtienes 130 de hp y 200 de chaleco por ser administrador"TAG)
    }
    
    return 
HAM_IGNORED
}

stock chatcolor(id, const input[], any:...) {
    static 
szMsg[191]; vformat(szMsgcharsmax(szMsg), input3)

    
replace_all(szMsgcharsmax(szMsg), "!g""^4")
    
replace_all(szMsgcharsmax(szMsg), "!y""^1")
    
replace_all(szMsgcharsmax(szMsg), "!t""^3")
    
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id)
    
write_byte(id id 33); write_string(szMsg); message_end()

Responder
#5
(17/10/2018, 01:49 PM)HyperstacK escribió:
Código PHP:
#include <amxmisc> 

No la usas

Código PHP:
chatcolor(id,"!g.:[!tSG!g]:. !t[!y%s!t] !yObtienes 130 de hp y 200 de chaleco por ser administrador "szname

-->

Código PHP:
ChatColor(id,"!g.:[!tSG!g]:. !t[!y%s!t] !yObtienes 130 de hp y 200 de chaleco por ser administrador "szname

También tené en cuenta que o usas "!t" o usas "!team"

Código PHP:
RegisterHamHam_Spawn,"player","fw_PlayerSpawn",)
RegisterHamHam_Spawn,"player","SpawnAdmins",

¿Por qué hookeas dos veces lo mismo pero llamando a una función diferente? Directamente chequea si es un administrador le das lo que vos quieras (chaleco, vida) sino simplemente que no haga nada.

Código PHP:
get_user_name(idszname32)

chatcolor(id,"!g.:[!tSG!g]:. !t[!y%s!t] !yObtienes 130 de hp y 200 de chaleco por ser administrador "szname

El primer parametro del chatcolor yo pondría 0 para que todos vean quien fue beneficiado sino no tiene sentido obtener mi nombre y mostrarmelo a mi solo.

Código PHP:
#define TAG "SG" 

Por último esta constante no la utilizas nunca.

Listo editado,sorry es que lo había adaptado a otro stock y
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)