Mensajes: 98
Temas: 35
Registro en: Mar 2017
Reputación:
0
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
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
31/07/2017, 08:36 PM
(Última modificación: 31/07/2017, 08:37 PM por kikizon2.)
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 fS, fM, fV, gV;
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(index, name, 31);
if(adv_vault_get_prepare(gV, _, name)) { gS[index] = adv_vault_get_field(gV, fS); gM[index] = adv_vault_get_field(gV, fM); VariableASumar[index] = adv_vault_get_field(gV, fV); }
set_task(1.0, "myFunc", index+TASK_KK, .flags="b" ); } public client_disconnect(index) { new name[32]; get_user_name(index, name, 31);
adv_vault_set_start(gV); adv_vault_set_field(gV, fS, gS[index]); adv_vault_set_field(gV, fM, gM[index]); adv_vault_set_field(gV, fV, VariableASumar[index]); adv_vault_set_end(gV, 0, name);
remove_task(index+TASK_KK); }
public myFunc( task_id ) { static index; index = task_id - TASK_KK;
if( ++gS[index] > 59 ) { gS[index] = 0; if( ++gM[index] >= MINUTES ) { gM[index] = 0;
// Sumamos la variable ++VariableASumar[index]; } } }
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 98
Temas: 35
Registro en: Mar 2017
Reputación:
0
Muchas gracias!! si funciono perfecto
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
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
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 fS, fM, fV, gV;
new const CTModel[] = "mymodelct"; new const TRModel[] = "mymodeltr";
public plugin_precache() { new szBuffer[128]; formatex(szBuffer, 127, "models/player/%s/%s.mdl", CTModel, CTModel); precache_model(szBuffer); formatex(szBuffer, 127, "models/player/%s/%sT.mdl", CTModel, CTModel); if( file_exists(szBuffer)) precache_model(szBuffer); formatex(szBuffer, 127, "models/player/%s/%s.mdl", TRModel, TRModel); precache_model(szBuffer); formatex(szBuffer, 127, "models/player/%s/%sT.mdl", TRModel, TRModel); 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(index, name, 31);
if(adv_vault_get_prepare(gV, _, name)) { gS[index] = adv_vault_get_field(gV, fS); gM[index] = adv_vault_get_field(gV, fM); VariableASumar[index] = adv_vault_get_field(gV, fV); }
set_task(1.0, "myFunc", index+TASK_KK, .flags="b" ); } public client_disconnect(index) { new name[32]; get_user_name(index, name, 31);
adv_vault_set_start(gV); adv_vault_set_field(gV, fS, gS[index]); adv_vault_set_field(gV, fM, gM[index]); adv_vault_set_field(gV, fV, VariableASumar[index]); adv_vault_set_end(gV, 0, name);
remove_task(index+TASK_KK); }
public myFunc( task_id ) { static index; index = 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_model( CTModel ); else if( tea, == CS_TEAM_T ) cs_set_user_model(TRModel); } } }
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 98
Temas: 35
Registro en: Mar 2017
Reputación:
0
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
Mensajes: 6
Temas: 1
Registro en: Dec 2017
Reputación:
0
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
Mensajes: 2,870
Temas: 13
Registro en: Oct 2013
Reputación:
24
27/12/2018, 08:56 PM
(Última modificación: 27/12/2018, 08:57 PM por [R]ak.)
(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
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(PLUGIN, VERSION, AUTHOR) }
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
Mensajes: 6
Temas: 1
Registro en: Dec 2017
Reputación:
0
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(0, Azul, "!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
|