Zumbis Online
Últimos assuntos
» Hide Sheek Supply Box
por [Dk]Serial-Killer Hoje à(s) 9:03 pm

» (Ajuda) Thunder Quando Zombie Infecta!
por Biel-oGrande 16/10/2017, 7:29 am

» [UTILITARIO] Bot Fake Spectador
por Eclipse 15/10/2017, 2:21 pm

» [PEDIDO] Plugin Quiz
por N0th1ng 12/10/2017, 1:55 pm

» [ZP] Banco de Ammopacks
por mito 12/10/2017, 10:32 am

» (Ajuda) Colocar Inatividade no Bank!
por mito 3/10/2017, 10:57 pm

» [Plugin] Dropar Ammo Packs
por Biel-oGrande 3/10/2017, 10:06 am

» [WOZ] World Of Zombies - ZP 2017 *(O MELHOR ZP DO BRASIL)*
por mito 2/10/2017, 4:33 pm

» Prazer Mito :)
por mito 2/10/2017, 4:13 pm

» [Plugin ZP] Perguntas e Respostas
por cancels 30/9/2017, 1:15 pm

Frases filosóficas Zplague:
....
Os membros mais ativos da semana
[Dk]Serial-Killer
 
Biel-oGrande
 
mito
 

Adsense

[AJUDA]Sistema de Tickets

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[AJUDA]Sistema de Tickets

Mensagem por romulonp em 9/9/2013, 4:15 pm

Olá , eu tenho o sistema de Tickets do Forum postado pelo Slayer so que tem um problema no plugin que e a primeira versao ainda.

Qual e o problema ?
Os tickets nao estao sendo salvos corretamente.

Exemplo:
Eu jogo 1 mapa e ganho 50 tickets , mas nao troquei ainda porque estou deixando acumular , quando for para o proximo mapa ou ele vai estar no 0 ou vai estar com mais do que eu tinha tipo uns 100.

Eu queria saber se alguem saberia colocar os tickets para salvar pelo Nick dos jogadores , pela conta do banco nao sei ...

SMA :
Código:
#include <amxmodx>
#include <amxmisc>
#include <zombieplague>
#include <nvault>

new ticket[33];

new g_vault;
new szText[555 char]

public plugin_init() {
   // Registro do Plugin
   register_plugin("Cash", "1.0", "T.Armg");
   
   // Comando para aparecer o MENU
   register_clcmd("say /cash", "TicketCMD");
   
   // Comando para abrir a Vault
   // (Este eh o comando que nos fizemos agora pouco ali em cima)
   // Essencial para salvar os tickets
   g_vault = nvault_open("ticket_tutorial");
   
}

public SaveData(id)
{
   new AuthID[35];
   get_user_authid(id, AuthID, 34);
   
   new vaultkey[64], vaultdata[256];
   format(vaultkey,63,"%s-TicketTuto",AuthID);
   format(vaultdata,255,"%i#",ticket[id]);
   
   nvault_set(g_vault,vaultkey,vaultdata);
   
   return PLUGIN_CONTINUE;
   
}

public LoadData(id)
{
   new AuthID[35];
   get_user_authid(id, AuthID, 34);
   
   new vaultkey[64],vaultdata[256];
   format(vaultkey,63,"%s-TicketTuto",AuthID);
   format(vaultdata,255,"%i#",ticket[id]);
   
   nvault_get(g_vault,vaultkey,vaultdata,255);
   replace_all(vaultdata, 255, "#", " ");
   
   new tckt[32];
   parse(vaultdata, tckt, 31);
   
   ticket[id] = str_to_num(tckt);
   
   return PLUGIN_CONTINUE
   
}

public client_connect(id)
{
   LoadData(id)
}

public client_disconnect(id)
{
   remove_task(id)
   
   SaveData(id)
}
public client_putinserver(id)
{
   set_task(180.0, "TicketADD", id, _, _, "b") // A Cada 3 Segundos
}
public TicketADD(id)
{
   ticket[id]++ // Adicionar mais um ticket (se voce quiser adicionar mais de um coloque ticket[id] += 5)
   client_print(id, print_chat, "Voce ganhou um Cash, Voce ganha um Cash a cada 3 Minutos ! Digite /cash ") // Mensagem de quando ganha um ticket
   
   SaveData(id) // Salvar o ticket que ganhou
}
public TicketCMD(id)
{
   formatex(szText, charsmax(szText), "Menu de Cash's^n\wSaldo de Cash: \y%i", ticket[id]);
   new menu = menu_create(szText, "tickshandl")
   //new menu = menu_create("Menu de Cash's^n\wSaldo de Cash: \y%i", "tickshandl", ticket[id]);
   
   menu_additem(menu, "Trocar 10 Cash's por 10 Ammo Packs", "1", 0);
   menu_additem(menu, "Trocar 20 Cash's por 20 Ammo Packs", "2", 0);
   menu_additem(menu, "Trocar 30 Cash's por 30 Ammo Packs", "3", 0);
   menu_additem(menu, "Trocar 40 Cash's por 40 Ammo Packs", "4", 0);
   menu_additem(menu, "Trocar 40 Cash's por 50 Ammo Packs", "5", 0);
   menu_additem(menu, "Trocar 80 Cash's por 100 Ammo Packs", "6", 0);
   menu_additem(menu, "Trocar 100 Cash's por 150 Ammo Packs", "7", 0);
   
   menu_setprop(menu, MPROP_EXITNAME, "Sair");
   menu_display(id, menu, 0);
}
public tickshandl(id, menu, item)
{
   if(item == MENU_EXIT)
   {
      menu_destroy(menu)
      return PLUGIN_HANDLED
   }
   
   new data[6], iName[64]
   new access, callback
   
   menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)
   
   new user_ammo = zp_get_user_ammo_packs(id);
   
   switch(str_to_num(data))
   {
      case 1:
      {
         if(is_user_alive(id)) {
            if(ticket[id] < 5) {
               client_print(id, print_chat, "Voce nao tem Cash suficiente")
               return PLUGIN_HANDLED;
               } else {
               zp_set_user_ammo_packs(id, user_ammo+10);
               ticket[id] -= 10;
            }
         }
      }
      case 2:
      {
         if(is_user_alive(id)) {
            if(ticket[id] < 10) {
               client_print(id, print_chat, "Voce nao tem Cash suficiente")
               return PLUGIN_HANDLED;
               } else {
               zp_set_user_ammo_packs(id, user_ammo+20);
               ticket[id] -= 20;
            }
         }
      }
      case 3:
      {
         if(is_user_alive(id)) {
            if(ticket[id] < 15) {
               client_print(id, print_chat, "Voce nao tem Cash suficiente")
               return PLUGIN_HANDLED;
               } else {
               zp_set_user_ammo_packs(id, user_ammo+30);
               ticket[id] -= 30;
            }
         }
      }
      case 4:
      {
         if(is_user_alive(id)) {
            if(ticket[id] < 20) {
               client_print(id, print_chat, "Voce nao tem Cash suficiente")
               return PLUGIN_HANDLED;
               } else {
               zp_set_user_ammo_packs(id, user_ammo+40);
               ticket[id] -= 40;
            }
         }
      }
      case 5:
      {
         if(is_user_alive(id)) {
            if(ticket[id] < 25) {
               client_print(id, print_chat, "Voce nao tem Cash suficiente")
               return PLUGIN_HANDLED;
               } else {
               zp_set_user_ammo_packs(id, user_ammo+50);
               ticket[id] -= 40;
            }
         }
      }
      case 6:
      {
         if(is_user_alive(id)) {
            if(ticket[id] < 80) {
               client_print(id, print_chat, "Voce nao tem Cash suficiente")
               return PLUGIN_HANDLED;
               } else {
               zp_set_user_ammo_packs(id, user_ammo+100);
               ticket[id] -= 80;
            }
         }
      }
      case 7:
      {
         if(is_user_alive(id)) {
            if(ticket[id] < 100) {
               client_print(id, print_chat, "Voce nao tem Cash suficiente")
               return PLUGIN_HANDLED;
               } else {
               zp_set_user_ammo_packs(id, user_ammo+150);
               ticket[id] -= 100;
            }
         }
      }
      
      case 8:
      {
         TicketCMD(id)
      }
   }
   
   menu_destroy(menu)
   return PLUGIN_HANDLED
}
OBS: Essa SMA ja foi editada para que o saldo de Cash's aparece-se no lugar correto e nao ocupando 1 espaço no Menu , aconselho quem for usar o sistema , usar essa SMA.


Última edição por [P]erfec[T] [S]cr[@]s[H] em 9/9/2013, 4:23 pm, editado 1 vez(es) (Razão : Ajeitando as includes)
avatar
romulonp
Humano
Humano

Nick : Dii-Menor
Masculino Número de Mensagens : 223
Ammo Packs : 1987
Honra : 0
Data de inscrição : 18/04/2012

Ver perfil do usuário suportebetakillers

Voltar ao Topo Ir em baixo

Re: [AJUDA]Sistema de Tickets

Mensagem por Leozinho em 9/9/2013, 4:18 pm

Posta sma do banco ou me manda por mp que quando chegar em casa eu vejo o que faço.

____________________________________________

avatar
Leozinho
Administrador
Administrador

Masculino Número de Mensagens : 2856
Ammo Packs : 2820
Honra : 75
Data de inscrição : 20/11/2011

Ver perfil do usuário leozinho.zp

Voltar ao Topo Ir em baixo

Re: [AJUDA]Sistema de Tickets

Mensagem por hackingzm em 9/9/2013, 4:19 pm

Vlw por avisa eu tenho ela e nao sabia desse negocio ! se vc consiguir arruma ela passa para mim (=
avatar
hackingzm
Humano
Humano

Masculino Número de Mensagens : 222
Ammo Packs : 1450
Honra : -16
Data de inscrição : 15/08/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [AJUDA]Sistema de Tickets

Mensagem por hackingzm em 9/9/2013, 4:20 pm

Leozinho escreveu:Posta sma do banco ou me manda por mp que quando chegar em casa eu vejo o que faço.
tem como se arruma ela pramim leo?
avatar
hackingzm
Humano
Humano

Masculino Número de Mensagens : 222
Ammo Packs : 1450
Honra : -16
Data de inscrição : 15/08/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [AJUDA]Sistema de Tickets

Mensagem por romulonp em 9/9/2013, 4:21 pm

Leozinho escreveu:Posta sma do banco ou me manda por mp que quando chegar em casa eu vejo o que faço.
Nao tenho a SMA do banco :/
o banco que eu uso e o novo do Odair , e ele so postou a amxx .

sera que nao tem como salvar por nick?
avatar
romulonp
Humano
Humano

Nick : Dii-Menor
Masculino Número de Mensagens : 223
Ammo Packs : 1987
Honra : 0
Data de inscrição : 18/04/2012

Ver perfil do usuário suportebetakillers

Voltar ao Topo Ir em baixo

Re: [AJUDA]Sistema de Tickets

Mensagem por Leozinho em 9/9/2013, 5:38 pm

Ta aqui, esta salvando por nick, e eu passei de nvault pra fvault.

Código:
#include <amxmodx>
#include <amxmisc>
#include <zombieplague>
#include <fvault>

new ticket[33];

new szText[555 char]

public plugin_init() {
   // Registro do Plugin
   register_plugin("Cash", "1.0", "T.Armg");
   
   // Comando para aparecer o MENU
   register_clcmd("say /cash", "TicketCMD");
}

public SaveData(id)
{
   new Nick[33], vaultdata[256];
   get_user_name(id, Nick, charsmax(Nick));
   
   format(vaultdata,255,"%i",ticket[id]);
   
   fvault_set_data("ticket_tutorial",Nick,vaultdata);
   
   return PLUGIN_CONTINUE;
   
}

public LoadData(id)
{
   new Nick[33], vaultdata[256];
   get_user_name(id, Nick, charsmax(Nick));
   
   format(vaultdata,255,"%i",ticket[id]);
   
   fvault_get_data("ticket_tutorial",Nick,vaultdata,255);
   
   new tckt[32];
   parse(vaultdata, tckt, 31);
   
   ticket[id] = str_to_num(tckt);
   
   return PLUGIN_CONTINUE
}

public client_connect(id)
{
   LoadData(id)
}

public client_disconnect(id)
{
   remove_task(id)
   
   SaveData(id)
}
public client_putinserver(id)
{
   set_task(180.0, "TicketADD", id, _, _, "b") // A Cada 3 Segundos
}
public TicketADD(id)
{
   ticket[id]++ // Adicionar mais um ticket (se voce quiser adicionar mais de um coloque ticket[id] += 5)
   client_print(id, print_chat, "Voce ganhou um Cash, Voce ganha um Cash a cada 3 Minutos ! Digite /cash ") // Mensagem de quando ganha um ticket
   
   SaveData(id) // Salvar o ticket que ganhou
}
public TicketCMD(id)
{
   formatex(szText, charsmax(szText), "Menu de Cash's^n\wSaldo de Cash: \y%i", ticket[id]);
   new menu = menu_create(szText, "tickshandl")
   //new menu = menu_create("Menu de Cash's^n\wSaldo de Cash: \y%i", "tickshandl", ticket[id]);
   
   menu_additem(menu, "Trocar 10 Cash's por 10 Ammo Packs", "1", 0);
   menu_additem(menu, "Trocar 20 Cash's por 20 Ammo Packs", "2", 0);
   menu_additem(menu, "Trocar 30 Cash's por 30 Ammo Packs", "3", 0);
   menu_additem(menu, "Trocar 40 Cash's por 40 Ammo Packs", "4", 0);
   menu_additem(menu, "Trocar 40 Cash's por 50 Ammo Packs", "5", 0);
   menu_additem(menu, "Trocar 80 Cash's por 100 Ammo Packs", "6", 0);
   menu_additem(menu, "Trocar 100 Cash's por 150 Ammo Packs", "7", 0);
   
   menu_setprop(menu, MPROP_EXITNAME, "Sair");
   menu_display(id, menu, 0);
}
public tickshandl(id, menu, item)
{
   if(item == MENU_EXIT)
   {
      menu_destroy(menu)
      return PLUGIN_HANDLED
   }
   
   new data[6], iName[64]
   new access, callback
   
   menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)
   
   new user_ammo = zp_get_user_ammo_packs(id);
   
   switch(str_to_num(data))
   {
      case 1:
      {
         if(is_user_alive(id)) {
            if(ticket[id] < 5) {
               client_print(id, print_chat, "Voce nao tem Cash suficiente")
               return PLUGIN_HANDLED;
               } else {
               zp_set_user_ammo_packs(id, user_ammo+10);
               ticket[id] -= 10;
            }
         }
      }
      case 2:
      {
         if(is_user_alive(id)) {
            if(ticket[id] < 10) {
               client_print(id, print_chat, "Voce nao tem Cash suficiente")
               return PLUGIN_HANDLED;
               } else {
               zp_set_user_ammo_packs(id, user_ammo+20);
               ticket[id] -= 20;
            }
         }
      }
      case 3:
      {
         if(is_user_alive(id)) {
            if(ticket[id] < 15) {
               client_print(id, print_chat, "Voce nao tem Cash suficiente")
               return PLUGIN_HANDLED;
               } else {
               zp_set_user_ammo_packs(id, user_ammo+30);
               ticket[id] -= 30;
            }
         }
      }
      case 4:
      {
         if(is_user_alive(id)) {
            if(ticket[id] < 20) {
               client_print(id, print_chat, "Voce nao tem Cash suficiente")
               return PLUGIN_HANDLED;
               } else {
               zp_set_user_ammo_packs(id, user_ammo+40);
               ticket[id] -= 40;
            }
         }
      }
      case 5:
      {
         if(is_user_alive(id)) {
            if(ticket[id] < 25) {
               client_print(id, print_chat, "Voce nao tem Cash suficiente")
               return PLUGIN_HANDLED;
               } else {
               zp_set_user_ammo_packs(id, user_ammo+50);
               ticket[id] -= 40;
            }
         }
      }
      case 6:
      {
         if(is_user_alive(id)) {
            if(ticket[id] < 80) {
               client_print(id, print_chat, "Voce nao tem Cash suficiente")
               return PLUGIN_HANDLED;
               } else {
               zp_set_user_ammo_packs(id, user_ammo+100);
               ticket[id] -= 80;
            }
         }
      }
      case 7:
      {
         if(is_user_alive(id)) {
            if(ticket[id] < 100) {
               client_print(id, print_chat, "Voce nao tem Cash suficiente")
               return PLUGIN_HANDLED;
               } else {
               zp_set_user_ammo_packs(id, user_ammo+150);
               ticket[id] -= 100;
            }
         }
      }
      
      case 8:
      {
         TicketCMD(id)
      }
   }
   
   menu_destroy(menu)
   return PLUGIN_HANDLED
}

____________________________________________

avatar
Leozinho
Administrador
Administrador

Masculino Número de Mensagens : 2856
Ammo Packs : 2820
Honra : 75
Data de inscrição : 20/11/2011

Ver perfil do usuário leozinho.zp

Voltar ao Topo Ir em baixo

Re: [AJUDA]Sistema de Tickets

Mensagem por romulonp em 9/9/2013, 6:05 pm

Muito obrigado Leozinho , funciono perfeitamente .
+1 

OBS : Pode ser fechado o Topico
avatar
romulonp
Humano
Humano

Nick : Dii-Menor
Masculino Número de Mensagens : 223
Ammo Packs : 1987
Honra : 0
Data de inscrição : 18/04/2012

Ver perfil do usuário suportebetakillers

Voltar ao Topo Ir em baixo

Re: [AJUDA]Sistema de Tickets

Mensagem por Leozinho em 9/9/2013, 6:16 pm

Trancado.

____________________________________________

avatar
Leozinho
Administrador
Administrador

Masculino Número de Mensagens : 2856
Ammo Packs : 2820
Honra : 75
Data de inscrição : 20/11/2011

Ver perfil do usuário leozinho.zp

Voltar ao Topo Ir em baixo

Re: [AJUDA]Sistema de Tickets

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum