Ir para conteúdo
  • 0

Talckaction !post "Texto"


lokitobr12

Pergunta

Queria uma Talkaction que quando o players falasse !post "Vendo 1 real" Fala para todos, mas que não saísse na tela e sim lá no "Local Chat" e em laranja. Todos os players podem usar mas terão de pagar uma taxa de 1 crystal coin a cada vez que falasse, e por um tempo também, a cada 2 minutos podia falar, para não ter muito FLOOD.

 

 

Obrigado. E REP+ ;]

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

testa ae...

 

function onSay(cid, words, param, channel)

 

local storage = 66988

 

if param == "" then

return doPlayerSendTextMessage(cid, 27, "Param missing! !post [msg]")

elseif exhaustion.check(cid, storage) then

return doPlayerSendTextMessage(cid, 27, "You need to wait ".. exhaustion.get(cid, storage).."segs to use this command again!")

end

 

if doPlayerRemoveMoney(cid, 100000) == true then

for _, player in pairs(getPlayersOnline()) do

doPlayerSendTextMessage(player, 20, param)

end

exhaustion.set(cid, storage, 120)

else

return doPlayerSendTextMessage(cid, 27, "You need at least 1 crystal coin to use this command!")

end

 

return true

end

 

 

tag

<talkaction words="!post" event="script" value="Post.lua"/>

 

lembrando q GOD e achu q GM poderam usar sempre esse comando sem exaustion... entao teste com um player normal...

e n sei se eh bem aquilo q equivale a 1 crystal coin.. n jogo tibia.. ;x

qlqr coisa muda aki.. 100000...

Link para o comentário
Compartilhar em outros sites

  • 0

Okay irei testar, ja ja edito ;]

 

 

Pegou, mas não mostra o nome do player, queria que mostrasse se possível :D

 

Ex: !post "Arroz"
16:49 Teststs [8]: Arroz

Obrigado.

Editado por lokitobr12
Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe Ja Corrigi!..

[code]
function onSay(cid, words, param, channel)

local storage = 66988

if param == "" then
return doPlayerSendTextMessage(cid, 27, "Param missing! !post [msg]")
elseif exhaustion.check(cid, storage) then
return doPlayerSendTextMessage(cid, 27, "You need to wait ".. exhaustion.get(cid, storage).."segs to use this command again!")
end

if doPlayerRemoveMoney(cid, 100000) == true then
for _, player in pairs(getPlayersOnline()) do
doPlayerSendTextMessage(player, 20, "O "..getPlayerName(cid).. " ["..getPlayerLevel(cid).."] ".." Esta Vendendo "..param.."!")
end
exhaustion.set(cid, storage, 120)
else
return doPlayerSendTextMessage(cid, 27, "You need at least 1 crystal coin to use this command!")
end

return true
end

Editado por mulizeu
Link para o comentário
Compartilhar em outros sites

  • 0

[14/12/2012 18:05:30] [Error - TalkAction Interface]

[14/12/2012 18:05:30] data/talkactions/scripts/post.lua:onSay

[14/12/2012 18:05:30] Description:

[14/12/2012 18:05:30] data/talkactions/scripts/post.lua:13: attempt to concatenate a nil value

[14/12/2012 18:05:30] stack traceback:

[14/12/2012 18:05:30] data/talkactions/scripts/post.lua:13: in function <data/talkactions/scripts/post.lua:1>

 

Deu erro aqui o sue Mulizeu

Link para o comentário
Compartilhar em outros sites

  • 0

local config = {
   storage = 66998,
   delay = 2 * 60,
   needMoney = 10000
}

function onSay(cid, words, param, channel)
   if param == "" then
       doPlayerSendCancel(cid, words .." [message]")
       return true
   end

   if not doPlayerRemoveMoney(cid, config.needMoney) then
       doPlayerSendCancel(cid, "Sorry, you need ".. config.needMoney .." to use this command.")
       return true
   end

   if getCreatureStorage(cid, config.storage) > os.time() then
       doPlayerSendCancel(cid, "Sorry, you need to wait ".. getCreatureStorage(cid, config.storage) - os.time() .." seconds to use this command.")
       return true
   end

   local msg = getCreatureName(cid) .." [".. getPlayerLevel(cid) .."]".. param
   for _, pid in ipairs(getPlayersOnline()) do
       if pid != cid then
           doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_ORANGE, msg)
       end
   end
   doCreatureSetStorage(cid, config.storage, os.time() + config.delay)
   return true
end

 

Toma.

Link para o comentário
Compartilhar em outros sites

  • 0

o meu aqui funcionou:

 


function onSay(cid, words, param, channel)

local storage = 66988

if param == "" then
return doPlayerSendTextMessage(cid, 27, "Param missing! !post [msg]")
elseif exhaustion.check(cid, storage) then
return doPlayerSendTextMessage(cid, 27, "You need to wait ".. exhaustion.get(cid, storage).."segs to use this command again!")
end

if doPlayerRemoveMoney(cid, 100000) == true then
for _, player in pairs(getPlayersOnline()) do
doPlayerSendTextMessage(player, 20, ""..getCreatureName(cid).."["..getPlayerLevel(cid).."] está vendendo "..param.."")
end
exhaustion.set(cid, storage,120)
else
return doPlayerSendTextMessage(cid, 27, "You need at least 1 crystal coin to use this command!")
end

return true
end

 

era linha 13 que tava errada, arrumei pra você e testei.

 

ta assim

 

19:21 GOD Raymond[1] está vendendo Skydangerous

Editado por SkyDangerous
Link para o comentário
Compartilhar em outros sites

  • 0

Deu certo sky, mas e se o player estiver comprando? Tem como colocar no mesmo script? Ou teria de fazer outro?

 

 

Obrigado a todos.

 

 

 

Oneshot O seu deu um erro acho que na linha 25 com o "!"

Editado por lokitobr12
Link para o comentário
Compartilhar em outros sites

  • 0

É que eu coloquei para enviar apenas para os outros jogadores e não para o próprio jogador.

 

local config = {
   storage = 66998,
   delay = 2 * 60,
   needMoney = 10000
}

function onSay(cid, words, param, channel)
   if param == "" then
       doPlayerSendCancel(cid, words .." [message]")
       return true
   end

   if not doPlayerRemoveMoney(cid, config.needMoney) then
       doPlayerSendCancel(cid, "Sorry, you need ".. config.needMoney .." to use this command.")
       return true
   end

   if getCreatureStorage(cid, config.storage) > os.time() then
       doPlayerSendCancel(cid, "Sorry, you need to wait ".. getCreatureStorage(cid, config.storage) - os.time() .." seconds to use this command.")
       return true
   end

   local msg = getCreatureName(cid) .." [".. getPlayerLevel(cid) .."]".. param
   for _, pid in ipairs(getPlayersOnline()) do
       doPlayerSendTextMessage(pid, MESSAGE_STATUS_CONSOLE_ORANGE, msg)
   end
   doCreatureSetStorage(cid, config.storage, os.time() + config.delay)
   return true
end

 

Agora está tudo certo.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...