eu queria um plugin igual o da DH que so aparece para humanos e n de para comprar depois dos 10 segundos eu procurei achei uns bugado q da pra comprar como zm e etc pf alguem faz pra mim ou edita algum plzz..
godswar129 escreveu:eu queria um plugin igual o da DH que so aparece para humanos e n de para comprar depois dos 10 segundos eu procurei achei uns bugado q da pra comprar como zm e etc pf alguem faz pra mim ou edita algum plzz..
godswar129 escreveu:coloca so isso ou tem q fazer alguma alteração?
Código:
#include <amxmodx>
#include <zombieplague>
#include <zmvip>
#define PLUGIN "[ZP] S/N Buy"
#define VERSION "1.1"
#define AUTHOR "aaarnas"
new g_msgSayText
new nemesis, survivor
new g_bought[33], bought
new cvar_n_price, cvar_s_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", "2")
cvar_allow_times = register_cvar("zp_allow_times", "4")
cvar_limit_all = register_cvar("zp_limit_for_all", "1")
cvar_n_price = register_cvar("zp_nemesis_price", "150")
cvar_s_price = register_cvar("zp_survivor_price", "150")
cvar_show_bought = register_cvar("zp_show_who_bought", "1")
g_msgSayText = get_user_msgid("SayText")
// Extra items
nemesis = zv_register_extra_item("comprar Nemesis", "For one round", get_pcvar_num(cvar_n_price), 0)
survivor = zv_register_extra_item("comprar Survivor","For one round", get_pcvar_num(cvar_s_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] This is no more avaible in this round. Try next round.")
return ZV_PLUGIN_HANDLED
}
if(g_bought[id] >= get_pcvar_num(cvar_allow_times)) {
client_printcolor(id, "/g[ZP] You can't buy it more than %d times.", 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] %s /ybought 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] %s /ybought nemesis", name)
g_bought[id]++
bought = true
}
}
else {
client_printcolor(id, "/g[ZP] /yYou can buy Nemesis only when %s.", value ? "round started":"round not started")
return ZV_PLUGIN_HANDLED
}
}
else if(itemid == survivor) {
if(get_pcvar_num(cvar_limit_all) && bought) {
client_printcolor(id, "/g[ZP] This is no more avaible in this round. Try next round.")
return ZV_PLUGIN_HANDLED
}
if(g_bought[id] >= get_pcvar_num(cvar_allow_times)) {
client_printcolor(id, "/g[ZP] You can't buy it more than %d times.", 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] %s /ybought nemesis", 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] %s /ybought survivor", name)
g_bought[id]++
bought = true
zp_has_round_started()
return 1
}
}
else {
client_printcolor(id, "/g[ZP] /yYou can buy Survivor only when %s.", value ? "round started":"round not started")
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()
}
}
}
Código:
#include
#include
#include
#define PLUGIN "[ZP] S/N Buy"
#define VERSION "1.1"
#define AUTHOR "aaarnas"
new g_msgSayText
new nemesis, survivor
new g_bought[33], bought
new cvar_n_price, cvar_s_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")
cvar_allow_times = register_cvar("zp_allow_times", "1")
cvar_limit_all = register_cvar("zp_limit_for_all", "1")
cvar_n_price = register_cvar("zp_nemesis_price", "150")
cvar_s_price = register_cvar("zp_survivor_price", "150")
cvar_show_bought = register_cvar("zp_show_who_bought", "1")
g_msgSayText = get_user_msgid("SayText")
// Extra items
nemesis = zv_register_extra_item("comprar Nemesis", "For one round", get_pcvar_num(cvar_n_price), 0)
survivor = zv_register_extra_item("comprar Survivor","For one round", get_pcvar_num(cvar_s_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] This is no more avaible in this round. Try next round.")
return ZV_PLUGIN_HANDLED
}
if(g_bought[id] >= get_pcvar_num(cvar_allow_times)) {
client_printcolor(id, "/g[ZP] You can't buy it more than %d times.", 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] %s /ybought 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] %s /ybought nemesis", name)
g_bought[id]++
bought = true
}
}
else {
client_printcolor(id, "/g[ZP] /yYou can buy Nemesis only when %s.", value ? "round started":"round not started")
return ZV_PLUGIN_HANDLED
}
}
else if(itemid == survivor) {
if(get_pcvar_num(cvar_limit_all) && bought) {
client_printcolor(id, "/g[ZP] This is no more avaible in this round. Try next round.")
return ZV_PLUGIN_HANDLED
}
if(g_bought[id] >= get_pcvar_num(cvar_allow_times)) {
client_printcolor(id, "/g[ZP] You can't buy it more than %d times.", 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] %s /ybought nemesis", 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] %s /ybought survivor", name)
g_bought[id]++
bought = true
zp_has_round_started()
return 1
}
}
else {
client_printcolor(id, "/g[ZP] /yYou can buy Survivor only when %s.", value ? "round started":"round not started")
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()
}
}
}
Código:
#include <amxmodx>
#include <zombieplague>
#include <zmvip>
#define PLUGIN "[ZP] Compra de Survivor e nemesis"
#define VERSION "1.1"
#define AUTHOR "aaarnas"
new g_msgSayText
new nemesis, survivor
new g_bought[33], bought
new cvar_n_price, cvar_s_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 ambas ocasiões
cvar_allow_times = register_cvar("zp_allow_times", "999") // Limite de compras por mapa
cvar_limit_all = register_cvar("zp_limit_for_all", "999") // Eu acho que eh quantos players pode comprar por round
cvar_n_price = register_cvar("zp_nemesis_price", "75") // Preco do nemesis
cvar_s_price = register_cvar("zp_survivor_price", "75") // Preco do survivor
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", "Vai encarar!!", get_pcvar_num(cvar_n_price), 0)
survivor = zv_register_extra_item("Comprar Survivor","Sera que vo dar conta?", get_pcvar_num(cvar_s_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] /yNao 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] /yVoce 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] /yO Jogador /g%s /yComprou 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] /yO Jogador /g%s /yComprou Nemesis", name)
g_bought[id]++
bought = true
}
}
else {
client_printcolor(id, "/g[ZP] /yVoce soh pode comprar 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] /yNao 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] /yVoce 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 /yComprou 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] /yO Jogador /g%s /yComprou Survivor", name)
g_bought[id]++
bought = true
}
}
else {
client_printcolor(id, "/g[ZP] /yVoce soh pode comprar Survivor %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()
}
}
}
Código:
#include <amxmodx>
#include <zombie_plague_advance
#include <zmvip>
#define PLUGIN "[ZP] Compra de Sniper e Assassin"
#define VERSION "1.1"
#define AUTHOR "aaarnas"
new g_msgSayText
new assassin, sniper
new g_bought[33], bought
new cvar_n_price, cvar_s_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 ambas ocasiões
cvar_allow_times = register_cvar("zp_allow_times", "999") // Limite de compras por mapa
cvar_limit_all = register_cvar("zp_limit_for_all", "999") // Eu acho que eh quantos players pode comprar por round
cvar_n_price = register_cvar("zp_assassin_price", "75") // Preco do assassino
cvar_s_price = register_cvar("zp_sniper_price", "75") // Preco do sniper
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
assassin = zv_register_extra_item("Comprar Assassino", "Vai encarar!!", get_pcvar_num(cvar_n_price), 0)
sniper = zv_register_extra_item("Comprar Sniper","Sera que vo dar conta?", get_pcvar_num(cvar_s_price), 0)
}
public zp_round_ended()
bought = false
public zv_extra_item_selected(id, itemid) {
new value = get_pcvar_num(cvar_everytime)
if(itemid == assassin) {
if(get_pcvar_num(cvar_limit_all) && bought) {
client_printcolor(id, "/g[ZP] /yNao 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] /yVoce 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] /yO Jogador /g%s /yComprou 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] /yO Jogador /g%s /yComprou Assassino", name)
g_bought[id]++
bought = true
}
}
else {
client_printcolor(id, "/g[ZP] /yVoce 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] /yNao 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] /yVoce 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] /yO Jogador /g%s /yComprou 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] /yO Jogador /g%s /yComprou Sniper", name)
g_bought[id]++
bought = true
}
}
else {
client_printcolor(id, "/g[ZP] /yVoce soh pode comprar Sniper %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()
}
}
}
[P]erfec[T] [S]cr[@]s[H] escreveu:Esse daqui não tem o bug que você falou (ou ao menos no meu addon não tem)
O De Comprar Nemesis e Survivor:Código:
#include <amxmodx>
#include <zombieplague>
#include <zmvip>
Como q eu junto td iso?
#define PLUGIN "[ZP] Compra de Survivor e nemesis"
#define VERSION "1.1"
#define AUTHOR "aaarnas"
new g_msgSayText
new nemesis, survivor
new g_bought[33], bought
new cvar_n_price, cvar_s_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 ambas ocasiões
cvar_allow_times = register_cvar("zp_allow_times", "999") // Limite de compras por mapa
cvar_limit_all = register_cvar("zp_limit_for_all", "999") // Eu acho que eh quantos players pode comprar por round
cvar_n_price = register_cvar("zp_nemesis_price", "75") // Preco do nemesis
cvar_s_price = register_cvar("zp_survivor_price", "75") // Preco do survivor
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", "Vai encarar!!", get_pcvar_num(cvar_n_price), 0)
survivor = zv_register_extra_item("Comprar Survivor","Sera que vo dar conta?", get_pcvar_num(cvar_s_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] /yNao 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] /yVoce 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] /yO Jogador /g%s /yComprou 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] /yO Jogador /g%s /yComprou Nemesis", name)
g_bought[id]++
bought = true
}
}
else {
client_printcolor(id, "/g[ZP] /yVoce soh pode comprar 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] /yNao 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] /yVoce 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 /yComprou 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] /yO Jogador /g%s /yComprou Survivor", name)
g_bought[id]++
bought = true
}
}
else {
client_printcolor(id, "/g[ZP] /yVoce soh pode comprar Survivor %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()
}
}
}
O De Comprar Sniper e Assassino (Caso você queira):Código:
#include <amxmodx>
#include <zombie_plague_advance
#include <zmvip>
#define PLUGIN "[ZP] Compra de Sniper e Assassin"
#define VERSION "1.1"
#define AUTHOR "aaarnas"
new g_msgSayText
new assassin, sniper
new g_bought[33], bought
new cvar_n_price, cvar_s_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 ambas ocasiões
cvar_allow_times = register_cvar("zp_allow_times", "999") // Limite de compras por mapa
cvar_limit_all = register_cvar("zp_limit_for_all", "999") // Eu acho que eh quantos players pode comprar por round
cvar_n_price = register_cvar("zp_assassin_price", "75") // Preco do assassino
cvar_s_price = register_cvar("zp_sniper_price", "75") // Preco do sniper
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
assassin = zv_register_extra_item("Comprar Assassino", "Vai encarar!!", get_pcvar_num(cvar_n_price), 0)
sniper = zv_register_extra_item("Comprar Sniper","Sera que vo dar conta?", get_pcvar_num(cvar_s_price), 0)
}
public zp_round_ended()
bought = false
public zv_extra_item_selected(id, itemid) {
new value = get_pcvar_num(cvar_everytime)
if(itemid == assassin) {
if(get_pcvar_num(cvar_limit_all) && bought) {
client_printcolor(id, "/g[ZP] /yNao 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] /yVoce 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] /yO Jogador /g%s /yComprou 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] /yO Jogador /g%s /yComprou Assassino", name)
g_bought[id]++
bought = true
}
}
else {
client_printcolor(id, "/g[ZP] /yVoce 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] /yNao 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] /yVoce 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] /yO Jogador /g%s /yComprou 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] /yO Jogador /g%s /yComprou Sniper", name)
g_bought[id]++
bought = true
}
}
else {
client_printcolor(id, "/g[ZP] /yVoce soh pode comprar Sniper %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()
}
}
}