Ronda de evento (v1.1).
#1
[Imagen: 6a4637fd047947cfbf97039dee383cd2.png]

Este plugin consiste en lanzar una ronda de evento al iniciar una ronda que da un premio en "pts" (o su moneda), al que haya matado mas durante dicho evento, es adaptable a cualquier modo que tenga algún sistema "x/y".

Es obligatorio modificar la variable "pts[33]" por su variable de su sistema o removerlo en caso de tener algo relacionado por natives.

v1.0 (Linea 13 & 46)
v1.1 (Linea 11 & 63)

Codigo

v1.1
Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>

new bool:fRoundActive

new g_iMaxPlayersg_iCreateHud[2], g_iName[33], Frags[33], iIndexBonus

/* Supongamos que tu moneda sea "pts" */

new pts[33]

/* ================================== */

#define MIN    1    // Minimo de "pts"
#define MAX    2    // Maximo de "pts"
#define LIMIT    100    // Limite de "pts"

#define PLAYERS    6    // Jugadores necesitados

#define TASK    56465

public plugin_init()
{
    
register_plugin("OsweRRR""1.1""Ronda de evento")
    
    
register_event("HLTV""Round_Start""a""1=0""2=0")
    
register_logevent("RoundEnd"2"1=Round_End")
    
    
register_event("DeathMsg""RegisterDeath""a")
    
    
g_iMaxPlayers get_maxplayers();
    
g_iCreateHud[0] = CreateHudSyncObj();
    
g_iCreateHud[1] = CreateHudSyncObj();
}

public 
RegisterDeath()
{
    new 
read_data(1)
    new 
read_data(2)
    
    if(!
is_user_connected(k) || is_user_connected(v) && == v)
        return
    
    if(
fRoundActive)
        
Frags[k] += 1
}

public 
RoundEnd()
{
    if(
fRoundActive)
    {
        
remove_task(TASK)
        
fRoundActive false
        
        
if(equali(g_iName"Nadie"))
        {
            
Bonus 0
            client_print
(0print_chat"Nadie pudo ganar la ronda de evento.")
        }
        else
        {
            
pts[iIndex] += Bonus // <- Suponiendo que tu moneda es "pts"
            
client_print(0print_chat"%s Gano el evento y se lleva el premio de %d pts."g_iNameBonus)
            
            
Bonus 0
            arrayset
(Frags033)
        }
    }
    
    if(
get_playersnum() < PLAYERS)
        return
    
    new 
i[2]
    
    
i[0] = random_num(03)
    
i[1] = random_num(03)
    
    if(
i[0] == i[1])
        
fRoundActive true
}

public 
Round_Start()
{
    if(
task_exists(TASK))
    {
        
fRoundActive false
        remove_task
(TASK)
    }
    
    if(
fRoundActive)
    {
        
Bonus 0
        arrayset
(Frags033)
        
        
set_task(1.0"HudEvent"TASK, .flags="b")
        
client_print(0print_chat"Inicio la ronda de evento, Ganas si tienes mas asesinatos.")
    }
}

public 
HudEvent()
{
    for(new 
1<= g_iMaxPlayersi++)
    {
        if(!
is_user_connected(i))
            continue;
        
        if(
Frags[iIndex] <= Frags[i])
            
iIndex i
    
}
    
    
get_user_name(iIndexg_iNamecharsmax(g_iName))
    
    if(
Bonus LIMIT)
        
Bonus += random_num(MINMAX)
    
    if(
Frags[iIndex] == 0)
        
format(g_iNamecharsmax(g_iName), "Nadie")
    
    
set_hudmessage(02550, -1.00.0216.01.0)
    
ShowSyncHudMsg(0g_iCreateHud[0], "Jugador que esta Ganando")
    
    
set_hudmessage(255255255, -1.00.0506.01.0)
    
ShowSyncHudMsg(0g_iCreateHud[1], "[Frags: %i] @ %s^nPremio: %d pts."Frags[iIndex], g_iNameBonus)

v1.0
Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fun>
#include <cstrike>

new bool:fRoundActive

new g_iMaxPlayersg_iCreateHud[2], g_iName[33], FragsiIndexBonus

/* Supongamos que tu moneda sea "pts" */

new pts[33]

/* ================================== */

const TASK 56465

public plugin_init()
{
    
register_plugin("OsweRRR""1.0""Ronda de evento")
    
    
register_event("HLTV""Round_Start""a""1=0""2=0")
    
    
register_logevent("RoundEnd"2"1=Round_End")
    
    
g_iMaxPlayers get_maxplayers();
    
g_iCreateHud[0] = CreateHudSyncObj();
    
g_iCreateHud[1] = CreateHudSyncObj();
}

public 
RoundEnd()
{
    if(
fRoundActive)
    {
        
remove_task(TASK)
        
fRoundActive false
        
        
if(equali(g_iName"Nadie"))
        {
            
Bonus 0
            client_print
(0print_chat"Nadie pudo ganar la ronda de evento.")
        }
        else
        {
            
pts[iIndex] += Bonus // <- Suponiendo que tu moneda es "pts"
            
client_print(0print_chat"%s Gano el evento y se lleva el premio de %d pts."g_iNameBonus)
            
            
Bonus 0
        
}
    }
    
    if(
get_playersnum() < 6)
        return
    
    new 
i[2]
    
    
i[0] = random_num(03)
    
i[1] = random_num(03)
    
    if(
i[0] == i[1])
    {
        
fRoundActive true
        
        
for(new 1<= g_iMaxPlayersi++)
        {
            if(!
is_user_connected(i))
                continue;
            
            
set_user_frags(i0)
            
cs_set_user_deaths(i0)
            
set_user_frags(i0)
            
cs_set_user_deaths(i0)
        }
    }
}

public 
Round_Start()
{
    if(
task_exists(TASK))
    {
        
fRoundActive false
        remove_task
(TASK)
    }
    
    if(
fRoundActive)
    {
        
Bonus 0
        
        set_task
(1.0"HudEvent"TASK, .flags="b")
        
client_print(0print_chat"Inicio la ronda de evento, Ganas si tienes mas asesinatos.")
    }
}

public 
HudEvent()
{
    for(new 
1<= g_iMaxPlayersi++)
    {
        if(!
is_user_connected(i))
            continue;
        
        if(
get_user_frags(iIndex) <= get_user_frags(i))
            
iIndex i
    
}
    
    
Frags get_user_frags(iIndex)
    
get_user_name(iIndexg_iNamecharsmax(g_iName))
    
Bonus += random_num(15)
    
    if(
Frags == 0)
        
format(g_iNamecharsmax(g_iName), "Nadie")
    
    
set_hudmessage(02550, -1.00.0216.01.0)
    
ShowSyncHudMsg(0g_iCreateHud[0], "Jugador que esta Ganando")
    
    
set_hudmessage(255255255, -1.00.0506.01.0)
    
ShowSyncHudMsg(0g_iCreateHud[1], "[Frags: %i] @ %s^nPremio: %d pts."Fragsg_iNameBonus)


Feliz navidad Pepe
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

(18/11/2014, 05:47 PM)Neeeeeeeeeel.- escribió: Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.

(16/05/2016, 11:08 PM)kikizon2 escribió: No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
Responder
#2
Código PHP:
register_plugin("OsweRRR""1.0""Ronda de evento"

khaaaa pacman
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#3
(24/12/2016, 03:52 AM)kikizon2 escribió:
Código PHP:
register_plugin("OsweRRR""1.0""Ronda de evento"

khaaaa pacman

JAAJAJAJAJ.
Lindo aporte!
Responder
#4
(24/12/2016, 03:52 AM)kikizon2 escribió:
Código PHP:
register_plugin("xdxdxdxd :v""1.0""Ronda de evento"

khaaaa pacman
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

(18/11/2014, 05:47 PM)Neeeeeeeeeel.- escribió: Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.

(16/05/2016, 11:08 PM)kikizon2 escribió: No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
Responder
#5
Perdon por la sumada de post. Pero no entendi esto por que lo repetis?

Código PHP:
for(new 1<= g_iMaxPlayersi++)
{
       if(!
is_user_connected(i))
         continue;
            
        
set_user_frags(i0)
        
cs_set_user_deaths(i0)
        
set_user_frags(i0)
        
cs_set_user_deaths(i0)

Responder
#6
Aveces se bugea y no reinicia los parametros.
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

(18/11/2014, 05:47 PM)Neeeeeeeeeel.- escribió: Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.

(16/05/2016, 11:08 PM)kikizon2 escribió: No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
Responder
#7
Good Job

Responder
#8
Y si pones 3 premios cada uno menos que el otro, así podrían haber 3 o 2 ganadores.

Aparte que se active todo el mapa :/
Responder
#9
#TheLove. Es aleatorio al terminar una ronda. i[1 & 2] le son asignados valores y si son iguales se activa la ronda de evento.
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

(18/11/2014, 05:47 PM)Neeeeeeeeeel.- escribió: Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.

(16/05/2016, 11:08 PM)kikizon2 escribió: No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
Responder
#10
No me parece bien poner de esa forma el Bonus...

Si el task se repite 60 veces, (60*5 = 300) suponiendo que el número al azar salió siempre en 5.. es demaciado puntos por un evento de 1 ronda, y capás salgan 2 eventos seguidos y vuelve a ganar la misma persona Oh god why
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#11
(24/12/2016, 08:48 PM)totopizza escribió: No me parece bien poner de esa forma el Bonus...

Si el task se repite 60 veces, (60*5 = 300) suponiendo que el número al azar salió siempre en 5.. es demaciado puntos por un evento de 1 ronda, y capás salgan 2 eventos seguidos y vuelve a ganar la misma persona Oh god why

Alli lo agregue en la v1.1, limite de jugadores, sumatoria maxima y minima del bonus, limite del bonus.

(24/12/2016, 12:15 PM)TheLove. escribió: Y si pones 3 premios cada uno menos que el otro, así podrían haber 3 o 2 ganadores.

Luego lo hago, ahora estamos en navidad.
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

(18/11/2014, 05:47 PM)Neeeeeeeeeel.- escribió: Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.

(16/05/2016, 11:08 PM)kikizon2 escribió: No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
Responder
#12
Un comando para activar y desactivarlo quedaria bien.
[Imagen: 76561198086476173.png]
Responder
#13
Pregunta, como hago para bajarle la posibilidad de evento? Osea que sea mas duradero el tiempo para el siguiente evento.
[Imagen: 76561198086476173.png]
Responder
#14
Eso es al azar en RoundEnd

Código PHP:
if(get_playersnum() < PLAYERS)
        return
    
    new 
i[2]
    
    
i[0] = random_num(03)
    
i[1] = random_num(03)
    
    if(
i[0] == i[1])
        
fRoundActive true


Simplemente cambia el 3 por un numero mas alto así la probabilidad de caer en una ronda sea escasa, de igual manera haré unos cambios en la próxima versión para ponerlo como un porcentaje.



(25/12/2016, 10:50 PM)joluis81 escribió: Un comando para activar y desactivarlo quedaria bien.

Ya no seria entonces una ronda de evento al azar xd
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

(18/11/2014, 05:47 PM)Neeeeeeeeeel.- escribió: Por qué necesitan una guía para todo? Meté mano y que salga lo que salga... es la mejor forma de aprender.

(16/05/2016, 11:08 PM)kikizon2 escribió: No cabe duda que tienen mierda en vez de cerebro, par de pendejos v:
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)