Ir para conteúdo

Featured Replies

Postado

Fala galera, uma talk que eu fiz esses tempos e vou postar aqui.

Como funciona: Você deve criar os monstros e depois adiciona-los ao script para poderem ser comprados.

Palavras:

!summon - Sumona o seu summon por certo tempo gastando uma certa quantidade de soul, caso você tenha comprado ele já..

!buysummon - Compra o summon por um preço.

!sellsummon - Vende o summon por metade do preço que você comprou ele.

!offer - Checa as ofertas de summons a venda.

Talkaction:

function onSay(cid, words, param)


local buyprice = {

['rat'] = {price = 1000, message = "Parabéns, você comprou o Rat, cuide bem dele.", seconds = 10, soul = 30},

['skeleton'] = {price = 10000, message = "Parabéns, você comprou o Skeleton, cuide bem dele.", seconds = 30, soul = 40},

['demon'] = {price = 100000, message = "Parabéns, você comprou o Demon, cuide bem dele.", seconds = 60, soul = 50},

}

local offert = ""


if words == "!summon" then

if getPlayerStorageValue(cid, 22000) ~= -1 then

if #getCreatureSummons(cid) == 0 then

if getPlayerSoul(cid) >= buyprice[getPlayerStorageValue(cid, 22000)].soul then

doSummonPet(cid, getPlayerStorageValue(cid, 22000), buyprice[getPlayerStorageValue(cid, 22000)].seconds)

doPlayerSendTextMessage(cid, 4, "Você usou seu summon, dentro de ".. buyprice[getPlayerStorageValue(cid, 22000)].seconds .." ele irá ser removido.")

doPlayerAddSoul(cid, - (buyprice[getPlayerStorageValue(cid, 22000)].soul))

else

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

doSendMagicEffect(getCreaturePosition(cid), 2)

end

else

doPlayerSendCancel(cid, "Você não pode mais sumonar.")

doSendMagicEffect(getCreaturePosition(cid), 2)

end

else

doPlayerSendCancel(cid, "Você ainda não possui um summon.")

doSendMagicEffect(getCreaturePosition(cid), 2)

end

end


if words == "!buysummon" then

if param ~= "" then

if getPlayerStorageValue(cid, 22000) == -1 then

if getPlayerMoney(cid) >= buyprice[string.lower(param)].price then

setPlayerStorageValue(cid, 22000, string.lower(param))

doPlayerSendTextMessage(cid, 4, buyprice[string.lower(param)].message)

doPlayerRemoveMoney(cid, buyprice[string.lower(param)].price)

else

doPlayerSendCancel(cid, "Você não tem dinheiro suficiente para comprar este summon.")

doSendMagicEffect(getCreaturePosition(cid), 2)

end

else

doPlayerSendCancel(cid, "Você já possui um summon.")

doSendMagicEffect(getCreaturePosition(cid), 2)

end

else

doPlayerSendCancel(cid, "Escolha o summon a ser comprado.")

doSendMagicEffect(getCreaturePosition(cid), 2)

end

end


if words == "!sellsummon" then

if getPlayerStorageValue(cid, 22000) ~= -1 then

doPlayerAddMoney(cid, (buyprice[getPlayerStorageValue(cid, 22000)].price)*5/10)

doPlayerSendTextMessage(cid, 4, "Summon vendido com sucesso.")

setPlayerStorageValue(cid, 22000, -1)

else

doPlayerSendCancel(cid, "Você não possui um summon.")

doSendMagicEffect(getCreaturePosition(cid), 2)

end

end


if words == "!offer" then

for name, _ in pairs(buyprice) do

offert = offert == "" and "Summons: \n\n" .. name .. " " .. buyprice[name].price or offert .. "\n" .. name .. " " .. buyprice[name].price

end

doShowTextDialog(cid, 2160, offert)

end


return TRUE

end
Adicione o script acima em data/talkactions/scripts. Tag:
<talkaction words="!summon;!buysummon;!sellsummon;!offer" script="NomeDoArquivo.lua" />
Como adicionar mais monstros ao comando:
function doSummonPet(cid, name, time)


if isMonster(getCreatureByName(name)) then

local sum = doSummonMonster(cid, name)

if type(time) == "number" then

addEvent(doRemovePet, time*1000, cid, name)

end

else

return error("Creature not found!")

end

end


function doRemovePet(cid, name)


for y, x in ipairs(getCreatureSummons(cid)) do

if isCreature(x) then

if string.lower(getCreatureName(x)) == name then

doRemoveCreature(x)

break

end

end

end

end

Adicione isso em data/lib/functions para que funcione.

É isso, até mais.

Mostrar conteúdo oculto
Adicionando:
Price é o preço para comprar o summon, Message é a mensagem que irá aparecer quando o summon for comprado. Seconds é o tempo que o summon durará quando for sumonado. Se desejar que seja infinito, coloque seconds = FALSE Soul é quanto que gastará de soul para sumonar o monstro.
Funções:
Postado

Olha quem eu vejo por aqui (:,

Grande professor Demonb.

@Topic

Simplesmente incrivel cara,

Como todos seu script.

Abraços

Kimoszin

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo