Zumbis Online
Frases filosóficas Zplague:
....
Adsense

[ZP] Addon: Maquina Cacanique

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

[ZP] Addon: Maquina Cacanique

Mensagem por [P]erfec[T] [S]cr[@]s[H] em 29/10/2013, 12:49 pm

Ola Pessoal eu irei mostrar mais um plugin que se chama Maquina Cacanique que funciona tipo você tem uma ficha vai digita /cacanique e inicia o sorteio se cair 3 números iguais você ganha de 5 a 100 ammo pack e você ganha uma ficha não por tempo on mas sim por matar zms e infectar e matar os humanos.

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

new fichas[33];

new g_vault;
new szText[555 char]
new cvar_minap, cvar_maxap
new g_HudSync

public plugin_init()
{
   // Registro do Plugin
   register_plugin("[ZP] Addon: Maquina Cacanique", "1.0", "T.Armg | [P]erfec[T] [S]cr[@]s[H]");
   
   // Ham Event
   RegisterHam(Ham_Killed, "player", "fw_PlayerKilled_Post", 1 )
   
   // Registro do Comando
   register_clcmd("say /cacanique", "caca_menu");
   register_clcmd("say cacanique", "caca_menu");
   register_clcmd("say .cacanique", "caca_menu");
      
   // Cvars
   cvar_minap = register_cvar("zp_cacanique_minap", "5")         // Quantia Minima de Ammo Packs a Ganhar
   cvar_maxap = register_cvar("zp_cacanique_maxap", "100")         // Quantia Maxima de Ammo Packs a Ganhar
   
   // Outros Bangs
   g_vault = nvault_open("maquina_cacanique");
   g_HudSync = CreateHudSyncObj()
   
}

public SaveData(id)
{
   new szName[35];
   get_user_name(id, szName, 34);
   
   new vaultkey[64], vaultdata[256];
   format(vaultkey,63,"%s-CacaTuto",szName);
   format(vaultdata,255,"%i#",fichas[id]);
   
   nvault_set(g_vault,vaultkey,vaultdata);
   
   return PLUGIN_CONTINUE;
   
}

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

public client_connect(id)
{
   LoadData(id)
}

public client_disconnect(id)
{
   remove_task(id)
   
   SaveData(id)
}

public fw_PlayerKilled_Post(victim, attacker, shouldgib)
{
   adicionar_fichas(attacker)
}

public zp_user_infected_post(id, infector)
{
   adicionar_fichas(infector)
}

public adicionar_fichas(id)
{
   fichas[id]++
   zp_colored_print(id, "!g[ZP]!t Voce ganhou !g1 !tFicha na Maquina Cacanique. Digite !g/cacanique!t E Tente A Sorte :)")
   
   SaveData(id)
}

public caca_menu(id)
{
   //set_hudmessage(18, 183, 238, 0.02, 0.2, 0, 6.0, 15.0)
   // show_hudmessage(id, "Voce recebe 1 Ficha^nA Cada 2 Minutos de jogo!");
   formatex(szText, charsmax(szText), "\r[\dMaquina Cacanique\r]^n\wVoce tem: \r[%i]\d Fichas^n\wPodendo Ganhar Ate no Maximo \r%d\w Ammo Packs", fichas[id], get_pcvar_num(cvar_maxap));
   new menu = menu_create(szText, "caca_menuhandler")
   
   menu_additem(menu, "Iniciar Sorteio da Maquina Cacanique", "1", 0);
   
   menu_setprop(menu, MPROP_EXITNAME, "Sair");
   menu_display(id, menu, 0);
}
public caca_menuhandler(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)
   switch(str_to_num(data))
   {
      case 1:
      {
         if(is_user_alive(id))
         {
            if(fichas[id] < 1)
            {
               zp_colored_print(id, "!g[ZP]!t Voce Nao Tem Fichas Suficiente Para Realizar o Sorteio"); caca_menu(id)
               set_hudmessage(255, 0, 0, 0.02, 0.16, 0, 6.0, 12.0)
               ShowSyncHudMsg(id, g_HudSync, "Voce Nao Tem Fichas Suficiente Para o Sorteio")
               return PLUGIN_HANDLED;
            }
            else
            {
               fichas[id] -= 1
               fazer_sorteio(id)   
               caca_menu(id)
            }
         }
      }
   }
   
   menu_destroy(menu)
   return PLUGIN_HANDLED
}

public fazer_sorteio(id)
{
   new sortear_num1, sortear_num2, sortear_num3, ap_gain
   
   sortear_num1 = random_num(0,9)
   sortear_num2 = random_num(0,9)
   sortear_num3 = random_num(0,9)
   ap_gain = random_num(get_pcvar_num(cvar_minap), get_pcvar_num(cvar_maxap))
   
   if(sortear_num1 == sortear_num2)
   {
      if(sortear_num2 == sortear_num3)
      {
         if(sortear_num1 == sortear_num3)
         {
            zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + ap_gain);
            zp_colored_print(id, "!g[ZP]!t Voce Ganhou !y%d !gAmmo Packs Na Maquina Cacanique :)", ap_gain)
         
            set_hudmessage(0, 255, 0, 0.05, 0.70, 0, 6.0, 12.0)
            ShowSyncHudMsg(id, g_HudSync, "%d %d %d Ganhou :)", sortear_num1, sortear_num2, sortear_num3)
            return;
         }
      }
   }
   else
   {
      set_hudmessage(255, 0, 0, 0.05, 0.70, 0, 6.0, 12.0)
      ShowSyncHudMsg(id, g_HudSync, "%d %d %d Perdeu :(", sortear_num1, sortear_num2, sortear_num3)
      zp_colored_print(id, "!g[ZP]!t Que Pena Nao foi Dessa Vez Que Voce Ganha. Mas Tranquilo Vai Haver Mais Sorteio Pra Frente")
      return;
   }
}
   
stock zp_colored_print(const id, const input[], any:...)
{
   new count = 1, players[32]
   static msg[191]
   vformat(msg, 190, input, 3)
   
   replace_all(msg, 190, "!g", "^4")  // Chat Verde
   replace_all(msg, 190, "!y", "^1")  // Chat Normal
   replace_all(msg, 190, "!t", "^3")  // Chat Do Time Tr=Vermelho Ct=Azul Spec=Branco
   
   if (id) players[0] = id; else get_players(players, count, "ch")
   {
      for (new i = 0; i < count; i++)
      {
         if (is_user_connected(players[i]))
         {
            message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
            write_byte(players[i]);
            write_string(msg);
            message_end();
         }
      }
   }
}

____________________________________________


Dicas Para Ser um Bom Scripter:
* Pense no Plugin que ira criar (Seja Inovador)
* Crie um código SMA imaginário na cabeça de como vai ser o plugin
* Passe o Codigo mental para o AMX Studio
* Compile e Teste
* Corrija Todos os Bugs do Plugin (Caso tiver um)
* Poste o Plugin ;)

** Seguindo as Dicas você estara no Padrão [P]erfec[T] [S]cr[@]s[H] **  
Zplague24 Zplague20Zplague12 

[P]erfec[T] [S]cr[@]s[H]
Scripter
Scripter

Masculino Número de Mensagens : 537
Jogador FODA Perfect Scrash entrou na zplague
Ammo Packs : 1631
Honra : 173
Data de inscrição : 04/04/2013

Ver perfil do usuário http://www.steamcommunity.com/id/perfectscrash perfect.scrash

Voltar ao Topo Ir em baixo

Re: [ZP] Addon: Maquina Cacanique

Mensagem por MtsLa!<3.L em 29/10/2013, 12:56 pm

Boaa Perfect , voce é um Otimo Scripter

____________________________________________

Quem sabe faz ao vivo :)
-----------------------------------------
Salve - Leozinho - Hawk - Gkf - Junin - J0sh - Rotam
-----------------------------------------
Vem que com nois é vida HAHA!!!!

-----------------------------------------

MtsLa!<3.L
Moderador
Moderador

Nick : Estelionatario
Masculino Número de Mensagens : 1237
InfoBanker
Ammo Packs : 1866
Honra : 28
Data de inscrição : 16/03/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [ZP] Addon: Maquina Cacanique

Mensagem por waLLzyk em 29/10/2013, 12:57 pm

Gostei!!!

____________________________________________


waLLzyk
Designer
Designer

Nick : zetequila
Masculino Número de Mensagens : 484
Ammo Packs : 1577
Honra : 56
Data de inscrição : 22/05/2013

Ver perfil do usuário http://zumbi-brasil.blogspot.com.br

Voltar ao Topo Ir em baixo

Re: [ZP] Addon: Maquina Cacanique

Mensagem por devil-square em 29/10/2013, 2:05 pm

Muito bom Cara !!!

devil-square
Humano
Humano

Nick : Eclipse*
Masculino Número de Mensagens : 206
Ammo Packs : 1490
Honra : 13
Data de inscrição : 23/11/2012

Ver perfil do usuário jean.marques98

Voltar ao Topo Ir em baixo

Re: [ZP] Addon: Maquina Cacanique

Mensagem por Leozinho em 30/10/2013, 6:45 pm

Legal em perfect, parabéns cara sempre ajudando.

____________________________________________


Leozinho
Administrador
Administrador

Masculino Número de Mensagens : 2854
Ammo Packs : 2507
Honra : 78
Data de inscrição : 20/11/2011

Ver perfil do usuário leozinho.zp

Voltar ao Topo Ir em baixo

Re: [ZP] Addon: Maquina Cacanique

Mensagem por Sergio # em 30/10/2013, 8:13 pm

Muito bom ^^

____________________________________________

» ZombiePlague MorTaL GaMes
189.1.164.22:27017
|


Sergio #
Moderador
Moderador

Masculino Número de Mensagens : 681
Ammo Packs : 1466
Honra : 44
Data de inscrição : 16/02/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [ZP] Addon: Maquina Cacanique

Mensagem por hackingzm em 31/10/2013, 9:34 pm

maniw tem 1 poblema tipo ele ta dando ficha sozinho quando entra no sv vc ja fica ganhando fichas

hackingzm
Humano
Humano

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [ZP] Addon: Maquina Cacanique

Mensagem por [D]etonado[R] em 31/10/2013, 9:35 pm

hackingzm escreveu:maniw tem 1 poblema tipo ele ta dando ficha sozinho quando entra no sv vc ja fica ganhando fichas
Aqui também deu esse erro, sempre quando entra no servidor ou começa um mod.

____________________________________________


[D]etonado[R]
Humano
Humano

Nick : [D]etonado[R]
Masculino Número de Mensagens : 623
Ammo Packs : 1338
Honra : 19
Data de inscrição : 17/10/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [ZP] Addon: Maquina Cacanique

Mensagem por romulonp em 13/11/2013, 1:07 pm

Nao sou tao bom com scripter , entao nao sei se e igual ao seu , mas no site de ZM Russo tem uma coisa parecida com a sua (NAO SEI SE E IGUAL)
vejam:
http://zombie-mod.ru/counter-strike/zombie-plague/server_addons/10399-slot-machine-20final-by-kto_to.html

romulonp
Humano
Humano

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

Ver perfil do usuário suportebetakillers

Voltar ao Topo Ir em baixo

Re: [ZP] Addon: Maquina Cacanique

Mensagem por [P]erfec[T] [S]cr[@]s[H] em 13/11/2013, 1:14 pm

romulonp escreveu:Nao sou tao bom com scripter , entao nao sei se e igual ao seu , mas no site de ZM Russo tem uma coisa parecida com a sua (NAO SEI SE E IGUAL)
vejam:
http://zombie-mod.ru/counter-strike/zombie-plague/server_addons/10399-slot-machine-20final-by-kto_to.html
Bom Ripar não ripei pois eu o editei do /fichas do biel e ta com os créditos do autor na sma e eu imaginava que o plugin desses era privado por isso que eu o editei o /fichas.

@Edit. Compare as smas:

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

#define MAXPLAYERS 32

new g_spintoken[MAXPLAYERS+1]
new SayText
new win_sound[] = "sm/sm_win.wav"
new g_TokenMenu
new g_cbTokenMenu
new g_prizemenu

new const g_max_tokens = 20             //[RU]ìàêñèìóì æåòîíîâ; [EN]maximum Spin Tokens;
new const g_start_tokens = 0         //[RU]íà÷àëüíîå êîë-âî æåòîíîâ; [EN]starting Spin Tokens;
new const g_ammoprize_from = 1         //[RU]äèàïàçîí ïàêîâ, âûäàâàåìûõ çà ïîáåäó(îò); [EN]range of ammopacks, for a win(from);
new const g_ammoprize_to = 10         //[RU]äèàïàçîí ïàêîâ, âûäàâàåìûõ çà ïîáåäó(äî); [EN]range of ammopacks, for a win(to);
new const g_forkillzombie = 1         //[RU]êîë-âî æåòîíîâ çà óáèéñòâî çîìáè; [EN]quantity of Spin Tokens for killing zombie;
new const g_forkillnemesis = 2         //[RU]êîë-âî æåòîíîâ çà óáèéñòâî íåìåçèñà; [EN]quantity of Spin Tokens for killing nemesis;
new const g_forkillsurvivor = 2         //[RU]êîë-âî æåòîíîâ çà óáèéñòâî âûæèâøåãî; [EN]quantity of Spin Tokens for killing survivor;
new const g_forkilllasthuman = 2      //[RU]êîë-âî æåòîíîâ çà óáèéñòâî ïîñëåäíåãî ÷åëîâåêà; [EN]quantity of Spin Tokens for last human;

public plugin_init()
{
   register_plugin("[ZP]Slot Machine", "2.0", "kto_to")
   
   register_clcmd("give_tokens", "give_tokens")
   register_clcmd("say /smmenu", "sm_menu")
   register_dictionary("slot_machine.txt")
   
   SayText = get_user_msgid("SayText")
   
   register_event("DeathMsg", "player_death", "a", "1>0")
}

public plugin_precache()
{
   precache_sound(win_sound)
}

public sm_menu(id)
{
   new menu_msg[128]
   
   formatex(menu_msg, 127, "%L", LANG_SERVER, "SMMENU_HANDLER")
   g_TokenMenu = menu_create(menu_msg, "mh_smmenu")
   g_cbTokenMenu = menu_makecallback("cb_smmenu")
   
   formatex(menu_msg, 127, "%L", LANG_SERVER, "SMMENU_SPIN")
   menu_additem(g_TokenMenu, menu_msg, _, _, g_cbTokenMenu)
   formatex(menu_msg, 127, "%L", LANG_SERVER, "SMMENU_TOKEN", g_spintoken[id])
   menu_addtext(g_TokenMenu, menu_msg, 0)
   menu_addblank(g_TokenMenu, 0)
   formatex(menu_msg, 127, "%L", LANG_SERVER, "SMMENU_INFO")
   menu_additem(g_TokenMenu, menu_msg, _, _, g_cbTokenMenu)
   menu_addblank(g_TokenMenu, 0)
   formatex(menu_msg, 127, "%L", LANG_SERVER, "SMMENU_EXIT")
   menu_additem(g_TokenMenu, menu_msg, _, _, g_cbTokenMenu)
   
   menu_setprop(g_TokenMenu, MEXIT_ALL, 0)
   menu_display(id, g_TokenMenu, 0)
}

public mh_smmenu(id, menu, item)
{
   switch(item)
   {
      case 0:
      {
         if(is_user_alive(id) && cs_get_user_team(id) != CS_TEAM_SPECTATOR)
         {
            player_spin(id)
         }
         else
         {
            player_spin(id)
            menu_cancel(id)
         }
      }
      case 1:
      {
         about_sm(id)
      }
      case 2:
      {
         menu_cancel(id)
      }
   }
}

public cb_smmenu(id, menu, item)
{
   switch(item)
   {
      case 0:
      {
         if(g_spintoken[id] < 1)
         return ITEM_DISABLED;
      }
   }
   return ITEM_ENABLED;
}

public client_putinserver(id)
{
      g_spintoken[id] = g_start_tokens
}

public player_death()
{
   new i_Killer = read_data(1)
   new i_Victim = read_data(2)
   new iToken = g_max_tokens - g_spintoken[i_Killer]
   
   if(g_spintoken[i_Killer] <= g_max_tokens - g_forkillzombie)
   {
      if(zp_get_user_zombie(i_Victim) && !zp_get_user_nemesis(i_Victim) && !zp_get_user_survivor(i_Killer))
      {
         switch(random_num(0,2))
         {
            case 0:
            {
               g_spintoken[i_Killer] = g_spintoken[i_Killer] + g_forkillzombie
               ChatColor(i_Killer, "%L", LANG_PLAYER, "COLLECT_TOKEN_ZOMBIE", g_forkillzombie)
            }
            case 1:
            {
               ChatColor(i_Killer, "%L", LANG_PLAYER, "NO_DROP")
            }
            case 2:
            {
               ChatColor(i_Killer, "%L", LANG_PLAYER, "NO_DROP")
            }
         }
      }
   }
   else if(g_spintoken[i_Killer] > g_max_tokens - g_forkillzombie && g_spintoken[i_Killer] != g_max_tokens)
   {
      switch(random_num(0,2))
      {
         case 0:
         {
            g_spintoken[i_Killer] = g_max_tokens
            ChatColor(i_Killer, "%L", LANG_PLAYER, "COLLECT_TOKEN_ZOMBIE", iToken)
            ChatColor(i_Killer, "%L", LANG_PLAYER, "TOKEN_MAX")
         }
         case 1:
         {
            ChatColor(i_Killer, "%L", LANG_PLAYER, "NO_DROP")
         }
         case 2:
         {
            ChatColor(i_Killer, "%L", LANG_PLAYER, "NO_DROP")
         }
      }
   }
   else if(g_spintoken[i_Killer] == g_max_tokens)
   {
      ChatColor(i_Killer, "%L", LANG_PLAYER, "TOKEN_MAX")
   }
   if(g_spintoken[i_Killer] <= g_max_tokens - g_forkillnemesis)
   {
      if(zp_get_user_nemesis(i_Victim))
      {
         switch(random_num(0,2))
         {
            case 0:
            {
               g_spintoken[i_Killer] = g_spintoken[i_Killer] + g_forkillnemesis
               ChatColor(i_Killer, "%L", LANG_PLAYER, "COLLECT_TOKEN_NEMESIS", g_forkillnemesis)
            }
            case 1:
            {
               ChatColor(i_Killer, "%L", LANG_PLAYER, "NO_DROP")
            }
            case 2:
            {
               ChatColor(i_Killer, "%L", LANG_PLAYER, "NO_DROP")
            }
         }
      }
   }
   else if(g_spintoken[i_Killer] > g_max_tokens - g_forkillnemesis && g_spintoken[i_Killer] != g_max_tokens)
   {
      if(zp_get_user_nemesis(i_Victim))
      {
         switch(random_num(0, 2))
         {
            case 0:
            {
               g_spintoken[i_Killer] = g_max_tokens
               ChatColor(i_Killer, "%L", LANG_PLAYER, "COLLECT_TOKEN_NEMESIS", iToken)
               ChatColor(i_Killer, "%L", LANG_PLAYER, "TOKEN_MAX")
            }
            case 1:
            {
               ChatColor(i_Killer, "%L", LANG_PLAYER, "NO_DROP")
            }
            case 2:
            {
               ChatColor(i_Killer, "%L", LANG_PLAYER, "NO_DROP")
            }
         }
      }
   }
   if(g_spintoken[i_Killer] <= g_max_tokens - g_forkillsurvivor)
   {
      if(zp_get_user_survivor(i_Victim))
      {
         switch(random_num(0, 2))
         {
            case 0:
            {
               g_spintoken[i_Killer] = g_spintoken[i_Killer] + g_forkillsurvivor
               ChatColor(i_Killer, "%L", LANG_PLAYER, "COLLECT_TOKEN_SURVIVOR", g_forkillsurvivor)
            }
            case 1:
            {
               ChatColor(i_Killer, "%L", LANG_PLAYER, "NO_DROP")
            }
            case 2:
            {
               ChatColor(i_Killer, "%L", LANG_PLAYER, "NO_DROP")
            }
         }
      }
   }
   else if(g_spintoken[i_Killer] > g_max_tokens - g_forkillsurvivor && g_spintoken[i_Killer] != g_max_tokens)
   {
      if(zp_get_user_survivor(i_Victim))
      {
         switch(random_num(0, 2))
         {
            case 0:
            {
               g_spintoken[i_Killer] = g_max_tokens
               ChatColor(i_Killer, "%L", LANG_PLAYER, "COLLECT_TOKEN_SURVIVOR", iToken)
               ChatColor(i_Killer, "%L", LANG_PLAYER, "TOKEN_MAX")
            }
            case 1:
            {
               ChatColor(i_Killer, "%L", LANG_PLAYER, "NO_DROP")
            }
            case 2:
            {
               ChatColor(i_Killer, "%L", LANG_PLAYER, "NO_DROP")
            }
         }
      }
   }
   if(g_spintoken[i_Killer] <= g_max_tokens - g_forkilllasthuman)
   {
      if(zp_get_user_last_human(i_Victim) && zp_get_user_zombie(i_Killer) && !zp_get_user_nemesis(i_Killer))
      {
         switch(random_num(0, 2))
         {
            case 0:
            {
               g_spintoken[i_Killer] = g_spintoken[i_Killer] + g_forkilllasthuman
               ChatColor(i_Killer, "%L", LANG_PLAYER, "COLLECT_TOKEN_LASTHUMAN", g_forkilllasthuman)
            }
            case 1:
            {
               ChatColor(i_Killer, "%L", LANG_PLAYER, "NO_DROP")
            }
            case 2:
            {
               ChatColor(i_Killer, "%L", LANG_PLAYER, "NO_DROP")
            }
         }
      }
   }
   else if(g_spintoken[i_Killer] > g_max_tokens - g_forkilllasthuman && g_spintoken[i_Killer] != g_max_tokens)
   {
      if(zp_get_user_last_human(i_Victim) && zp_get_user_zombie(i_Killer) && !zp_get_user_nemesis(i_Killer))
      {
         switch(random_num(0, 2))
         {
            case 0:
            {
               g_spintoken[i_Killer] = g_max_tokens
               ChatColor(i_Killer, "%L", LANG_PLAYER, "COLLECT_TOKEN_LASTHUMAN", iToken)
               ChatColor(i_Killer, "%L", LANG_PLAYER, "TOKEN_MAX")
            }
            case 1:
            {
               ChatColor(i_Killer, "%L", LANG_PLAYER, "NO_DROP")
            }
            case 2:
            {
               ChatColor(i_Killer, "%L", LANG_PLAYER, "NO_DROP")
            }
         }
      }
   }
}

public player_spin(id)
{
   new a,b,c
   
   switch(random_num(0, 3))
   {
      case 0:
      {
         a = 1
      }
      case 1:
      {
         a = 2
      }
      case 2:
      {
         a = 3
      }
      case 3:
      {
         a = 4
      }
   }
   switch(random_num(0, 3))
   {
      case 0:
      {
         b = 1
      }
      case 1:
      {
         b = 2
      }
      case 2:
      {
         b = 3
      }
      case 3:
      {
         b = 4
      }
   }
   switch(random_num(0, 3))
   {
      case 0:
      {
         c = 1
      }
      case 1:
      {
         c = 2
      }
      case 2:
      {
         c = 3
      }
      case 3:
      {
         c = 4
      }
   }
   
   if(!is_user_alive(id) || cs_get_user_team(id) == CS_TEAM_SPECTATOR)
   {
      ChatColor(id, "%L", LANG_PLAYER, "FORSPEC_DEADPL")
      return PLUGIN_CONTINUE;
   }
   
   if(g_spintoken[id] >= 1)
   {
      if(a == b && a == c)
      {
         g_spintoken[id] = g_spintoken[id] - 1
         set_hudmessage(0, 255, 0, 0.14, 0.60, 1, 6.0, 2.0, 1.0, 1.0)
         show_hudmessage(id, "%L", LANG_PLAYER, "SM_WIN", a, b, c)
         client_cmd(id, "spk %s", win_sound)
         
         set_task(1.0, "prize_menu", id)
      }
      else
      {
         g_spintoken[id] = g_spintoken[id] - 1
         set_hudmessage(255, 0, 0, 0.14, 0.60, 1, 6.0, 2.0, 1.0, 1.0)
         show_hudmessage(id, "%L", LANG_PLAYER, "SM_LOSE", a, b, c)
         set_task(1.0, "sm_menu", id)
      }
   }
   return PLUGIN_CONTINUE;
}

public prize_menu(id)
{
   new menu_msg[256]
   formatex(menu_msg, 127, "%L", LANG_PLAYER, "PRIZEMENU_HANDLER")
   g_prizemenu = menu_create(menu_msg, "h_pmenu")
   
   formatex(menu_msg, 127, "%L", LANG_PLAYER, "PRIZEMENU_AMMO")
   menu_additem(g_prizemenu, menu_msg)
   formatex(menu_msg, 127, "%L", LANG_PLAYER, "PRIZEMENU_EXTRA")
   menu_additem(g_prizemenu, menu_msg)
   
   menu_addblank(g_prizemenu, 0)
   menu_setprop(g_prizemenu, MEXIT_ALL, 0)
   formatex(menu_msg, 127, "%L", LANG_PLAYER, "SMMENU_EXIT")
   menu_additem(g_prizemenu, menu_msg)
   
   menu_display(id, g_prizemenu, 0)
}

public h_pmenu(id, menu, item)
{
   new i_Ammo = zp_get_user_ammo_packs(id)
   
   switch(item)
   {
      case 0:
      {
         new random_ammo = random_num(g_ammoprize_from, g_ammoprize_to)
         
         zp_set_user_ammo_packs(id, i_Ammo + random_ammo)
         set_hudmessage(0, 255, 0, 0.14, 0.60, 1, 6.0, 2.0, 1.0, 1.0)
         show_hudmessage(id, "%L", LANG_PLAYER, "PRIZE_AMMO", random_ammo)
      }
      case 1:
      {
         set_hudmessage(0, 255, 0, 0.14, 0.60, 1, 6.0, 2.0, 1.0, 1.0)
         show_hudmessage(id, "%L", LANG_PLAYER, "PRIZE_EXTRA")
         
         switch(random_num(0, 1))
         {
            case 0:
            {
               //Here you can add prizes
               //Example: zp_force_buy_extra_item(id, "Antidot", 0)
            }
            case 1:
            {
               //Here you can add prizes
               //Example: zp_force_buy_extra_item(id, "Frost Nade", 0)
            }
         }
      }
      case 3:
      {
         menu_cancel(id)
      }
   }
}

public zp_round_started(gamemode, id)
{
   ChatColor(0, "%L", LANG_PLAYER, "SM_INFO")
}

public about_sm(id)
{
   const SIZE = 1024
   new msg[SIZE+1], len = 0;
   len += formatex(msg[len], SIZE - len, "<html>")
   len += formatex(msg[len], SIZE - len, "<head><title>...</title>")
   len += formatex(msg[len], SIZE - len, "<body bgcolor='#000000'>")
   len += formatex(msg[len], SIZE - len, "<center><h2><b><font color='#AA0000'>%L</font></h></b>", LANG_PLAYER, "ABOUT_SLOTMACHINE1")
   len += formatex(msg[len], SIZE - len, "<h4><pre><font color='#FFFFFF'>")
   len += formatex(msg[len], SIZE - len, "<br>%L</br>", LANG_PLAYER, "ABOUT_SLOTMACHINE2")
   len += formatex(msg[len], SIZE - len, "<br>%L</br>", LANG_PLAYER, "ABOUT_SLOTMACHINE3")
   len += formatex(msg[len], SIZE - len, "<br>%L</br>", LANG_PLAYER, "ABOUT_SLOTMACHINE4")
   len += formatex(msg[len], SIZE - len, "<br>%L</br>", LANG_PLAYER, "ABOUT_SLOTMACHINE5")
   len += formatex(msg[len], SIZE - len, "</font></pre></h></center></body>")
   len += formatex(msg[len], SIZE - len, "</body></html>")
   show_motd(id, msg)
}

public give_tokens(id)
{
   if(is_user_admin(id))
   {
      g_spintoken[id] = g_max_tokens
      ChatColor(id, "%L", LANG_PLAYER, "GIVE_TOKENS", g_max_tokens)
   }
   else
   {
      ChatColor(id, "%L", LANG_PLAYER, "USERNOTADMIN", g_max_tokens)
   }
}

stock ChatColor(const id, const input[], any:...)
{
   new count = 1, players[32]
   static msg[191]
   vformat(msg, 190, input, 3)
   
   replace_all(msg, 190, "!g", "^4")
   replace_all(msg, 190, "!y", "^1")
   replace_all(msg, 190, "!t", "^3")
   
   if(id) players[0] = id; else get_players(players, count, "ch")
   {
      for(new i = 0; i < count; i++)
      {
         if(is_user_connected(players[i]))
         {
            message_begin(MSG_ONE_UNRELIABLE, SayText, _, players[i])
            write_byte(players[i])
            write_string(msg)
            message_end()
         }
      }
   }
}

____________________________________________


Dicas Para Ser um Bom Scripter:
* Pense no Plugin que ira criar (Seja Inovador)
* Crie um código SMA imaginário na cabeça de como vai ser o plugin
* Passe o Codigo mental para o AMX Studio
* Compile e Teste
* Corrija Todos os Bugs do Plugin (Caso tiver um)
* Poste o Plugin ;)

** Seguindo as Dicas você estara no Padrão [P]erfec[T] [S]cr[@]s[H] **  
Zplague24 Zplague20Zplague12 

[P]erfec[T] [S]cr[@]s[H]
Scripter
Scripter

Masculino Número de Mensagens : 537
Jogador FODA Perfect Scrash entrou na zplague
Ammo Packs : 1631
Honra : 173
Data de inscrição : 04/04/2013

Ver perfil do usuário http://www.steamcommunity.com/id/perfectscrash perfect.scrash

Voltar ao Topo Ir em baixo

Re: [ZP] Addon: Maquina Cacanique

Mensagem por Conteúdo patrocinado Hoje à(s) 8:06 pm


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