Dar 1 de algo tras X minutos jugados.
#1
holaa nuevamente, necesito ayuda, necesito un plugin donde al pasar 30 minutos (dentro del servidor obviamente) te de 1 de algo (cualquier variable eso creo que puedo manejarlo yo xd), pero por ejemplo, llevo 28 minutos, y me salgo del servidor y vuelvo, la idea es que esos 28 minutos se mantengan, me explico no? y cada 30 minutos sigo sumando 1 de X variable.

Gracias Excitedeyes
Responder
#2
Código PHP:
#include amxmodx
#include adv_vault

const TASK_KK 1124763;
const 
MINUTES 30// Minutos para que sume :V
new gS[33], gM[33];

new 
VariableASumar[33];

new 
fSfMfVgV;

public 
plugin_init()
{
    
register_plugin"La puta""Madre""Francisco");

    
gV adv_vault_open("datavar"false);
    
fS adv_vault_register_field(gV"secs");
    
fM adv_vault_register_field(gV"mins");
    
fV adv_vault_register_field(gV"la_var");
    
adv_vault_init(gV);
}
public 
client_putinserver(index)
{
    new 
name[32]; get_user_name(indexname31);

    if(
adv_vault_get_prepare(gV_name))
    {
        
gS[index] = adv_vault_get_field(gVfS);
        
gM[index] = adv_vault_get_field(gVfM);
        
VariableASumar[index] = adv_vault_get_field(gVfV);
    }

    
set_task(1.0"myFunc"index+TASK_KK, .flags="b" );
}
public 
client_disconnect(index)
{
    new 
name[32]; get_user_name(indexname31);

    
adv_vault_set_start(gV);
    
adv_vault_set_field(gVfSgS[index]);
    
adv_vault_set_field(gVfMgM[index]);
    
adv_vault_set_field(gVfVVariableASumar[index]);
    
adv_vault_set_end(gV0name);

    
remove_task(index+TASK_KK);
}

public 
myFunctask_id )
{
    static 
indexindex task_id TASK_KK;

    if( ++
gS[index] > 59 )
    {
        
gS[index] = 0;
        if( ++
gM[index] >= MINUTES )
        {
            
gM[index] = 0;

            
// Sumamos la variable
            
++VariableASumar[index];
        }
    }

[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
Muchas gracias!! si funciono perfecto Sonrisa

Una ultima duda, si yo necesito dar un model de la misma manera que doy esa Variable, como tendria que darlo? ejemplo si estoy en CT y para obtener cierto model automaticamente, necesito 1 hora jugada, al pasar los 60 minutos me da el model automaticamente (solo si soy CT) y si soy TT lo mismo pero con otro model, como lo podria hacer? muchas gracias nuevamente
Responder
#4
Código PHP:
#include amxmodx
#include adv_vault
#include cstrike
// Recomendaria la api de player models :whatever:

const TASK_KK 1124763;
const 
MINUTES 30// Minutos para que sume :V
new gS[33], gM[33];

new 
VariableASumar[33];

new 
fSfMfVgV;

new const 
CTModel[] = "mymodelct";
new const 
TRModel[] = "mymodeltr";

public 
plugin_precache()
{
    new 
szBuffer[128];
    
    
formatex(szBuffer127"models/player/%s/%s.mdl"CTModelCTModel);
    
precache_model(szBuffer);
    
    
formatex(szBuffer127"models/player/%s/%sT.mdl"CTModelCTModel);
    if( 
file_exists(szBuffer)) precache_model(szBuffer);
    
    
formatex(szBuffer127"models/player/%s/%s.mdl"TRModelTRModel);
    
precache_model(szBuffer);
    
    
formatex(szBuffer127"models/player/%s/%sT.mdl"TRModelTRModel);
    if( 
file_exists(szBuffer)) precache_model(szBuffer);
}

public 
plugin_init()
{
    
register_plugin"La puta""Madre""Francisco");

    
gV adv_vault_open("datavar"false);
    
fS adv_vault_register_field(gV"secs");
    
fM adv_vault_register_field(gV"mins");
    
fV adv_vault_register_field(gV"la_var");
    
adv_vault_init(gV);
}
public 
client_putinserver(index)
{
    new 
name[32]; get_user_name(indexname31);

    if(
adv_vault_get_prepare(gV_name))
    {
        
gS[index] = adv_vault_get_field(gVfS);
        
gM[index] = adv_vault_get_field(gVfM);
        
VariableASumar[index] = adv_vault_get_field(gVfV);
    }

    
set_task(1.0"myFunc"index+TASK_KK, .flags="b" );
}
public 
client_disconnect(index)
{
    new 
name[32]; get_user_name(indexname31);

    
adv_vault_set_start(gV);
    
adv_vault_set_field(gVfSgS[index]);
    
adv_vault_set_field(gVfMgM[index]);
    
adv_vault_set_field(gVfVVariableASumar[index]);
    
adv_vault_set_end(gV0name);

    
remove_task(index+TASK_KK);
}

public 
myFunctask_id )
{
    static 
indexindex task_id TASK_KK;

    if( ++
gS[index] > 59 )
    {
        
gS[index] = 0;
        if( ++
gM[index] >= MINUTES )
        {
            
gM[index] = 0;

            
// Sumamos la variable
            
++VariableASumar[index];

            new 
CsTeams:team cs_get_user_team(index);
            if( 
team == CS_TEAM_CT)
                
cs_set_user_modelCTModel );
            else if( 
tea, == CS_TEAM_T )
                
cs_set_user_model(TRModel);
        }
    }

[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
#5
Gracias kiki, funciona de maravillas, otra duda, si yo quisiese, que cada X horas, diese 1 model, y al pasar otras X horas, te diese otro model, como lo haria? gracias de antemano Sonrisa
Responder
#6
Kikin me puedes hacer uno adaptable es que soy medio novato en esto :/ por favor te lo agradeceria ... Osea que Cada 1 Hora te de 5 Coins :/ pero hay yo le pongo mi variable de mi Mod cachai te lo agradeceria mucho Sonrisa
Responder
#7
(27/12/2018, 08:12 PM)Electro2017 escribió: Kikin me puedes hacer uno adaptable es que soy medio novato en esto :/ por favor te lo agradeceria ... Osea que Cada 1 Hora te de 5 Coins :/ pero hay yo le pongo mi variable de mi Mod cachai te lo agradeceria mucho Sonrisa

Código PHP:
#include <amxmodx>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "[R]ak"

const Float:TASK_TIME 3600.0

const TASKID_GIVE 7727

new g_TUVARIABLE[33]

const 
TU_REWARD 5

public plugin_init() {
    
    
register_plugin(PLUGINVERSIONAUTHOR)
    
}

public 
client_putinserver(id) {
    
    
set_task(TASK_TIME"task_give"TASKID_GIVE+id, .flags "b")
    
}

public 
client_disconnect(id) {
    
    
remove_task(TASKID_GIVE+id)
    
}

public 
task_give(taskid) {
    
    
g_TUVARIABLE[taskid TASKID_GIVE] += TU_REWARD
    


3600.0 son segundos lo que da 1 hora
Hi Milashkasiya CrabCrab

Soy un #Panda.. Soy solo un tipo que parece #común pero soy todo lo contrario; alguien #atípico en esta sociedad actual

[Imagen: xl0jvd-5.png]
Link
Responder
#8
Muchas Gracias lo Adapte y le puse un Mensaje haber si funciona :3

Código PHP:
public task_give(taskid) {
    
    
g_coins[taskid TASKID_GIVE] += TU_REWARD
    ChatColor
(0Azul"!g%s !yPor Jugar 1 Hora Recibes !g%d Coins",g_PluginInfo[3], TU_REWARD)
    


Espero que este bien pero me compilo bien ahora a probar muchas gracias
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)