13/07/2018, 03:26 PM
Hola, me gustaría saber cómo le hago un sistema de guardado a éste plugin, me dicen qué debo añadirle?
Código PHP:
#include <amxmodx>
#include <hamsandwich>
new const PLUGIN[] = "Sistema de Logros"
new const VERSION[] = "1.0"
new const AUTHOR[] = "AGustiN"
new const TAG[] = "[AMXX]"
new g_TTKills[33], g_CTKills[33], g_puntos[33]
enum _:LOGRITOS
{
DESCRIPCION[33],
KILLS,
GANANCIA
}
new const LOGROSCT[][LOGRITOS] =
{
{"Matando Algunos TT", 2, 1},
{"Depredador de TT", 5, 2},
{"Deborador de TT", 7, 3},
{"Soy Aniquilador", 10, 4},
{"Soy un Depredador", 15, 5},
{"Me declaro Asesino", 17, 6},
{"Me gusta mi trabajo", 20, 7},
{"Alimentador de plomo", 25, 8},
{"Asesino serial", 25, 8},
{"Asesino perfecto", 30, 10},
{"Psicopata", 35, 11},
{"Demente", 37, 12},
{"Los TT corren de mi", 40, 13}
}
new const LOGROSTT[][LOGRITOS] =
{
{"Matando Algunos CT", 2, 1},
{"Depredador de CT", 5, 2},
{"Deborador de CT", 7, 3},
{"Soy Aniquilador", 10, 4},
{"Soy un Depredador", 15, 5},
{"Me declaro Asesino", 17, 6},
{"Me gusta mi trabajo", 20, 7},
{"Alimentador de plomo", 25, 8},
{"Asesino serial", 25, 8},
{"Asesino perfecto", 30, 10},
{"Psicopata", 35, 11},
{"Demente", 37, 12},
{"Los CT corren de mi", 40, 13}
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say /logros","LogrosMenu")
RegisterHam(Ham_Killed, "player", "fw_Killed", 1)
}
public client_putinserver(id)
{
g_TTKills[id] = 0
g_CTKills[id] = 0
}
public fw_Killed(victim, attacker)
{
if(get_user_team(attacker) == get_user_team(victim) || attacker == victim) return;
switch(get_user_team(victim)) {
case 1: g_TTKills[attacker]++
case 2: g_CTKills[attacker]++
}
checklogro(attacker)
}
public LogrosMenu(id)
{
switch(get_user_team(id)) {
case 1: LOGROSTTS(id)
case 2: LOGROSCTS(id)
}
return PLUGIN_HANDLED
}
public LOGROSCTS(id)
{
new szText[100]
new menu = menu_create("Logros CT", "LOGROSHandCT")
for(new i = 0; i < sizeof(LOGROSCT); i++) {
formatex(szText, charsmax(szText), "%s %s", LOGROSCT[i][DESCRIPCION], g_TTKills[id] >= LOGROSCT[i][KILLS]? "[COMPLETADO]" : "")
menu_additem(menu, szText, _, _, menu_makecallback("LogradoCT"))
}
menu_setprop(menu, MPROP_BACKNAME, "Atras")
menu_setprop(menu, MPROP_NEXTNAME, "Siguiente")
menu_setprop(menu, MPROP_EXITNAME, "Salir")
menu_display(id, menu, 0)
}
public LOGROSTTS(id)
{
new szText[100];
new menu = menu_create("Logros TT","LOGROSHandTT")
for(new i = 0; i < sizeof(LOGROSTT); i++) {
formatex(szText, charsmax(szText), "%s %s", LOGROSTT[i][DESCRIPCION], g_CTKills[id] >= LOGROSTT[i][KILLS]? "[COMPLETADO]" : "")
menu_additem(menu, szText, _, _, menu_makecallback("LogradoTT"))
}
menu_setprop(menu, MPROP_BACKNAME, "Atras")
menu_setprop(menu, MPROP_NEXTNAME, "Siguiente")
menu_setprop(menu, MPROP_EXITNAME, "Salir")
menu_display(id, menu, 0)
}
public checklogro(id)
{
switch(get_user_team(id))
{
case 1: {
for(new i = 0; i < sizeof(LOGROSTT); i++) {
if(g_CTKills[id] == LOGROSTT[i][KILLS]) {
client_print(id, print_chat, "%s Completaste el logro: %s ", TAG, LOGROSTT[i][DESCRIPCION])
client_print(id, print_chat, "%s Ganaste %d punto%s ", TAG, LOGROSTT[i][GANANCIA], LOGROSTT[i][GANANCIA] == 1 ? "" : "s")
g_puntos[id] += LOGROSTT[i][GANANCIA]
}
}
}
case 2: {
for(new i = 0; i < sizeof(LOGROSCT); i++) {
if(g_TTKills[id] == LOGROSCT[i][KILLS ]) {
client_print(id, print_chat, "%s Completaste el logro: %s", TAG, LOGROSCT[i][DESCRIPCION])
client_print(id, print_chat, "%s Ganaste %d punto%s ", TAG, LOGROSCT[i][GANANCIA], LOGROSCT[i][GANANCIA] == 1 ? "" : "s")
g_puntos[id] += LOGROSCT[i][GANANCIA]
}
}
}
}
}
public LOGROSHandCT(id, menu, item)
{
new szText[150]; formatex(szText, charsmax(szText), "\yLogros CT^n\dTT Kills:\y %d^n^n\yDESCRIPCION:^n\dMatar a\y %d\d TT^nGanancia \y%d\d punto%s^n^n^n", g_TTKills[id], LOGROSCT[item][KILLS], LOGROSCT[item][GANANCIA], LOGROSCT[item][GANANCIA] == 1 ? "" : "s")
new menu = menu_create(szText,"LOGROSHandTTCT")
menu_additem(menu, "Salir")
menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER)
menu_display(id, menu, 0)
}
public LOGROSHandTT(id, menu, item)
{
new szText[150]; formatex(szText, charsmax(szText), "\yLogros TT^n\dCT Kills:\y %d^n^n\yDESCRIPCION:^n\dMatar a\y %d\d CT^nGanancia \y%d\d punto%s^n^n^n", g_CTKills[id], LOGROSTT[item][KILLS], LOGROSCT[item][GANANCIA], LOGROSTT[item][GANANCIA] == 1 ? "" : "s")
new menu = menu_create(szText,"LOGROSHandTTCT")
menu_additem(menu, "Salir")
menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER)
menu_display(id, menu, 0)
}
public LOGROSHandTTCT(id, menu, item) menu_destroy(menu)
public LogradoCT(id, menu, item)
return g_TTKills[id] >= LOGROSCT[item][KILLS] ? ITEM_DISABLED : ITEM_ENABLED
public LogradoTT(id, menu, item)
return g_CTKills[id] >= LOGROSTT[item][KILLS] ? ITEM_DISABLED : ITEM_ENABLED