Necesito plugin apuestas 1v1 con frags y evento con frags
#1
Triste 
Hola chicos, queria pedir si alguien me ayuda con los siguientes plugins

tengo 1 que es de apuestas 1v1 pero es con dinero, y quiero cambiar el dinero por frags adjunto el codigo del plugin de las frags, ya que me imagino que debe ser necesario para hacer este otro plug


y el otro plug, es uno que en base a las frags tambien se pueda hacer un "evento" que en este caso en que yo active un comando a la ronda siguiente se hace va corriendo los frags y se acumulen hasta que muere el ultimo jugador y el que lleve mas kills se lleva el "pozo" no se si captan mi idea

Código PHP:
ChangeLog:

1.0 Version inicial
2.0 

    * 
Correccion de errores
    
Cambio deathmsg por ham killed
    
Reescritura parcial de codigo
    
Soporte AMX 1.8.2 hasta 1.9.0
    
Cvar para activar/desactivar la modificacion del chat

*/

#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>
#include <nfvault>


#if AMXX_VERSION_NUM < 183
    #define client_disconnected client_disconnect

    #define print_team_default 0

    
stock client_print_color(indexfakevar, const input[], any:...)
    {
        
#pragma unused fakevar
        
static szMsg[191], g_iMsgSayText;
        if(!
g_iMsgSayTextg_iMsgSayText get_user_msgid("SayText");

        
vformat(szMsg190input3);

        
message_begin(index MSG_ONE_UNRELIABLE MSG_BROADCASTg_iMsgSayText, .player index);
        
write_byte(index index 33);
        
write_string(szMsg);
        
message_end();
    }
#endif


#define VERSION "2.0"

new const Web[] = "";      // Se Muestra en HUD
new const Prefijo[] = "^4[CS:GO] ^1";     // Prefijo en say
new const Sonido[] = "rango/up.wav";    // Sonido Rango UP
new const DataBase[] = "csgoranks";        // Nombre de la base de datos
new const DB_key[] = "data_rangos";        // Llave de acceso db
new const CHAT_FLAG ADMIN_KICK;        // Acceso requerido para el chat de admins

enum _:DATA
{
    
NOMBRE[30],
    
FRAGS
}

new const 
Rangos[][DATA] =
{
    { 
"Sin Rango"100 },
    { 
"Basura" 200 },
    { 
"Menos Basura"300 },
    { 
"Cadete"500 },
    { 
"pelao raso"600 },
    { 
"Silver I"700 },
    { 
"Silver II"800 },
    { 
"Silver III"900 },
    { 
"Silver IV"1000 },
    { 
"Silver Elite"1300 },
    { 
"Silver Elite Master"1500 },
    { 
"Gold Nova I"1800 },
    { 
"Gold Nova II"2000 },
    { 
"Gold Nova III"2100 },
    { 
"Gold Nova Master"2300 },
    { 
"Master Guardian I",2500 },
    { 
"Master Guardian II"2700 },
    { 
"Master Guardian Elite"2900 },
    { 
"Distinguished Master Guardian"3000 },
    { 
"Legendary Eagle"3300 },
    { 
"Legendary Eagle Master"3500 },
    { 
"Supreme Master First Class"3800 },
    { 
"The Global Elite"4000 },
    { 
"Vato Loco" ,4300 },
    { 
"Destroyer"5000 },
    { 
"Puerco"6000 },
    { 
"Gordo Hermoso"8000 },
    { 
"Calvo Toxico"15000 },
    { 
"Calvo Toxico General"18000 },
    { 
"Calvo Toxico Supremo"20000 },
    { 
"Nokia Ladrillo INDESTRUCTIBLE"200000 }
    
}



new 
g_rango[33], g_frags[33];
new 
SyncHUDg_maxplayersg_playername[33][32];

#define TASK_HUD 67521
#define ID_HUD (taskid - TASK_HUD)
#define is_valid_player(%0) is_user_connected(%0) || !is_user_bot(%0) || !is_user_hltv(%0)

new VaultRango[128], szRangos[180];
new 
cvar_Hudcvar_knifex2cvar_hsx2cvar_hooksay;

public 
plugin_init()
{
    
register_plugin("Nivel"VERSION"Majestick12 / https://www.facebook.com/Majestick12/");
    
    
RegisterHam(Ham_Killed"player""ham_PlayerKilledPost"true);
    
register_logevent("logevent_round_end"2"1=Round_End");
    
    
register_clcmd("say""message_saytext");
    
register_clcmd("say_team""message_sayteam");
    
    
cvar_Hud register_cvar("rangos_hud""1");             // 1 - Mostrar HUD | 0 - No Mostrar
    
cvar_knifex2 register_cvar("rangos_knifex2""1");    // 1 - x2 frags con knife | 0 - ÑO :v
    
cvar_hsx2 register_cvar("rangos_hsx2""1");            // 1 - x2 frags de HeadShot | 0 - ÑO :v
    
cvar_hooksay register_cvar("rangos_hooksay""1");    // 1 - Modifica el say | 0 ÑO :v
    
    
SyncHUD CreateHudSyncObj();
    
g_maxplayers get_maxplayers();
    
    
nfv_file(DataBaseVaultRangocharsmax(VaultRango));    
}

public 
plugin_precache() 
{
    
precache_sound(Sonido);
}

public 
HUD(taskid)
{
    new 
id ID_HUD;
    
    if (!
is_user_alive(id))    
        
id pev(idpev_iuser2);
   
    if(
id != ID_HUD)
    {
        
set_hudmessage(2552552550.600.6716.01.0);
        
ShowSyncHudMsg(ID_HUDSyncHUD"Frags: %d  ||  Rango: %s"g_frags[id], Rangos[g_rango[id]][NOMBRE])
    }
    else
    {
        
set_hudmessage(025500.00.2016.01.0);

        if(
g_rango[id] == charsmax(Rangos))
        {
            
ShowSyncHudMsg(
            
ID_HUD,
            
SyncHUD,
            
"=======================^n\
            Frags: %d^n\
            Rango: %s^n\
            =======================^n\
            TIENES EL RANGO MAXIMO!!!^n\
            =======================^n\
            %s"
,
            
g_frags[id],
            
Rangos[g_rango[id]][NOMBRE],            
            
Web
            
);
        }
        else 
        {
            
ShowSyncHudMsg(
            
ID_HUD,
            
SyncHUD,
            
"=======================^n\
            Frags: %d^n\
            Rango: %s^n\
            =======================^n\
            Sig. Rango: %s^n\
            Frags Restantes: %d^n\
            =======================^n\
            %s"

            
g_frags[id],
            
Rangos[g_rango[id]][NOMBRE],
            
Rangos[g_rango[id]+1][NOMBRE],
            
Rangos[g_rango[id]][FRAGS] - g_frags[id],
            
Web
            
);
        }
    }
    
}

public 
client_putinserver(id)
{
    
get_user_name(idg_playername[id], 31);
    
g_rango[id] = g_frags[id] = 0;
    
    
Cargar(id);
    
    if(
get_pcvar_num(cvar_Hud)) 
        
set_task(1.0"HUD"id+TASK_HUD__"b");
}

public 
client_disconnected(id)
{
    if(
is_valid_player(id))
        
Guardar(id);
        
    
remove_task(id+TASK_HUD)
}

public 
logevent_round_end()
{
    static 
id;
    for(
id 1id <= g_maxplayers; ++id)
    {
        if(
is_valid_player(id))
            
Guardar(id);
    }
}

public 
ham_PlayerKilledPost(victimattackersg)
{
    if(!
is_user_connected(victim) || !is_user_connected(attacker) || !attacker || attacker == victim)
        return 
HAM_IGNORED;

    
SetFrags(attacker1);

    if(
get_pcvar_num(cvar_knifex2) == && get_user_weapon(attacker) == CSW_KNIFE)
        
SetFrags(attacker1);

    if(
get_pcvar_num(cvar_hsx2) == && get_pdata_int(victim755) == HIT_HEAD)
        
SetFrags(attacker1);

    return 
HAM_IGNORED;
}

SetFrags(indexfrags)
{
    
g_frags[index] += frags;

    static 
iRankiRank g_rango[index];
    while( 
g_frags[index] >= Rangos[g_rango[index]][FRAGS] && g_rango[index] < charsmax(Rangos))
        ++
g_rango[index];

    if(
iRank g_rango[index])
    {
        
client_print_color(indexprint_team_default"%s Felicidades subiste al rango: ^4%s"PrefijoRangos[g_rango[index]][NOMBRE]);
        
client_cmd(index"spk ^"%s^""Sonido);
    }
}

public 
message_saytext(id)
{
    if(!
get_pcvar_num(cvar_hooksay))    
        return 
PLUGIN_CONTINUE;

    static 
said[192]; read_args(saidcharsmax(said)); remove_quotes(said);
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED;

    if (!
ValidMessage(said1)) return PLUGIN_CONTINUE;
    
    static 
color[11], iteam[11];
    
get_user_team(id,color,charsmax(color));
    
    if(
get_user_flags(id) & CHAT_FLAG)
    {
        
format(saidcharsmax(said), "^x01%s^x04%s ^x03%s ^x01: ^x04%s",
        
is_user_alive(id) ? "" "[MUERTO]",
        
Rangos[g_rango[id]][NOMBRE],
        
g_playername[id],
        
said);
    }
    else
    {
        
format(saidcharsmax(said), "^x01%s^04%s ^x03%s ^x01: %s",
        
is_user_alive(id) ? "" "[MUERTO]",
        
Rangos[g_rango[id]][NOMBRE],
        
g_playername[id],
        
said);
    }
    
    for (
1<= g_maxplayersi++)
    {
        if (!
is_user_connected(i)) continue;
        
        if(
get_user_flags(i) & CHAT_FLAG || is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i))
        {
            
get_user_team(iteamcharsmax(team));
            
changeTeamInfo(icolor);
            
writeMessage(isaid);
            
changeTeamInfo(iteam);
        }
    }

    return 
PLUGIN_HANDLED_MAIN;
}

public 
message_sayteam(id)
{
    if(!
get_pcvar_num(cvar_hooksay))    
        return 
PLUGIN_CONTINUE;

    static 
said[192]; read_args(saidcharsmax(said)); remove_quotes(said);
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED;

    if (!
ValidMessage(said1)) return PLUGIN_CONTINUE
    
    static 
playerTeamplayerTeamName[19]; playerTeam get_user_team(id);
    switch (
playerTeam)
    {
        case 
1copy (playerTeamName6"TE")
        case 
2copy (playerTeamName8"CT"
        default: 
copy (playerTeamName11"SPEC"
    }

    static 
color[11], iteam[11];
    
get_user_team(id,color,charsmax(color));

    if (
get_user_flags(id) & CHAT_FLAG)
    {
        
format(saidcharsmax(said), "^x01%s [ %s ] ^x04%s ^x03%s ^x01: ^x04%s",
        
is_user_alive(id) ? "" "[MUERTO]",
        
playerTeam,
        
Rangos[g_rango[id]],
        
g_playername[id],
        
said);
    }
    else
    {
        
format(saidcharsmax(said), "^x01%s [ %s ] ^04%s ^x03%s ^x01: %s",
        
is_user_alive(id) ? "" "[MUERTO]",
        
playerTeam,
        
Rangos[g_rango[id]],
        
g_playername[id],
        
said);
    }

    for (
1<= g_maxplayersi++)
    {
        if (!
is_user_connected(i)) continue;
        
        if (
get_user_team(i) == playerTeam || get_user_flags(i) & CHAT_FLAG)
        {
            if (
is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i))
            {
                
get_user_team(iteamcharsmax(team));
                
changeTeamInfo(icolor);
                
writeMessage(isaid);
                
changeTeamInfo(iteam);
            }
        }
    }

    return 
PLUGIN_HANDLED_MAIN;
}

public 
changeTeamInfo(playerteam[])
{
    static 
g_msgTeamInfo;
    if(!
g_msgTeamInfog_msgTeamInfo get_user_msgid("TeamInfo");

    
message_begin(MSG_ONEg_msgTeamInfo_player);
    
write_byte(player);
    
write_string(team);
    
message_end();
}

public 
writeMessage(playermessage[])
{
    static 
g_msgSayText;
    if(!
g_msgSayTextg_msgSayText get_user_msgid("SayText");
    
    
message_begin(MSG_ONEg_msgSayText, {000}, player);
    
write_byte(player);
    
write_string(message);
    
message_end();
}

Guardar(id)
{    
    
formatex(szRangoscharsmax(szRangos), "%d %d"g_frags[id], g_rango[id]);
    
nfv_set_data(VaultRangoDB_keyg_playername[id], szRangos);
}

Cargar(id)
{
    new 
g_load_c1[25], g_load_c2[25];
    if(!
nfv_get_data(VaultRangoDB_keyg_playername[id], szRangoscharsmax(szRangos))) return; 

    
parse(szRangosg_load_c1charsmax(g_load_c1), g_load_c2charsmax(g_load_c2));

    
g_frags[id] = str_to_num(g_load_c1);
    
g_rango[id] = str_to_num(g_load_c2);


stock ValidMessage(text[], maxcount)
{
    static 
lenicountlen strlen(text);count 0;
    if (!
len) return false;
    
    for (
0leni++)
    {
        if (
text[i] != ' ')
        {
            
count++;
            if (
count >= maxcount) return true;
        }
    }
    return 
false;

Responder
#2
a ver si la capte a lo bien, digamos un VALANCE inicial X que con cada evento kill (muerte de cada player) se le sume una X cantidad de VALANCE

ejemplo en numero xd

valance actual: 5

el chueco killed -> panda
se suman 10 al valance

valance actual: 15

el chueco es el jugador con mas frags en esta ronda
se a gando 15 frags para su siguiente rango

algo asi dices, es lo que logre captar
[Imagen: 76561197965283388.png]
Responder
#3
si eso mismo, en un servidor lo vi asi

(01/04/2020, 12:41 AM)lol.- escribió: a ver si la capte a lo bien, digamos un VALANCE inicial X que con cada evento kill (muerte de cada player) se le sume una X cantidad de VALANCE

ejemplo en numero xd

valance actual: 5

el chueco killed -> panda
se suman 10 al valance

valance actual: 15

el chueco es el jugador con mas frags en esta ronda
se a gando 15 frags para su siguiente rango

algo asi dices, es lo que logre captar
Responder
#4
la verdad dudo que te ayuden con el robo de autor que has marcado

Código PHP:
register_plugin("Nivel"VERSION"Majestick12 / https://www.facebook.com/Majestick12/"); 
[Imagen: 76561197965283388.png]
Responder
#5
ASQUEROSO HDP
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#6
Si lograste crear todo este plugin no te debe costar modificarlo para poner eso
“Quien te quiere en su vida, volverá a buscarte”
Qué frase más estúpida
Porque quien te quiere en su vida, jamás se iría.
Responder
#7
(01/04/2020, 02:05 AM)HK-416 escribió: Si lograste crear todo este plugin no te debe costar modificarlo para poner eso

RoflmaoRoflmao
Estoy cansado de este sufrimiento llamado vivir en Venezuela
Okay
Responder
#8
(01/04/2020, 02:05 AM)HK-416 escribió: Si lograste crear todo este plugin no te debe costar modificarlo para poner eso

No lo cree, solo lo compile la informacion esta cambiada por tema que no soy la unica persona que manipula los archivos del servidor, y le cambio toda la informacion por un tema de poca confianza en la gente que opera la vps normalmente seteo la informacion cambiando todo por author o dejando sin links si te fijas en la linea mas arriba no le setee ninguna informacion
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)