Bgames
Olá visitante! Seja bem vindo ao nosso fórum!

Para você ter total acesso ao nosso fórum é preciso que você se cadastre.

Cadastre-se Aqui!


PARA VER LINKS E IMAGENS É PRECISO SE REGISTRAR!

[Lua] NPC Morpher

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Lua] NPC Morpher

Mensagem por windownsserversbr em Seg 29 Jun 2015 - 22:42

Olá, pessoal da BGames novo NPC de morph especial de natal antecipado.

Diretório Raiz Lua_Scripts

Script --

Código:
local NPC_ENTRY = 190013

function NpcMorpherMenu(event, player, unit)
       if player then
        player:GossipMenuAddItem(0, "Horda |TInterface\\FriendsFrame\\PlusManz-Horde.png:25|t", 0, 0)
        player:GossipMenuAddItem(5, "|cffFF0000Blood Elf Mulher [Natal]", 0, 1)
        player:GossipMenuAddItem(5, "|cffFF0000Blood Elf Homem [Natal]", 0, 2)
        player:GossipMenuAddItem(5, "|cffFF0000Orc Mulher [Natal]", 0, 3)
        player:GossipMenuAddItem(5, "|cffFF0000Orc Homem [Natal]", 0, 4)
        player:GossipMenuAddItem(5, "|cffFF0000Tauren Mulher [Natal]", 0, 5)
        player:GossipMenuAddItem(5, "|cffFF0000Tauren Homem [Natal]", 0, 6)
      player:GossipMenuAddItem(5, "|cffFF0000Troll Mulher [Natal]", 0, 7)
        player:GossipMenuAddItem(5, "|cffFF0000Troll Homem [Natal]]", 0, 8)
        player:GossipMenuAddItem(5, "|cffFF0000Undead Mulher [Natal]", 0, 9)
      player:GossipMenuAddItem(5, "|cffFF0000Undead Homem [Natal]", 0, 10)      
        player:GossipMenuAddItem(0, "Alliance |TInterface\\FriendsFrame\\PlusManz-Alliance.png:25|t", 0, 00)
      player:GossipMenuAddItem(5, "|cff0000FFDreanei Mulher [Natal]", 0, 11)
        player:GossipMenuAddItem(5, "|cff0000FFDreanei Homem [Natal]", 0, 12)
        player:GossipMenuAddItem(5, "|cff0000FFDraft Mulher [Natal]", 0, 13)
        player:GossipMenuAddItem(5, "|cff0000FFDraft Homem [Natal]", 0, 14)
        player:GossipMenuAddItem(5, "|cff0000FFGnome Mulher [Natal]", 0, 15)
        player:GossipMenuAddItem(5, "|cff0000FFGnome Homem [Natal]", 0, 16)
      player:GossipMenuAddItem(5, "|cff0000FFHuman Mulher [Natal]", 0, 17)
        player:GossipMenuAddItem(5, "|cff0000FFHuman Homem [Natal]", 0, 18)
        player:GossipMenuAddItem(5, "|cff0000FFNight Elf Mulher [Natal]", 0, 19)
      player:GossipMenuAddItem(5, "|cff0000FFNight Elf Homem [Natal]", 0, 20)   
    end
   player:GossipMenuAddItem(0, "-> Destransformar", 0, 98)
    player:GossipMenuAddItem(0, "Sair", 0, 99)
    player:GossipSendMenu(1, unit)
end

function NpcMorpherSelect(event, player, unit, sender, intid, code)
    if (intid == 1) then
      player:SetDisplayId(18785)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()
     
   elseif (intid == 2) then
       player:SetDisplayId(18793)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()
     
   elseif (intid == 3) then
       player:SetDisplayId(18804)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()   
     
   elseif (intid == 4) then
       player:SetDisplayId(18805)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()
     
   elseif (intid == 5) then
       player:SetDisplayId(18806)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()   
     
   elseif (intid == 6) then
       player:SetDisplayId(18807)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()   
     
   elseif (intid == 7) then
       player:SetDisplayId(18808)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()   
     
   elseif (intid == 8) then
       player:SetDisplayId(18809)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()   
     
   elseif (intid == 9) then
       player:SetDisplayId(18810)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()   
     
   elseif (intid == 10) then
       player:SetDisplayId(18811)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()
     
   elseif (intid == 11) then
       player:SetDisplayId(18794)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()
     
   elseif (intid == 12) then
       player:SetDisplayId(18795)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()   
     
   elseif (intid == 13) then
       player:SetDisplayId(18796)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()   
     
   elseif (intid == 14) then
       player:SetDisplayId(18797)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()   
     
   elseif (intid == 15) then
       player:SetDisplayId(18798)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()   
     
   elseif (intid == 16) then
       player:SetDisplayId(18799)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()
     
   elseif (intid == 17) then
       player:SetDisplayId(18800)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()
     
   elseif (intid == 18) then
       player:SetDisplayId(18801)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()   
     
   elseif (intid == 19) then
       player:SetDisplayId(18802)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()   
     
   elseif (intid == 20) then
       player:SetDisplayId(18803)
       player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
       player:GossipComplete()   
     
   elseif (intid == 98) then
       player:DeMorph()
       player:GossipComplete()        

    elseif (intid == 99) then
        unit:SendUnitSay("Obrigado! "..player:GetName().." Ate logo.", 0)
        player:GossipComplete()
    end
end


RegisterCreatureGossipEvent(NPC_ENTRY, 1, NpcMorpherMenu)
RegisterCreatureGossipEvent(NPC_ENTRY, 2, NpcMorpherSelect)


Screenshot

[Você precisa estar registrado e conectado para ver este link.]
[Você precisa estar registrado e conectado para ver este link.]

Créditos - EU

windownsserversbr


Mensagens : 233
Pontos : 739

Ver perfil do usuário http://windownsservers.jimdo.com

Voltar ao Topo Ir em baixo

Re: [Lua] NPC Morpher

Mensagem por Evil em Ter 30 Jun 2015 - 9:54

porque você não usa um switch?
if é mais lento e deixa o codigo maior.
Switch Statement  : 15.7s 0.0s
If Statement             : 20.7s 0.1s

Mesmo assim +rep

obs: só estou dando uma dica já que todos estamos aqui para aprender.

Evil


Mensagens : 1091
Pontos : 25172

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [Lua] NPC Morpher

Mensagem por windownsserversbr em Ter 30 Jun 2015 - 11:57

Desculpa, Evil. 
Mais não sei se é possível usar ' switch ' para lua em wow nunca encontrei script's desse formato, mais depois vou dar um estudada sobre esse módulo

windownsserversbr


Mensagens : 233
Pontos : 739

Ver perfil do usuário http://windownsservers.jimdo.com

Voltar ao Topo Ir em baixo

Re: [Lua] NPC Morpher

Mensagem por Evil em Ter 30 Jun 2015 - 17:59

Acho que realmente não tem de um jeito "fácio".
mas acho que um bom jeito seria uma array algo assim:
Código:
morphs = { 2424, 18785, 3564, 928 } -- na ordem do intid ( intid 1, 2, 3, 4... 20)
-- restande do codigo --
if (intid > 0) and (intid < 21) then
        player:SetDisplayId(morphs[intid])
        player:SendNotification("|cff00ffffVocê foi transformado com sucesso!")
        player:GossipComplete()
   elseif (intid == 98) then
        player:DeMorph()
        player:GossipComplete()
   elseif (intid == 99) then
        unit:SendUnitSay("Obrigado! "..player:GetName().." Ate logo.", 0)
        player:GossipComplete()
end

testei Aqui e sem problemas.(Obs: lua não é só usada pelo wow ela apenas foi implementada na trinitycore)

Evil


Mensagens : 1091
Pontos : 25172

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [Lua] NPC Morpher

Mensagem por Conteúdo patrocinado Hoje à(s) 1:08


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum