Mensajes: 811
Temas: 99
Registro en: Jun 2019
Reputación:
8
21/03/2020, 06:55 PM
Buenas! Bueno paso por aquí para ver si alguien me pasa el plugin de top tiempo, me explico es un plugin donde hay un top de las personas que han durado más tiempo en el servidor, ejemplo *HE JUGADO 2 HORAS* y los demás usuarios han jugado 1 hora, obviamente que yo aparezca de primero porque llevo mas horas acumuladas, si alguien me lo pasa se lo agradezco mucho.
I dream of someday being able to have your near.
Mensajes: 3,077
Temas: 33
Registro en: May 2017
Reputación:
34
Cuando llegue a casa si tengo ganas lo hago ekis de
Mensajes: 811
Temas: 99
Registro en: Jun 2019
Reputación:
8
(21/03/2020, 08:38 PM)Chema escribió: Cuando llegue a casa si tengo ganas lo hago ekis de
¿Enserio?
I dream of someday being able to have your near.
Mensajes: 106
Temas: 16
Registro en: Sep 2019
pasa el sistema yo te lo adapto a mi top
Mensajes: 811
Temas: 99
Registro en: Jun 2019
Reputación:
8
(22/03/2020, 01:47 PM)miguel za escribió: pasa el sistema yo te lo adapto a mi top
No tengo el sistema, estoy pidiendo TODO.
I dream of someday being able to have your near.
Mensajes: 101
Temas: 24
Registro en: Nov 2016
Reputación:
0
Mensajes: 3,077
Temas: 33
Registro en: May 2017
Reputación:
34
(22/03/2020, 01:47 PM)miguel za escribió: pasa el sistema yo te lo adapto a mi top
Que ganas de robar código que tenes pibe...
Mensajes: 811
Temas: 99
Registro en: Jun 2019
Reputación:
8
(22/03/2020, 02:35 PM)RomeL escribió: https://amxmodx-es.com/Thread-Contador-De-Tiempo
Ese plugin funciona, pero no es como yo lo quiero.
I dream of someday being able to have your near.
Mensajes: 1,040
Temas: 89
Registro en: Jun 2015
Reputación:
21
Código PHP: #include <amxmodx> #include <hamsandwich> #include <adv_vault>
#define PLUGIN "Contador de Tiempo + TOP" #define VERSION "1.0.0-125" #define AUTHOR "HK-416"
#define TASK_TIEMPO 2020 #define DB "db_tiempo"
enum { campo_seg = 0, campo_max }
new g_segundos[33]; new g_nombre[33][32]; new g_campo[campo_max]; new g_vault; new g_sort;
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_clcmd("say /tiempo", "clcmd_tiempo"); register_clcmd("say /topo", "clcmd_show_top"); g_vault = adv_vault_open(DB, false); g_campo[campo_seg] = adv_vault_register_field(g_vault, "segundos"); adv_vault_init(g_vault); g_sort = adv_vault_sort_create(g_vault, ORDER_DESC, 60, 100, g_campo[campo_seg]) RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 0); }
public client_putinserver(index) { get_user_name(index, g_nombre[index], 31); cargar(index); set_task(1.0, "tiempo", index+TASK_TIEMPO,_,_,"b"); }
public client_disconnect(index) { if (task_exists(index+TASK_TIEMPO)) { remove_task(index+TASK_TIEMPO); guardar(index); } }
public fw_PlayerSpawn_Post(index) { if (is_user_bot(index) || !is_user_connected(index)) return; guardar(index) }
public clcmd_tiempo(index) { static horas, minutos, seg_total; seg_total = g_segundos[index];
horas = (g_segundos[index] / 3600); seg_total -= (horas * 3600);
minutos = (seg_total / 60) seg_total -= (minutos * 60) client_print(index, print_chat, "[AMXX] Jugaste durante %d Hora%s, %d Minuto%s y %d Segundo%s", horas, horas > 1 ? "s":"", minutos, minutos > 1 ? "s":"", seg_total, seg_total> 1 ? "s":""); }
public tiempo(index) { index -= TASK_TIEMPO; g_segundos[index] ++; }
public clcmd_show_top(index) { new maxtop, keyindex, seg, minu, hora, szName[32], menu, txt[200], pos[50]; maxtop = min(adv_vault_sort_numresult(g_vault, g_sort), 15); menu_create("Top 15 (Tiempo)", "hand_top"); for(new i=1; i <= maxtop; i++) { keyindex = adv_vault_sort_position(g_vault, g_sort, i); if(!adv_vault_get_prepare(g_vault, keyindex)) continue; seg = adv_vault_get_field(g_vault, g_campo[campo_seg]); adv_vault_get_keyname(g_vault, keyindex, szName, 31); hora = (seg / 3600); seg -= (hora * 3600); minu = (seg / 60); seg -= (minu * 60); formatex(txt, charsmax(txt), "[%d] | %s (%d H | %d M | %d S)", i, szName, hora, minu, seg); num_to_str(i, pos, charsmax(pos)) menu_additem(menu, txt, pos); } menu_setprop(menu, MPROP_NEXTNAME, "Siguiente") menu_setprop(menu, MPROP_BACKNAME, "Atras") menu_setprop(menu, MPROP_EXITNAME, "Salir") menu_display(index, menu, 0); }
public hand_top(index, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED; } return PLUGIN_HANDLED; }
public guardar(index) { adv_vault_set_start(g_vault); adv_vault_set_field(g_vault, g_campo[campo_seg], g_segundos[index]); adv_vault_set_end(g_vault, 0, g_nombre[index]); }
public cargar(index) { if(!adv_vault_get_prepare(g_vault, _, g_nombre[index])) { g_segundos[index] = 0; return; } g_segundos[index] = adv_vault_get_field(g_vault, g_campo[campo_seg]); }
“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.
Mensajes: 811
Temas: 99
Registro en: Jun 2019
Reputación:
8
(23/03/2020, 01:00 AM)HK-416 escribió: Código PHP: #include <amxmodx> #include <hamsandwich> #include <adv_vault>
#define PLUGIN "Contador de Tiempo + TOP" #define VERSION "1.0.0-125" #define AUTHOR "HK-416"
#define TASK_TIEMPO 2020 #define DB "db_tiempo"
enum { campo_seg = 0, campo_max }
new g_segundos[33]; new g_nombre[33][32]; new g_campo[campo_max]; new g_vault; new g_sort;
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_clcmd("say /tiempo", "clcmd_tiempo"); register_clcmd("say /topo", "clcmd_show_top"); g_vault = adv_vault_open(DB, false); g_campo[campo_seg] = adv_vault_register_field(g_vault, "segundos"); adv_vault_init(g_vault); g_sort = adv_vault_sort_create(g_vault, ORDER_DESC, 60, 100, g_campo[campo_seg]) RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 0); }
public client_putinserver(index) { get_user_name(index, g_nombre[index], 31); cargar(index); set_task(1.0, "tiempo", index+TASK_TIEMPO,_,_,"b"); }
public client_disconnect(index) { if (task_exists(index+TASK_TIEMPO)) { remove_task(index+TASK_TIEMPO); guardar(index); } }
public fw_PlayerSpawn_Post(index) { if (is_user_bot(index) || !is_user_connected(index)) return; guardar(index) }
public clcmd_tiempo(index) { static horas, minutos, seg_total; seg_total = g_segundos[index];
horas = (g_segundos[index] / 3600); seg_total -= (horas * 3600);
minutos = (seg_total / 60) seg_total -= (minutos * 60) client_print(index, print_chat, "[AMXX] Jugaste durante %d Hora%s, %d Minuto%s y %d Segundo%s", horas, horas > 1 ? "s":"", minutos, minutos > 1 ? "s":"", seg_total, seg_total> 1 ? "s":""); }
public tiempo(index) { index -= TASK_TIEMPO; g_segundos[index] ++; }
public clcmd_show_top(index) { new maxtop, keyindex, seg, minu, hora, szName[32], menu, txt[200], pos[50]; maxtop = min(adv_vault_sort_numresult(g_vault, g_sort), 15); menu_create("Top 15 (Tiempo)", "hand_top"); for(new i=1; i <= maxtop; i++) { keyindex = adv_vault_sort_position(g_vault, g_sort, i); if(!adv_vault_get_prepare(g_vault, keyindex)) continue; seg = adv_vault_get_field(g_vault, g_campo[campo_seg]); adv_vault_get_keyname(g_vault, keyindex, szName, 31); hora = (seg / 3600); seg -= (hora * 3600); minu = (seg / 60); seg -= (minu * 60); formatex(txt, charsmax(txt), "[%d] | %s (%d H | %d M | %d S)", i, szName, hora, minu, seg); num_to_str(i, pos, charsmax(pos)) menu_additem(menu, txt, pos); } menu_setprop(menu, MPROP_NEXTNAME, "Siguiente") menu_setprop(menu, MPROP_BACKNAME, "Atras") menu_setprop(menu, MPROP_EXITNAME, "Salir") menu_display(index, menu, 0); }
public hand_top(index, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED; } return PLUGIN_HANDLED; }
public guardar(index) { adv_vault_set_start(g_vault); adv_vault_set_field(g_vault, g_campo[campo_seg], g_segundos[index]); adv_vault_set_end(g_vault, 0, g_nombre[index]); }
public cargar(index) { if(!adv_vault_get_prepare(g_vault, _, g_nombre[index])) { g_segundos[index] = 0; return; } g_segundos[index] = adv_vault_get_field(g_vault, g_campo[campo_seg]); }
Gracias HK-416
I dream of someday being able to have your near.
|