MA
talkaction

Broadcast Para Players Vips Ou Nao.

Por MatheusGlad, 08 de jun. de 2010 em Actions e Talkactions

otserv
tibia
script
23
7.7k
MatheusGladM
08 de junho de 2010 às 13:43

Bem gente como o script é auto explicativo entao nao vou explicar muito não...

  • Oque o script faz?
  • Ele faz com que saia um broadcast para todos os players com a mensagem que ele quizer. Voce pode botar para vips ou para players comuns ou para cobrar dinheiro.

Script:

Va em talkactions/scripts crie um arquivo.lua com o nome de talkbroad e bote este script dentro:

------ Script By MatheusMkalo for Xtibia.com Users -------
local configs = {
cobrar = "sim", ------ Use sim ou nao para cobrar.
sovip = "nao",  ------ Se somente vip players poderam usar o comando
price = 1000,   ------ Preço a pagar se o cobrar estiver ativado.
storage = 80123 ------ Storage Id da sua vip account caso for usar somente vips
}
function onSay(cid, words, param)
local nada = {" "}

	 if table.isStrIn(param, nada) or param == "" then
		doPlayerSendCancel(cid,"Voce precisa falar alguma coisa.")	
	 return TRUE
	 end

	 if configs.sovip == "sim" and getPlayerStorageValue(cid, tonumber(configs.storage))  - os.time() <= 0 then
		doPlayerSendCancel(cid,"Você não é vip.")
	 return TRUE
	 end

	 if configs.cobrar == "sim" and not doPlayerRemoveMoney(cid,tonumber(configs.price)) then
		doPlayerSendCancel(cid,"Você não tem dinheiro suficiente.")
	 return TRUE
	 end

	 doBroadcastMessage(""..getCreatureName(cid).." ["..getPlayerLevel(cid).."]: " .. param .. "", MESSAGE_INFO_DESCR)
	 return TRUE
end	  

 

Agora va em talkactions.xml e bote esta tag:

<talkaction words="!broadcast" event="script" value="talkbroad.lua"/>

 

Exclusividade Xtibia. A postagem em qualquer outro local é considerada RIP.

Editado Junho 11 por Lordfire

Henrique MouraH
08 de junho de 2010 às 13:45

Bem antigo isso, mas deve ser útil.

 

Abraços.

DoidinD
08 de junho de 2010 às 14:28

Script simples porem bastante procurado/utilizado...

REP+ abraços! =)

Editado Junho 8 por DoidinMapper

matheus1000M
08 de junho de 2010 às 20:15

Ótimo,

 

meu amigo estava precisando. Vou mandar para ele.

 

+REP

Editado Junho 14 por MasterMathw

VodkartV
08 de junho de 2010 às 21:13

cara essa sua script tem um erro quando o player é vip é mandando a mensagem normal... ai se caso o player perde a vip ou acabar a vip ele ainda pode mandar mensagem...

 

soh troca a linha:

 

if configs.sovip == "sim" and getPlayerStorageValue(cid, tonumber(configs.storage)) <= 0 then

por essa:

if configs.sovip == "sim" and getPlayerStorageValue(cid, tonumber(configs.storage))  - os.time() <= 0 then

 

abraços

10 meses depois...
tinfer3T
11 de abril de 2011 às 13:12

estava atrás desse broadcast para vips obrigado

12 de abril de 2011 às 18:29

Tem como se por pra premium usar so??

Se der do REP+

:thumbsupsmiley:

5 meses depois...
reeiR
14 de setembro de 2011 às 12:29

cara aonde q eu mudo, os cara fala aparece em verde queria q aparecesse em branco tem como?

6 meses depois...
edmollaE
07 de março de 2012 às 21:37

bom desculpa reviver o tópico porém preciso desse script pra PREMIUM não sei se alguém vai me ajudar mais queria saber o que mudar pra por pre apenas premium usar esse comando

VodkartV
07 de março de 2012 às 21:54

@UP

------ Script By MatheusMkalo for Xtibia.com Users -------
local configs = {
cobrar = "sim", ------ Use sim ou nao para cobrar.
sopremium = "nao",  ------ Se somente vip players poderam usar o comando
price = 1000,   ------ Preço a pagar se o cobrar estiver ativado.
storage = 80123 ------ Storage Id da sua vip account caso for usar somente vips
}
function onSay(cid, words, param)
local nada = {" "}

        if table.isStrIn(param, nada) or param == "" then
           doPlayerSendCancel(cid,"Voce precisa falar alguma coisa.")    
        return TRUE
        end

        if configs.sopremium == "sim" and not isPremium(cid) then
           doPlayerSendCancel(cid,"Você não é premium.")
        return TRUE
        end

        if configs.cobrar == "sim" and not doPlayerRemoveMoney(cid,tonumber(configs.price)) then
           doPlayerSendCancel(cid,"Você não tem dinheiro suficiente.")
        return TRUE
        end

        doBroadcastMessage(""..getCreatureName(cid).." ["..getPlayerLevel(cid).."]: " .. param .. "", MESSAGE_INFO_DESCR)
        return TRUE
end

edmollaE
08 de março de 2012 às 01:03

vlw vodkart rep+ concerteza amanha pq ja acabou meus rep de hj

 

if configs.sopremium == "sim" and not isPremium(cid) then

 

 

eu tava quase chegando la olha como coloquei

 

if configs.prem == "sim" and isPremium(cid) - os.time()

 

mudei ali nas configs aonde eh sovip mudei pra prem apenas

kelvinvictorK
11 de março de 2012 às 00:27

Só estudar mais que consegue

DersinhoD
14 de março de 2012 às 00:38

tem com por exasted na mensagem para evitar spam?

ZmovirZ
14 de março de 2012 às 00:49
------ Script By MatheusMkalo for Xtibia.com Users -------

local configs = {

cobrar = "sim", ------ Use sim ou nao para cobrar.

sovip = "nao", ------ Se somente vip players poderam usar o comando

price = 1000, ------ Preço a pagar se o cobrar estiver ativado.

time = 100, ------ Tempo do exhaust.

storagetime = 80124, ------ nao mecha.

storage = 80123 ------ Storage Id da sua vip account caso for usar somente vips

}

function onSay(cid, words, param)

local nada = {" "}

 

if table.isStrIn(param, nada) or param == "" then

doPlayerSendCancel(cid,"Voce precisa falar alguma coisa.")

return TRUE

end

 

if exhaustion.check(cid, storagetime) == false then

exhaustion.set(cid, storagetime, time)

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "You are exhausted for: " ..exhaustion.get(cid, storagetime).." seconds.")

end

 

if configs.sovip == "sim" and getPlayerStorageValue(cid, tonumber(configs.storage)) - os.time() <= 0 then

doPlayerSendCancel(cid,"Você não é vip.")

return TRUE

end

 

if configs.cobrar == "sim" and not doPlayerRemoveMoney(cid,tonumber(configs.price)) then

doPlayerSendCancel(cid,"Você não tem dinheiro suficiente.")

return TRUE

end

 

doBroadcastMessage(""..getCreatureName(cid).." ["..getPlayerLevel(cid).."]: " .. param .. "", MESSAGE_INFO_DESCR)

return TRUE

end

 

ou

------ Script By MatheusMkalo for Xtibia.com Users -------

local configs = {

cobrar = "sim", ------ Use sim ou nao para cobrar.

sovip = "nao", ------ Se somente vip players poderam usar o comando

price = 1000, ------ Preço a pagar se o cobrar estiver ativado.

time = 100, ------ Tempo do exhaust.

storagetime = 80124, ------ nao mecha.

storage = 80123 ------ Storage Id da sua vip account caso for usar somente vips

}

function onSay(cid, words, param)

local nada = {" "}

 

if table.isStrIn(param, nada) or param == "" then

doPlayerSendCancel(cid,"Voce precisa falar alguma coisa.")

return TRUE

end

 

if exhaustion.check(cid, storagetime) == false then

exhaustion.set(cid, storagetime, time)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "You are exhausted for: " ..exhaustion.get(cid, storagetime).." seconds.")

return TRUE

end

 

if configs.sovip == "sim" and getPlayerStorageValue(cid, tonumber(configs.storage)) - os.time() <= 0 then

doPlayerSendCancel(cid,"Você não é vip.")

return TRUE

end

 

if configs.cobrar == "sim" and not doPlayerRemoveMoney(cid,tonumber(configs.price)) then

doPlayerSendCancel(cid,"Você não tem dinheiro suficiente.")

return TRUE

end

 

doBroadcastMessage(""..getCreatureName(cid).." ["..getPlayerLevel(cid).."]: " .. param .. "", MESSAGE_INFO_DESCR)

return TRUE

end

 

ou

------ Script By MatheusMkalo for Xtibia.com Users -------

local configs = {

cobrar = "sim", ------ Use sim ou nao para cobrar.

sovip = "nao", ------ Se somente vip players poderam usar o comando

price = 1000, ------ Preço a pagar se o cobrar estiver ativado.

time = 100, ------ Tempo do exhaust.

storagetime = 80124, ------ Nao mecha.

storage = 80123 ------ Storage Id da sua vip account caso for usar somente vips

}

function onSay(cid, words, param)

local nada = {" "}

 

if table.isStrIn(param, nada) or param == "" then

doPlayerSendCancel(cid,"Voce precisa falar alguma coisa.")

return TRUE

end

 

if exhaustion.check(cid, storagetime) == false then

exhaustion.set(cid, storagetime, time)

doPlayerSendCancel(cid,"You are exhausted for: " ..exhaustion.get(cid, storagetime).." seconds.")

return TRUE

end

 

if configs.sovip == "sim" and getPlayerStorageValue(cid, tonumber(configs.storage)) - os.time() <= 0 then

doPlayerSendCancel(cid,"Você não é vip.")

return TRUE

end

 

if configs.cobrar == "sim" and not doPlayerRemoveMoney(cid,tonumber(configs.price)) then

doPlayerSendCancel(cid,"Você não tem dinheiro suficiente.")

return TRUE

end

 

doBroadcastMessage(""..getCreatureName(cid).." ["..getPlayerLevel(cid).."]: " .. param .. "", MESSAGE_INFO_DESCR)

return TRUE

end

 

 

testa as 3 ai

Editado Março 14 por Zmovir

DersinhoD
14 de março de 2012 às 12:15

[Error - TalkActions interfaxe

data/talkactions/scripts/talkbroad.lua:Say

Description:

data/lib/034-exhaustion.lua:28 attempt to perform arithmetic on local 'time' (a nil value)

stack traceback

data/lib/034-exastion.lua:28: in function 'set'

data/talkactions/scripts/talkbroad.lua:19:in function<data talkactions/scripts/talkbroad.lua:10>

 

aparece esse mesmo erro nos 3 scripts uso tfs 0.4 o0''