Ir para conteúdo
  • Cadastre-se

(Resolvido)Tile que dê Outfit temporiaramente


Ir para solução Resolvido por Adriano SwaTT,

Posts Recomendados

1° alguém poderia mim fala como que eu faço um piso que se o player fica em cima dele, ele fique com uma Outfit e depois que ele sair voltasse para a normal

porque eu queria colocar para os players testarem como que fica nele antes de comprar

 

 

2° um membro do tibiaking e muito amigo criou esse script de compra outfit, mais só que quando o player compra a outfit que desloga ele vem com a outfit normal e não fica a outfit comprada no invetario :(

 

script

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end

function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

------------------- CONFIG INICIAIS --------------
local diamond, qtdd = 2145, 5 -- ID do Diamante, Quantidade

local nome1, name1 = 'ash', 'Ash Ketchum' -- Palavra falada ao NPC, Nome do Outfit
local outfitid1 = 1912 -- Aqui a id da outfit 1

local nome2, name2 = 'scorpion', 'Scorpion' -- Palavra falada ao NPC, Nome do Outfit
local outfitid2 = 1907 -- Aqui a id da outfit 2

local nome3, name3 = 'sub zero', 'Sub Zero' -- Palavra falada ao NPC, Nome do Outfit
local outfitid3 = 1906 -- Aqui a id da outfit 3

local nome4, name4 = 'homer', 'Homer' -- Palavra falada ao NPC, Nome do Outfit
local outfitid4 = 1905 -- Aqui a id da outfit 4

local nome5, name5 = 'panico', 'Panico' -- Palavra falada ao NPC, Nome do Outfit
local outfitid5 = 1904 -- Aqui a id da outfit 5

local nome6, name6 = 'spider man', 'Spider Man' -- Palavra falada ao NPC, Nome do Outfit
local outfitid6 = 1903 -- Aqui a id da outfit 6

------------------ MESSAGENS --------------------------
if msgcontains(msg, nome1) then
selfSay('Voce deseja comprar a outfit do '..name1..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 3

elseif msgcontains(msg, nome2) then
selfSay('Voce deseja comprar a outfit do '..name2..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 5

elseif msgcontains(msg, nome3) then
selfSay('Voce deseja comprar a outfit do '..name3..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 7

elseif msgcontains(msg, nome4) then
selfSay('Voce deseja comprar a outfit do '..name4..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 9

elseif msgcontains(msg, nome5) then
selfSay('Voce deseja comprar a outfit do '..name5..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 11

elseif msgcontains(msg, nome6) then
selfSay('Voce deseja comprar a outfit do '..name6..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 13

elseif (msgcontains(msg, 'trade') or msgcontains(msg, 'hi')) then
selfSay(' Digite qual Outfit deseja adquirir.', cid)
selfSay('Atualmente temos a do ash, scorpion, sub zero, homer, panico e spider man', cid)
talkState[talkUser] = 0

---------------------- NEGOCIAÇÃO ---------------------------------------

elseif talkState[talkUser] == 3 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid1, 3)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid1, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 5 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid2, 3)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid2, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 7 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid3, 3)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid3, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 9 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid4, 3)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid4, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 11 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid5, 3)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid5, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 13 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid6, 3)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid6, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

    end
  return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Editado por SliceFalso (veja o histórico de edições)

                                                            vps-plano-01.png

 

                                                                                                                    http://www.weblara.com.br/

Link para o post
Compartilhar em outros sites

Vou almoçar e já resolvo pra ti.

Até já.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Vou almoçar e já resolvo pra ti.

Até já.

Obrigado Adriano SwaTT

Editado por SliceFalso (veja o histórico de edições)

                                                            vps-plano-01.png

 

                                                                                                                    http://www.weblara.com.br/

Link para o post
Compartilhar em outros sites

Preciso dar uma saída...

Mas o estranho é que no script do NPC coloquei para mudar a outfit mas também adicionar ao player.

Então creio que será preciso editar o outfit.xml e por storage para tê-los, aí coloca para o NPC dar esta storage.

 

Faço quando voltar.

 

Abraços.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Preciso dar uma saída...

Mas o estranho é que no script do NPC coloquei para mudar a outfit mas também adicionar ao player.

Então creio que será preciso editar o outfit.xml e por storage para tê-los, aí coloca para o NPC dar esta storage.

 

Faço quando voltar.

 

Abraços.

Obrigado você é d+

                                                            vps-plano-01.png

 

                                                                                                                    http://www.weblara.com.br/

Link para o post
Compartilhar em outros sites

Me envie seu outfit.xml pra eu ver uma coisa.

E/ou também, poste a storage de cada outfit que quer seja vendida.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

1° Script:

--Em outfit você coloca o LookType, o id da outfit
--Em tempo, você coloca o tempo(em segundos) que a outfit ira durar enquanto o usuário ficar no tile.

local outfit = 1
local tempo = 1
function onStepIn(cid, item, pos, fromPos)
 if isPlayer(cid) then
 doSetCreatureOutfit(cid, outfit, tempo*1000)
 end
end
function onStepOut(cid, item, pos, fromPos)
 if isPlayer(cid) then
 doSetCreatureOutfit(cid, outfit, 1)
 end
end 

Acho que pode ser isso, nunca mais fiz um script, acho que pode funcionar testa ai.

 

Editado por Snowsz (veja o histórico de edições)
                              _
                          .-'` `}
                  _./)   /       }
                .'o   \ |       }
                '.___.'`.\    {`
                /`\_/  , `.    }                                      ME DA UMA NOZ!
                \=' .-'   _`\  {
                 `'`;/      `,  }
                    _\   @   ;  }
                   /__`;-...'--'

Cluck!

Link para o post
Compartilhar em outros sites

Me envie seu outfit.xml pra eu ver uma coisa.

E/ou também, poste a storage de cada outfit que quer seja vendida.

Não tem ele no outfit.xml porque eu só quero vende :)

 

1° Script:

--Em outfit você coloca o LookType, o id da outfit
--Em tempo, você coloca o tempo(em segundos) que a outfit ira durar enquanto o usuário ficar no tile.

local outfit = 1
local tempo = 1
function onStepIn(cid, item, pos, fromPos)
 if isPlayer(cid) then
 doSetCreatureOutfit(cid, outfit, tempo*1000)
 end
end
function onStepOut(cid, item, pos, fromPos)
 if isPlayer(cid) then
 doSetCreatureOutfit(cid, outfit, 1)
 end
end 

Acho que pode ser isso, nunca mais fiz um script, acho que pode funcionar testa ai.

 

irei testar

                                                            vps-plano-01.png

 

                                                                                                                    http://www.weblara.com.br/

Link para o post
Compartilhar em outros sites

showoutfit.lua (data/movements/scripts):

local poutfit = {lookType = 104}

function onStepIn(cid, item, pos, fromPos)
    if isPlayer(cid) then
        doSetCreatureOutfit(cid, poutfit, -1)
    end
return 1
end

function onStepOut(cid, item, pos, fromPos)
    if isPlayer(cid) then
        doRemoveCondition(cid, CONDITION_OUTFIT)
    end
return 1
end

movements.xml (data/movements), tags:

<movevent type="StepIn" actionid="9876" event="script" value="showoutfit.lua"/>
<movevent type="StepOut" actionid="9876" event="script" value="showoutfit.lua"/>

Basta adicionar a ACTIONID 9876 ao piso (tile).

Enquanto ao NPC irei rever o script mais tarde..

Editado por Bizzle (veja o histórico de edições)

Se te ajudei com o que postei, clique em liked.png
Bizzle

Link para o post
Compartilhar em outros sites

showoutfit.lua (data/movements/scripts):

local poutfit = 105

function onStepIn(cid, item, pos, fromPos)
	if isPlayer(cid) then
		doSetCreatureOutfit(cid, poutfit, -1)
	end
return 1
end

function onStepOut(cid, item, pos, fromPos)
	if isPlayer(cid) then
		doRemoveCondition(cid, CONDITION_OUTFIT)
	end
return 1
end

movements.xml (data/movements), tags:

<movevent type="StepIn" actionid="9876" event="script" value="showoutfit.lua"/>
<movevent type="StepOut" actionid="9876" event="script" value="showoutfit.lua"/>

Basta adicionar a ACTIONID 9876 ao piso (tile).

Enquanto ao NPC irei rever o script mais tarde..

 

 

deu erro nessa função

doSetCreatureOutfit
Editado por SliceFalso (veja o histórico de edições)

                                                            vps-plano-01.png

 

                                                                                                                    http://www.weblara.com.br/

Link para o post
Compartilhar em outros sites

Teste assim o do Piso:

local newtype = XXX -- ID da Outfit

        function onStepIn(cid, item, pos, fromPos)
    if isPlayer(cid) then
        get = getCreatureOutfit(cid)
        a = {lookType = newtype, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
    end
return true
end

        function onStepOut(cid, item, pos, fromPos)
    if isPlayer(cid) then
        doRemoveCondition(cid, CONDITION_OUTFIT)
    end
end

Caso vá fazer um piso para cada Outfit, me avise.

 

#EDIT:

Já a do NPC, você pode adicionar as outfits no outfit.xml e adicionar para só poder usá-la quem tiver XXX storage, aí coloca para o NPC dar esta storage.

Entendeu?

 

#EDIT²

Bom, eu basicamente nunca havia criado script com a função de adicionar outfit usando esta tag, mas conforme pesquisei, compensa testar novamente como abaixo:

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end

function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

------------------- CONFIG INICIAIS --------------
local diamond, qtdd = 2145, 5 -- ID do Diamante, Quantidade

local nome1, name1 = 'ash', 'Ash Ketchum' -- Palavra falada ao NPC, Nome do Outfit
local outfitid1 = 1912 -- Aqui a id da outfit 1

local nome2, name2 = 'scorpion', 'Scorpion' -- Palavra falada ao NPC, Nome do Outfit
local outfitid2 = 1907 -- Aqui a id da outfit 2

local nome3, name3 = 'sub zero', 'Sub Zero' -- Palavra falada ao NPC, Nome do Outfit
local outfitid3 = 1906 -- Aqui a id da outfit 3

local nome4, name4 = 'homer', 'Homer' -- Palavra falada ao NPC, Nome do Outfit
local outfitid4 = 1905 -- Aqui a id da outfit 4

local nome5, name5 = 'panico', 'Panico' -- Palavra falada ao NPC, Nome do Outfit
local outfitid5 = 1904 -- Aqui a id da outfit 5

local nome6, name6 = 'spider man', 'Spider Man' -- Palavra falada ao NPC, Nome do Outfit
local outfitid6 = 1903 -- Aqui a id da outfit 6

------------------ MESSAGENS --------------------------
if msgcontains(msg, nome1) then
selfSay('Voce deseja comprar a outfit do '..name1..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 3

elseif msgcontains(msg, nome2) then
selfSay('Voce deseja comprar a outfit do '..name2..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 5

elseif msgcontains(msg, nome3) then
selfSay('Voce deseja comprar a outfit do '..name3..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 7

elseif msgcontains(msg, nome4) then
selfSay('Voce deseja comprar a outfit do '..name4..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 9

elseif msgcontains(msg, nome5) then
selfSay('Voce deseja comprar a outfit do '..name5..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 11

elseif msgcontains(msg, nome6) then
selfSay('Voce deseja comprar a outfit do '..name6..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 13

elseif (msgcontains(msg, 'trade') or msgcontains(msg, 'hi')) then
selfSay(' Digite qual Outfit deseja adquirir.', cid)
selfSay('Atualmente temos a do ash, scorpion, sub zero, homer, panico e spider man', cid)
talkState[talkUser] = 0

---------------------- NEGOCIAÇÃO ---------------------------------------

elseif talkState[talkUser] == 3 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid1, 2)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid1, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 5 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid2, 2)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid2, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 7 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid3, 2)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid3, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 9 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid4, 2)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid4, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 11 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid5, 2)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid5, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 13 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid6, 2)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid6, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

    end
  return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Boa sorte.

Editado por Adriano SwaTT (veja o histórico de edições)

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Teste assim o do Piso:

local newtype = XXX -- ID da Outfit

        function onStepIn(cid, item, pos, fromPos)
    if isPlayer(cid) then
        get = getCreatureOutfit(cid)
        a = {lookType = newtype, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
    end
return true
end

        function onStepOut(cid, item, pos, fromPos)
    if isPlayer(cid) then
        doRemoveCondition(cid, CONDITION_OUTFIT)
    end
end

Caso vá fazer um piso para cada Outfit, me avise.

 

#EDIT:

Já a do NPC, você pode adicionar as outfits no outfit.xml e adicionar para só poder usá-la quem tiver XXX storage, aí coloca para o NPC dar esta storage.

Entendeu?

 

#EDIT²

Bom, eu basicamente nunca havia criado script com a função de adicionar outfit usando esta tag, mas conforme pesquisei, compensa testar novamente como abaixo:

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end

function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

------------------- CONFIG INICIAIS --------------
local diamond, qtdd = 2145, 5 -- ID do Diamante, Quantidade

local nome1, name1 = 'ash', 'Ash Ketchum' -- Palavra falada ao NPC, Nome do Outfit
local outfitid1 = 1912 -- Aqui a id da outfit 1

local nome2, name2 = 'scorpion', 'Scorpion' -- Palavra falada ao NPC, Nome do Outfit
local outfitid2 = 1907 -- Aqui a id da outfit 2

local nome3, name3 = 'sub zero', 'Sub Zero' -- Palavra falada ao NPC, Nome do Outfit
local outfitid3 = 1906 -- Aqui a id da outfit 3

local nome4, name4 = 'homer', 'Homer' -- Palavra falada ao NPC, Nome do Outfit
local outfitid4 = 1905 -- Aqui a id da outfit 4

local nome5, name5 = 'panico', 'Panico' -- Palavra falada ao NPC, Nome do Outfit
local outfitid5 = 1904 -- Aqui a id da outfit 5

local nome6, name6 = 'spider man', 'Spider Man' -- Palavra falada ao NPC, Nome do Outfit
local outfitid6 = 1903 -- Aqui a id da outfit 6

------------------ MESSAGENS --------------------------
if msgcontains(msg, nome1) then
selfSay('Voce deseja comprar a outfit do '..name1..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 3

elseif msgcontains(msg, nome2) then
selfSay('Voce deseja comprar a outfit do '..name2..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 5

elseif msgcontains(msg, nome3) then
selfSay('Voce deseja comprar a outfit do '..name3..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 7

elseif msgcontains(msg, nome4) then
selfSay('Voce deseja comprar a outfit do '..name4..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 9

elseif msgcontains(msg, nome5) then
selfSay('Voce deseja comprar a outfit do '..name5..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 11

elseif msgcontains(msg, nome6) then
selfSay('Voce deseja comprar a outfit do '..name6..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 13

elseif (msgcontains(msg, 'trade') or msgcontains(msg, 'hi')) then
selfSay(' Digite qual Outfit deseja adquirir.', cid)
selfSay('Atualmente temos a do ash, scorpion, sub zero, homer, panico e spider man', cid)
talkState[talkUser] = 0

---------------------- NEGOCIAÇÃO ---------------------------------------

elseif talkState[talkUser] == 3 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid1, 2)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid1, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 5 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid2, 2)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid2, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 7 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid3, 2)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid3, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 9 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid4, 2)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid4, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 11 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid5, 2)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid5, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 13 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid6, 2)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid6, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

    end
  return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Boa sorte.

o seu script do tile funcionou, só que eu queria que depois que o player saisse de cima do piso a outfit voltasse a normal ^^

                                                            vps-plano-01.png

 

                                                                                                                    http://www.weblara.com.br/

Link para o post
Compartilhar em outros sites

Eu criei isso, quais fora as tags que registrou no movements.xml?

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

deu erro nessa função doSetCreatureOutfit

Ops!! Apenas substitua a primeira linha do script por:
local poutfit = {lookType = 104}


Ficando assim:

local poutfit = {lookType = 104}

function onStepIn(cid, item, pos, fromPos)
	if isPlayer(cid) then
		doSetCreatureOutfit(cid, poutfit, -1)
	end
return 1
end

function onStepOut(cid, item, pos, fromPos)
	if isPlayer(cid) then
		doRemoveCondition(cid, CONDITION_OUTFIT)
	end
return 1
end

E não se esqueça de adicionar corretamente as tags em movements.xml

Se te ajudei com o que postei, clique em liked.png
Bizzle

Link para o post
Compartilhar em outros sites

Fiz da outra maneira porque não sei se esta função mantém as cores personalizadas do player.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Teste assim o do Piso:

local newtype = XXX -- ID da Outfit

        function onStepIn(cid, item, pos, fromPos)
    if isPlayer(cid) then
        get = getCreatureOutfit(cid)
        a = {lookType = newtype, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
    end
return true
end

        function onStepOut(cid, item, pos, fromPos)
    if isPlayer(cid) then
        doRemoveCondition(cid, CONDITION_OUTFIT)
    end
end

Caso vá fazer um piso para cada Outfit, me avise.

 

#EDIT:

Já a do NPC, você pode adicionar as outfits no outfit.xml e adicionar para só poder usá-la quem tiver XXX storage, aí coloca para o NPC dar esta storage.

Entendeu?

 

#EDIT²

Bom, eu basicamente nunca havia criado script com a função de adicionar outfit usando esta tag, mas conforme pesquisei, compensa testar novamente como abaixo:

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end

function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

------------------- CONFIG INICIAIS --------------
local diamond, qtdd = 2145, 5 -- ID do Diamante, Quantidade

local nome1, name1 = 'ash', 'Ash Ketchum' -- Palavra falada ao NPC, Nome do Outfit
local outfitid1 = 1912 -- Aqui a id da outfit 1

local nome2, name2 = 'scorpion', 'Scorpion' -- Palavra falada ao NPC, Nome do Outfit
local outfitid2 = 1907 -- Aqui a id da outfit 2

local nome3, name3 = 'sub zero', 'Sub Zero' -- Palavra falada ao NPC, Nome do Outfit
local outfitid3 = 1906 -- Aqui a id da outfit 3

local nome4, name4 = 'homer', 'Homer' -- Palavra falada ao NPC, Nome do Outfit
local outfitid4 = 1905 -- Aqui a id da outfit 4

local nome5, name5 = 'panico', 'Panico' -- Palavra falada ao NPC, Nome do Outfit
local outfitid5 = 1904 -- Aqui a id da outfit 5

local nome6, name6 = 'spider man', 'Spider Man' -- Palavra falada ao NPC, Nome do Outfit
local outfitid6 = 1903 -- Aqui a id da outfit 6

------------------ MESSAGENS --------------------------
if msgcontains(msg, nome1) then
selfSay('Voce deseja comprar a outfit do '..name1..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 3

elseif msgcontains(msg, nome2) then
selfSay('Voce deseja comprar a outfit do '..name2..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 5

elseif msgcontains(msg, nome3) then
selfSay('Voce deseja comprar a outfit do '..name3..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 7

elseif msgcontains(msg, nome4) then
selfSay('Voce deseja comprar a outfit do '..name4..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 9

elseif msgcontains(msg, nome5) then
selfSay('Voce deseja comprar a outfit do '..name5..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 11

elseif msgcontains(msg, nome6) then
selfSay('Voce deseja comprar a outfit do '..name6..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 13

elseif (msgcontains(msg, 'trade') or msgcontains(msg, 'hi')) then
selfSay(' Digite qual Outfit deseja adquirir.', cid)
selfSay('Atualmente temos a do ash, scorpion, sub zero, homer, panico e spider man', cid)
talkState[talkUser] = 0

---------------------- NEGOCIAÇÃO ---------------------------------------

elseif talkState[talkUser] == 3 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid1, 2)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid1, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 5 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid2, 2)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid2, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 7 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid3, 2)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid3, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 9 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid4, 2)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid4, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 11 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid5, 2)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid5, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 13 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        doPlayerAddOutfit(cid, outfitid6, 2)
        get = getCreatureOutfit(cid)
        a = {lookType = outfitid6, lookHead = get.lookHead, lookBody = get.lookBody, lookLegs = get.lookLegs, lookFeet = get.lookFeet}
        doSetCreatureOutfit(cid, a, -1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

    end
  return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Boa sorte.

a do Piso funcionou como eu queria :D

mais o NPC ainda dá a outfit e depois quando desloga não está mais :(

rep para você.

                                                            vps-plano-01.png

 

                                                                                                                    http://www.weblara.com.br/

Link para o post
Compartilhar em outros sites

Você pode tentar adicionar no outfit.xml o exemplo abaixo:

<outfit id="4" quest="40853">
<list gender="0" lookType="139" name="Knight"/>
<list gender="1" lookType="131" name="Knight"/>
</outfit>

Aí eu coloco par ao NPC vender a storage e automaticamente ganhará a outfit.

 

Você quem sabe.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Você quem sabe.

Olha ai como deixei;

<outfit id="60" quest="42853">
<list gender="1" lookType="1903" name="Spider Man"/>
<list gender="0" lookType="1903" name="Spider Man"/>
</outfit>

<outfit id="61" quest="42854">
<list gender="1" lookType="1904" name="Panico"/>
<list gender="0" lookType="1904" name="Panico"/>
</outfit>

<outfit id="62" quest="42855">
<list gender="1" lookType="1905" name="Homer"/>
<list gender="0" lookType="1905" name="Homer"/>
</outfit>

<outfit id="63" quest="42856">
<list gender="1" lookType="1906" name="Sub Zero"/>
<list gender="0" lookType="1906" name="Sub Zero"/>
</outfit>

<outfit id="64" quest="42857">
<list gender="1" lookType="1907" name="Scorpion"/>
<list gender="0" lookType="1907" name="Scorpion"/>
</outfit>

<outfit id="65" quest="42858">
<list gender="1" lookType="1912" name="Ash Ketchum"/>
<list gender="0" lookType="1912" name="Ash Ketchum"/>
</outfit>

                                                            vps-plano-01.png

 

                                                                                                                    http://www.weblara.com.br/

Link para o post
Compartilhar em outros sites
  • Solução

Tente assim:

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end

function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

------------------- CONFIG INICIAIS --------------
local diamond, qtdd = 2145, 5 -- ID do Diamante, Quantidade

local nome1, name1 = 'ash', 'Ash Ketchum' -- Palavra falada ao NPC, Nome do Outfit
local outfitid1, strg1 = 1912, 42858 -- Aqui a id da outfit 1

local nome2, name2 = 'scorpion', 'Scorpion' -- Palavra falada ao NPC, Nome do Outfit
local outfitid2, strg2 = 1907, 42857 -- Aqui a id da outfit 2

local nome3, name3 = 'sub zero', 'Sub Zero' -- Palavra falada ao NPC, Nome do Outfit
local outfitid3, strg3 = 1906, 42856 -- Aqui a id da outfit 3

local nome4, name4 = 'homer', 'Homer' -- Palavra falada ao NPC, Nome do Outfit
local outfitid4, strg4 = 1905, 42855 -- Aqui a id da outfit 4

local nome5, name5 = 'panico', 'Panico' -- Palavra falada ao NPC, Nome do Outfit
local outfitid5, strg5 = 1904, 42854 -- Aqui a id da outfit 5

local nome6, name6 = 'spider man', 'Spider Man' -- Palavra falada ao NPC, Nome do Outfit
local outfitid6, strg6 = 1903, 42853 -- Aqui a id da outfit 6

------------------ MESSAGENS --------------------------
if msgcontains(msg, nome1) then
selfSay('Voce deseja comprar a outfit do '..name1..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 3

elseif msgcontains(msg, nome2) then
selfSay('Voce deseja comprar a outfit do '..name2..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 5

elseif msgcontains(msg, nome3) then
selfSay('Voce deseja comprar a outfit do '..name3..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 7

elseif msgcontains(msg, nome4) then
selfSay('Voce deseja comprar a outfit do '..name4..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 9

elseif msgcontains(msg, nome5) then
selfSay('Voce deseja comprar a outfit do '..name5..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 11

elseif msgcontains(msg, nome6) then
selfSay('Voce deseja comprar a outfit do '..name6..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 13

elseif (msgcontains(msg, 'trade') or msgcontains(msg, 'hi')) then
selfSay(' Digite qual Outfit deseja adquirir.', cid)
selfSay('Atualmente temos a do ash, scorpion, sub zero, homer, panico e spider man', cid)
talkState[talkUser] = 0

---------------------- NEGOCIAÇÃO ---------------------------------------

elseif talkState[talkUser] == 3 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        setPlayerStorageValue(cid, strg1, 1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 5 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        setPlayerStorageValue(cid, strg2, 1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 7 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        setPlayerStorageValue(cid, strg3, 1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 9 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        setPlayerStorageValue(cid, strg4, 1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 11 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        setPlayerStorageValue(cid, strg5, 1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 13 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        setPlayerStorageValue(cid, strg6, 1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

    end
  return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Boa sorte.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Tente assim:

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end

function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

------------------- CONFIG INICIAIS --------------
local diamond, qtdd = 2145, 5 -- ID do Diamante, Quantidade

local nome1, name1 = 'ash', 'Ash Ketchum' -- Palavra falada ao NPC, Nome do Outfit
local outfitid1, strg1 = 1912, 42858 -- Aqui a id da outfit 1

local nome2, name2 = 'scorpion', 'Scorpion' -- Palavra falada ao NPC, Nome do Outfit
local outfitid2, strg2 = 1907, 42857 -- Aqui a id da outfit 2

local nome3, name3 = 'sub zero', 'Sub Zero' -- Palavra falada ao NPC, Nome do Outfit
local outfitid3, strg3 = 1906, 42856 -- Aqui a id da outfit 3

local nome4, name4 = 'homer', 'Homer' -- Palavra falada ao NPC, Nome do Outfit
local outfitid4, strg4 = 1905, 42855 -- Aqui a id da outfit 4

local nome5, name5 = 'panico', 'Panico' -- Palavra falada ao NPC, Nome do Outfit
local outfitid5, strg5 = 1904, 42854 -- Aqui a id da outfit 5

local nome6, name6 = 'spider man', 'Spider Man' -- Palavra falada ao NPC, Nome do Outfit
local outfitid6, strg6 = 1903, 42853 -- Aqui a id da outfit 6

------------------ MESSAGENS --------------------------
if msgcontains(msg, nome1) then
selfSay('Voce deseja comprar a outfit do '..name1..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 3

elseif msgcontains(msg, nome2) then
selfSay('Voce deseja comprar a outfit do '..name2..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 5

elseif msgcontains(msg, nome3) then
selfSay('Voce deseja comprar a outfit do '..name3..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 7

elseif msgcontains(msg, nome4) then
selfSay('Voce deseja comprar a outfit do '..name4..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 9

elseif msgcontains(msg, nome5) then
selfSay('Voce deseja comprar a outfit do '..name5..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 11

elseif msgcontains(msg, nome6) then
selfSay('Voce deseja comprar a outfit do '..name6..' por '..qtdd..' '..getItemNameById(diamond)..'?', cid)
talkState[talkUser] = 13

elseif (msgcontains(msg, 'trade') or msgcontains(msg, 'hi')) then
selfSay(' Digite qual Outfit deseja adquirir.', cid)
selfSay('Atualmente temos a do ash, scorpion, sub zero, homer, panico e spider man', cid)
talkState[talkUser] = 0

---------------------- NEGOCIAÇÃO ---------------------------------------

elseif talkState[talkUser] == 3 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        setPlayerStorageValue(cid, strg1, 1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 5 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        setPlayerStorageValue(cid, strg2, 1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 7 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        setPlayerStorageValue(cid, strg3, 1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 9 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        setPlayerStorageValue(cid, strg4, 1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 11 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        setPlayerStorageValue(cid, strg5, 1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

elseif talkState[talkUser] == 13 then
    if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then
    if getPlayerItemCount(cid, diamond) >= qtdd then
        doPlayerRemoveItem(cid, diamond, qtdd)
        setPlayerStorageValue(cid, strg6, 1)
        selfSay('Obrigado, ai estah sua outfit.', cid)
    else
        selfSay('Voce nao tem '..qtdd..' '..getItemNameById(diamond)..' contigo.', cid)
        talkState[talkUser] = 0
    end
end

    end
  return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Boa sorte.

rep+ ficou d+

poderia ajuda nesse agora ?

http://www.tibiaking.com/forum/topic/42335-oque-tem-de-errado-nesse-sistema/

Adriano SwaTT

                                                            vps-plano-01.png

 

                                                                                                                    http://www.weblara.com.br/

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo