Nome do Plugin: comprar mods
Descrição do Plugin: compra mod somente vips com packs
[b]De Onde Viu o Plugin: rtk[/b]
Descrição do Plugin: compra mod somente vips com packs
[b]De Onde Viu o Plugin: rtk[/b]
Código:
#include <amxmodx>
#include <zombie_plague_advance>
#include <zmvip>
#define PLUGIN "[ZP] Compra de Mods"
#define VERSION "1.1"
#define AUTHOR "aaarnas"
new g_msgSayText
new nemesis, survivor, assassin, sniper, berserker
new g_bought[33], bought
new cvar_nemesis_price, cvar_survivor_price, cvar_assassin_price, cvar_sniper_price, cvar_berserker_price, cvar_limit_all, cvar_everytime, cvar_show_bought, cvar_allow_times
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
cvar_everytime = register_cvar("zp_allow_buy", "0") // 0 - Comprar antes da infeccao, 1 - Comprar depois da infeccao, 2 - Comprar em nemhuma ocasiao
cvar_allow_times = register_cvar("zp_allow_times", "3") // Limite de compras por mapa
cvar_limit_all = register_cvar("zp_limit_for_all", "1") // Eu acho que eh quantos players pode comprar por round
cvar_nemesis_price = register_cvar("zp_nemesis_price", "150") // Preco do nemesis
cvar_survivor_price = register_cvar("zp_survivor_price", "150") // Preco do survivor
cvar_assassin_price = register_cvar("zp_assassin_price", "150") // Preco do assassino
cvar_sniper_price = register_cvar("zp_sniper_price", "100") // Preco do sniper
cvar_berserker_price = register_cvar("zp_berserker_price", "200") // Preco do berserker
cvar_show_bought = register_cvar("zp_show_who_bought", "1") // Mostrar quem comprou o que (0 - Desligado, 1 - Ligado)
g_msgSayText = get_user_msgid("SayText")
// Extra items
nemesis = zv_register_extra_item("Comprar Nemesis", "1 Round", get_pcvar_num(cvar_nemesis_price), 0)
survivor = zv_register_extra_item("Comprar Survivor","1 Round", get_pcvar_num(cvar_survivor_price), 0)
assassin = zv_register_extra_item("Comprar Assassino", "1 Round", get_pcvar_num(cvar_assassin_price), 0)
sniper = zv_register_extra_item("Comprar Sniper","1 Round", get_pcvar_num(cvar_sniper_price), 0)
berserker = zv_register_extra_item("Comprar Berserker","1 Round", get_pcvar_num(cvar_berserker_price), 0)
}
public zp_round_ended()
bought = false
public zv_extra_item_selected(id, itemid) {
new value = get_pcvar_num(cvar_everytime)
if(itemid == nemesis) {
if(get_pcvar_num(cvar_limit_all) && bought) {
client_printcolor(id, "/g[ZP]/y Nao pode comprar mais nada nesse round. Tente no proximo.")
return ZV_PLUGIN_HANDLED
}
if(g_bought[id] >= get_pcvar_num(cvar_allow_times)) {
client_printcolor(id, "/g[ZP]/y Voce nao pode compra mais nada porque ja compraram %d mods. Agora soh no prox mapa.", get_pcvar_num(cvar_allow_times))
return ZV_PLUGIN_HANDLED
}
if(value == 2) {
zp_make_user_nemesis(id)
new name[64]
get_user_name(id, name, 63)
client_printcolor(0, "/g[ZP]/y O Jogador /g%s/y Comprou Nemesis", name)
g_bought[id]++
}
else if(zp_has_round_started() == value) {
zp_make_user_nemesis(id)
if(get_pcvar_num(cvar_show_bought)) {
new name[64]
get_user_name(id, name, 63)
client_printcolor(0, "/g[ZP]/y O Jogador /g%s/y Comprou Nemesis", name)
g_bought[id]++
bought = true
}
}
else {
client_printcolor(id, "/g[ZP]/y Voce soh pode compra Nemesis %s.", value ? "Depois da Infeccao":"Antes da infeccao")
return ZV_PLUGIN_HANDLED
}
}
else if(itemid == survivor) {
if(get_pcvar_num(cvar_limit_all) && bought) {
client_printcolor(id, "/g[ZP]/y Nao pode comprar mais nada nesse round. Tente no proximo.")
return ZV_PLUGIN_HANDLED
}
if(g_bought[id] >= get_pcvar_num(cvar_allow_times)) {
client_printcolor(id, "/g[ZP]/y Voce nao pode compra mais nada porque ja compraram %d mods. Agora soh no prox mapa.", get_pcvar_num(cvar_allow_times))
return ZV_PLUGIN_HANDLED
}
if(value == 2) {
zp_make_user_survivor(id)
new name[64]
get_user_name(id, name, 63)
client_printcolor(0, "/g[ZP] /yO Jogador /g%s/y Comprou Survivor", name)
g_bought[id]++
}
else if(zp_has_round_started() == value) {
zp_make_user_survivor(id)
if(get_pcvar_num(cvar_show_bought)) {
new name[64]
get_user_name(id, name, 63)
client_printcolor(0, "/g[ZP]/y O Jogador /g%s/y Comprou Survivor", name)
g_bought[id]++
bought = true
}
}
else {
client_printcolor(id, "/g[ZP]/y Voce soh pode comprar Survivor %s.", value ? "Depois da Infeccao":"Antes da Infeccao")
return ZV_PLUGIN_HANDLED
}
}
else if(itemid == assassin) {
if(get_pcvar_num(cvar_limit_all) && bought) {
client_printcolor(id, "/g[ZP]/y Nao pode comprar mais nada nesse round. Tente no proximo.")
return ZV_PLUGIN_HANDLED
}
if(g_bought[id] >= get_pcvar_num(cvar_allow_times)) {
client_printcolor(id, "/g[ZP]/y Voce nao pode compra mais nada porque ja compraram %d mods. Agora soh no prox mapa.", get_pcvar_num(cvar_allow_times))
return ZV_PLUGIN_HANDLED
}
if(value == 2) {
zp_make_user_assassin(id)
new name[64]
get_user_name(id, name, 63)
client_printcolor(0, "/g[ZP]/y O Jogador /g%s/y Comprou Assassino", name)
g_bought[id]++
}
else if(zp_has_round_started() == value) {
zp_make_user_assassin(id)
if(get_pcvar_num(cvar_show_bought)) {
new name[64]
get_user_name(id, name, 63)
client_printcolor(0, "/g[ZP]/y O Jogador /g%s/y Comprou Assassino", name)
g_bought[id]++
bought = true
}
}
else {
client_printcolor(id, "/g[ZP]/y Voce soh pode compra Assassino %s.", value ? "Depois da Infeccao":"Antes da infeccao")
return ZV_PLUGIN_HANDLED
}
}
else if(itemid == sniper) {
if(get_pcvar_num(cvar_limit_all) && bought) {
client_printcolor(id, "/g[ZP]/y Nao pode comprar mais nada nesse round. Tente no proximo.")
return ZV_PLUGIN_HANDLED
}
if(g_bought[id] >= get_pcvar_num(cvar_allow_times)) {
client_printcolor(id, "/g[ZP]/y Voce nao pode compra mais nada porque ja compraram %d mods. Agora soh no prox mapa.", get_pcvar_num(cvar_allow_times))
return ZV_PLUGIN_HANDLED
}
if(value == 2) {
zp_make_user_sniper(id)
new name[64]
get_user_name(id, name, 63)
client_printcolor(0, "/g[ZP]/y O Jogador /g%s/y Comprou Sniper", name)
g_bought[id]++
}
else if(zp_has_round_started() == value) {
zp_make_user_sniper(id)
if(get_pcvar_num(cvar_show_bought)) {
new name[64]
get_user_name(id, name, 63)
client_printcolor(0, "/g[ZP]/y O Jogador /g%s/y Comprou Sniper", name)
g_bought[id]++
bought = true
}
}
else {
client_printcolor(id, "/g[ZP]/y Voce soh pode comprar Sniper %s.", value ? "Depois da Infeccao":"Antes da Infeccao")
return ZV_PLUGIN_HANDLED
}
}
else if(itemid == berserker) {
if(get_pcvar_num(cvar_limit_all) && bought) {
client_printcolor(id, "/g[ZP]/y Nao pode comprar mais nada nesse round. Tente no proximo.")
return ZV_PLUGIN_HANDLED
}
if(g_bought[id] >= get_pcvar_num(cvar_allow_times)) {
client_printcolor(id, "/g[ZP]/y Voce nao pode compra mais nada porque ja compraram %d mods. Agora soh no prox mapa.", get_pcvar_num(cvar_allow_times))
return ZV_PLUGIN_HANDLED
}
if(value == 2) {
zp_make_user_berserker(id)
new name[64]
get_user_name(id, name, 63)
client_printcolor(0, "/g[ZP]/y O Jogador /g%s/y Comprou Berserker", name)
g_bought[id]++
}
else if(zp_has_round_started() == value) {
zp_make_user_berserker(id)
if(get_pcvar_num(cvar_show_bought)) {
new name[64]
get_user_name(id, name, 63)
client_printcolor(0, "/g[ZP] /yO Jogador /g%s/y Comprou Berserker", name)
g_bought[id]++
bought = true
}
}
else {
client_printcolor(id, "/g[ZP]/y Voce soh pode comprar Berserker %s.", value ? "Depois da Infeccao":"Antes da Infeccao")
return ZV_PLUGIN_HANDLED
}
}
return 1
}
stock client_printcolor(const id, const input[], any:...)
{
new iCount = 1, iPlayers[32]
static szMsg[191]
vformat(szMsg, charsmax(szMsg), input, 3)
replace_all(szMsg, 190, "/g", "^4") // green txt
replace_all(szMsg, 190, "/y", "^1") // orange txt
replace_all(szMsg, 190, "/ctr", "^3") // team txt
replace_all(szMsg, 190, "/w", "^0") // team txt
if(id) iPlayers[0] = id
else get_players(iPlayers, iCount, "ch")
for (new i = 0; i < iCount; i++)
{
if (is_user_connected(iPlayers[i]))
{
message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, iPlayers[i])
write_byte(iPlayers[i])
write_string(szMsg)
message_end()
}
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1046\\ f0\\ fs16 \n\\ par }
*/