[Talk] Script Fácil E Útil!

Bababoom
em Actions e Talkactions

Bababoom

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 11/10/11Posts: 15

Oláá galerinha do Xtibia, fmz ?

Esse e o meu 1° script ^^ então se tiver algum erro postem ai ;]

Esse script eu fiz pois vi em um OT, RadBR, e vi que muitos OT'S com esse mapa, compra desse geito!

!comprar-super-divine-axe ou !comprarsuperdivineaxe

Muito feio não é?

Então desenvolvi o meu ^^ agora fica assim !

!comprar super divine axe ;]

E também fica gravado o nome do player que comprou o ITEM !

Chega de enrolação e vamos ao script!

Crie um arquivo chamado supers.lua na pasta data/talkactions/scripts e cole o seguinte:

Depois vá na mesma pasta e abra o arquivo talkactions.xml e adicione a seguinte TAG:

<talkaction words="!comprar" script="supers.lua"/>

-- Script By: Gustavo Limones --  

local i = 5806 -- Item a ser vendido
local r = 9971 -- Item a ser retirado
local c = 60 -- Quantidade a ser retirado
local e = 1 -- Quantidade a ser vendida

function onSay(cid, words, param)
local pz = "sim"
if(pz == "sim") and (getTilePzInfo(getCreaturePosition(cid)) == false) then
doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa estar em protection zone para poder comprar.")
return true
end
if (param == '') then
doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE, "Para comprar digite !comprar (nome do item). Itens de 60 moedas: super divine staff,super divine axe,super divine sword,super divine club,super divine crossbow,livro nivel 6. Itens de 30 moedas: divine staff,divine club,divine axe,divine sword,divine crossbow,livro nivel 5.")
return true
end
if (param == 'super divine sword') then
if doPlayerRemoveItem(cid,r,c) then
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE) 
local goblet = doPlayerAddItem(cid,7403, 1)
doItemSetAttribute(goblet, "description", "Gratificação do shopping. Este item foi adquirido por " .. getCreatureName(cid) .. ".")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou um item super divino.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possue a quantidade necessária para comprar.")
end
else
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
if (param == 'super divine staff') then
if doPlayerRemoveItem(cid,r,c) then
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE) 
local goblet = doPlayerAddItem(cid,8922, 1)
doItemSetAttribute(goblet, "description", "Gratificação do shopping. Este item foi adquirido por " .. getCreatureName(cid) .. ".")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou um item super divino.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possue a quantidade necessária para comprar.")
end
else
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
if (param == 'super divine axe') then
if doPlayerRemoveItem(cid,r,c) then
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE) 
local goblet = doPlayerAddItem(cid,8926, 1)
doItemSetAttribute(goblet, "description", "Gratificação do shopping. Este item foi adquirido por " .. getCreatureName(cid) .. ".")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou um item super divino.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possue a quantidade necessária para comprar.")
end
else
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
if (param == 'super divine club') then
if doPlayerRemoveItem(cid,r,c) then
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE) 
local goblet = doPlayerAddItem(cid,7423, 1)
doItemSetAttribute(goblet, "description", "Gratificação do shopping. Este item foi adquirido por " .. getCreatureName(cid) .. ".")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou um item super divino.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possue a quantidade necessária para comprar.")
end
else
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
if (param == 'super divine crossbow') then
if doPlayerRemoveItem(cid,r,c) then
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE) 
local goblet = doPlayerAddItem(cid,8851, 1)
doItemSetAttribute(goblet, "description", "Gratificação do shopping. Este item foi adquirido por " .. getCreatureName(cid) .. ".")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou um item super divino.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possue a quantidade necessária para comprar.")
end
else
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
if (param == 'livro nivel 6') then
if doPlayerRemoveItem(cid,r,c) then
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE) 
local goblet = doPlayerAddItem(cid,8921, 1)
doItemSetAttribute(goblet, "description", "Gratificação do shopping. Este item foi adquirido por " .. getCreatureName(cid) .. ".")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou um item super divino.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possue a quantidade necessária para comprar.")
end
else
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
if (param == 'divine axe') then
if doPlayerRemoveItem(cid,r,30) then
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE) 
local goblet = doPlayerAddItem(cid,7453, 1)
doItemSetAttribute(goblet, "description", "Gratificação do shopping. Este item foi adquirido por " .. getCreatureName(cid) .. ".")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou um item divino.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possue a quantidade necessária para comprar.")
end
else
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
if (param == 'divine staff') then
if doPlayerRemoveItem(cid,r,30) then
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE) 
local goblet = doPlayerAddItem(cid,6534, 1)
doItemSetAttribute(goblet, "description", "Gratificação do shopping. Este item foi adquirido por " .. getCreatureName(cid) .. ".")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou um item divino.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possue a quantidade necessária para comprar.")
end
else
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
if (param == 'divine crossbow') then
if doPlayerRemoveItem(cid,r,30) then
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE) 
local goblet = doPlayerAddItem(cid,8853, 1)
doItemSetAttribute(goblet, "description", "Gratificação do shopping. Este item foi adquirido por " .. getCreatureName(cid) .. ".")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou um item divino.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possue a quantidade necessária para comprar.")
end
else
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
if (param == 'divine sword') then
if doPlayerRemoveItem(cid,r,30) then
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE) 
local goblet = doPlayerAddItem(cid,7418, 1)
doItemSetAttribute(goblet, "description", "Gratificação do shopping. Este item foi adquirido por " .. getCreatureName(cid) .. ".")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou um item divino.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possue a quantidade necessária para comprar.")
end
else
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
if (param == 'divine club') then
if doPlayerRemoveItem(cid,r,30) then
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE) 
local goblet = doPlayerAddItem(cid,7392, 1)
doItemSetAttribute(goblet, "description", "Gratificação do shopping. Este item foi adquirido por " .. getCreatureName(cid) .. ".")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou um item divino.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possue a quantidade necessária para comprar.")
end
else
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
if (param == 'livro nivel 5') then
if doPlayerRemoveItem(cid,r,30) then
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE) 
local goblet = doPlayerAddItem(cid,8904, 1)
doItemSetAttribute(goblet, "description", "Gratificação do shopping. Este item foi adquirido por " .. getCreatureName(cid) .. ".")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou um item divino.")
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não possue a quantidade necessária para comprar.")
end
else
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
end

 

Se tiver algum BUG me avisem que arrumo!!

By ~ Gustavo Limones

AVISO: O SCRIPT NÃO ESTÁ AUTORIZADO A SER POSTADO EM OUTRO FÓRUM! FEITO EXCLUSIVAMENTE PARA O Xtibia !!

REGE SATANAS! AVE SATANAS! HAIL SATAN!

Leoprotons

Rock nas Veia, e nas Véia tambêm!!!
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 14/08/10Posts: 186

Nossa, seu posta ta muito bagunçado, poluição visual total, mais o script parece bom. Não testei, mais se funcionar, e de grande utilidade. Parabéns.

otserver.png

white788

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/10/11Posts: 1Char no Tibia: Sayone

É um script simples. '-'

Bababoom

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 11/10/11Posts: 15

Obrigado pelas criticas e elogios!!

Como eu disse é o meu 1° script consequentemente o meu 1° POST os outros serão melhores ;]...

Nunca havia feito scripts por ser o 1° está bom ?

REGE SATANAS! AVE SATANAS! HAIL SATAN!

Leoprotons

Rock nas Veia, e nas Véia tambêm!!!
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 14/08/10Posts: 186

sim esta bom, e só tende a melhorar né,espero que esteja sempre por ai postando scripts pra nós.

otserver.png

Administrador

xTibia 2017
avatar
Administrador
Administrador

INFOS

Grupo: AdministradorRegistrado: 09/07/05Posts: 5780Gênero: Outro

BababoomServer,

 

Coloca um título resumindo o que sua talkaction faz, vai ajudar a galera.

DICA

Utilize botão @UP, no início de seu tópico, para atualizar o destaque de seu tópico em "Tópicos Recentes" na index, fará com que mais pessoas o vejam.

 

 

Oneshot

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/07/09Posts: 1347

Para seu primeiro script você está regular. Experimente usar elseif para valores diferentes de param, ao invés de usar vários e vários if.