BGames
Olá visitante! Seja bem vindo á BGames!

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

Registre-se Aqui!


PARA VER LINKS E IMAGENS É PRECISO SE REGISTRAR!


BGames
Olá visitante! Seja bem vindo á BGames!

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

Registre-se Aqui!


PARA VER LINKS E IMAGENS É PRECISO SE REGISTRAR!

BGames
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

BGamesEntrar

Fórum de Desenvolvimento de Jogos e Programação


description [Lua] NPC Morpher  Empty [Lua] NPC Morpher

more_horiz
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

[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]

Créditos - EU

description [Lua] NPC Morpher  EmptyRe: [Lua] NPC Morpher

more_horiz
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.

description [Lua] NPC Morpher  EmptyRe: [Lua] NPC Morpher

more_horiz
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

description [Lua] NPC Morpher  EmptyRe: [Lua] NPC Morpher

more_horiz
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)

description [Lua] NPC Morpher  EmptyRe: [Lua] NPC Morpher

more_horiz
privacy_tip Permissões neste sub-fórum
Não podes responder a tópicos
power_settings_newInicie sessão para responder