ArcEmu: [lua] Battlemaster, Gossip Etc.. - ArcEmu

Jump to content

Toggle shoutbox Lastest Announcements

dfighter  : (07 December 2014 - 12:06 PM) Arcemu is in hibernation mode, please read http://arcemu.org/fo...showtopic=26903
dfighter  : (01 January 2013 - 05:56 PM) Arcemu wishes you all a happy new year!
Hasbro  : (12 September 2012 - 10:01 AM) Please excuse our outage from the web! Our web host had a major malfunction!
dfighter  : (01 September 2012 - 04:05 PM) Since the spam bots just don't want to stop, I've enabled admin verification when registering.
dfighter  : (23 January 2012 - 09:56 PM) Please note that from now on you will need to confirm your email on the wiki in order to edit it!
Hasbro  : (31 December 2011 - 12:50 PM) Happy New Years all!
Navid  : (26 December 2011 - 04:09 AM) Merry Christmas !!!!!! Happy holidays all :)
WAmadeus  : (24 December 2011 - 03:54 PM) Merry Christmas to all!
dfighter  : (24 December 2011 - 11:05 AM) The Arcemu team wishes y'all a Merry Christmukkah!
Hasbro  : (05 October 2011 - 12:53 PM) Looking for web designers for upcoming web related project. If you're interested in designing user interfaces contact me
dfighter  : (02 September 2011 - 03:47 PM) So who here wants vehicles in Arcemu? :P http://arcemu.org/fo...showtopic=25440
Hasbro  : (14 August 2011 - 03:25 PM) Join us on irc, grab an irc client and connect to irc.freenode.net join channel #arcemu /server irc.freenode.net:6667 /join #arcemu
jackpoz  : (03 August 2011 - 05:33 AM) to all Lua Engine (old one) users: please check http://arcemu.org/fo...showtopic=25274
Hasbro  : (20 May 2011 - 05:27 PM) Looking for people experienced with CMake configuration and setup! Contact me asap
Hasbro  : (15 May 2011 - 05:03 PM) ArcEmu is recruiting C++ programmers, contact Hasbro if interested.
paroxysm  : (03 May 2011 - 06:26 PM) Updated luabridge gossip example to describe the whole gossip creation process rather than just how to create menu. Gossip tutorial
paroxysm  : (23 April 2011 - 11:35 AM) Lua writers can refer to the Luabridge Tutorials section in the Wiki to learn how to write gossip code correctly.
Hasbro  : (20 April 2011 - 05:22 PM) Thank you for your continuous contribution of bug reports, we are working on them.
Hasbro  : (17 April 2011 - 03:20 AM) Please consider donating to support our bills. Donations can be sent using PayPal to donations@arcemu.org - Thank you for your support.
paroxysm  : (10 April 2011 - 12:43 AM) Refer to the Luabridge Tutorials section in the Wiki to learn the new syntax of luabridge.
Resize Shouts Area

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

[lua] Battlemaster, Gossip Etc.. A Tiny package release by me.

#1 User is offline   Jonsson 

  • Newbie
  • Group: Members
  • Posts: 6
  • Joined: 16-October 09
  • Gender:Male
  • Location:Sweden
  • Interests:Computer Programming, C++, Pascal, Lua. I enjoy programming for fun and spend my free time on Programming and find solutions...
  • Server OS:Windows

Posted 16 April 2012 - 04:09 AM

Hello ArcEmu, Members. I have recently started reading Lua programming. Anyway's I have not tested all of them but feel free to report any bug ! If you want to, Request a new script and I should start working on it immediately!

This gossip will let a player change display id , scale and speed. They can't pick a certain option, it will randomly pick one for you.
I added a option you make you normal again so , display scale and speed will be removed.
local npc_id = 72000 -- Change to your NPC ID
 
function GossipOnTalk(pUnit, event, pPlayer)
        pUnit:GossipCreateMenu(100, pPlayer, 0)
        pUnit:GossipMenuAddItem(0, "Change my look", 1, 0)
        pUnit:GossipMenuAddItem(0, "Change my Scale", 2, 0)
        pUnit:GossipMenuAddItem(0, "Change speed", 3, 0)
        pUnit:GossipMenuAddItem(0, "Make me normal", 4, 0)
        pUnit:GossipSendMenu(pPlayer)
end
 
function GossipOnSelect(pUnit, event, pPlayer, id, intid, code)
        if (intid == 1) then
                local Choice = math.random(1, 6)
                if (Choice == 1) then
                        pPlayer:SetModel(30893)
                elseif (Choice == 2) then
                        pPlayer:SetModel(21445)
                elseif (Choice == 3) then
                        pPlayer:SetModel(20023)
                elseif (Choice == 4) then
                        pPlayer:SetModel(22906)
                elseif (Choice == 5) then
                        pPlayer:SetModel(36597)
                elseif (Choice == 6) then
                        pPlayer:SetModel(30893)
                end
        elseif (intid == 2) then
                local scale = math.random(1, 7)
                if (scale == 1) then
                        pPlayer:SetScale(0.5)
                elseif (scale == 2) then
                        pPlayer:SetScale(2)
                elseif (scale == 3) then
                        pPlayer:SetScale(0.1)
                elseif (scale == 4) then
                        pPlayer:SetScale(2.5)
                elseif (scale == 5) then
                        pPlayer:SetScale(5)
                elseif (scale == 6) then
                        pPlayer:SetScale(0.3)
                elseif (scale == 7) then
                        pPlayer:SetScale(4)
                end
        elseif (intid == 3) then
                local speed = math.random(1, 7)
                if (speed == 1) then
                        pPlayer:SetPlayerSpeed(12)
                elseif (speed == 2) then
                        pPlayer:SetPlayerSpeed(10)
                elseif (speed == 3) then
                        pPlayer:SetPlayerSpeed(20)
                elseif (speed == 4) then
                        pPlayer:SetPlayerSpeed(50)
                elseif (speed == 5) then
                        pPlayer:SetPlayerSpeed(2)
                elseif (speed == 6) then
                        pPlayer:SetPlayerSpeed(17)
                elseif (speed == 7) then
                        pPlayer:SetPlayerSpeed(7)
                elseif (speed == 8) then
                        pPlayer:SetPlayerSpeed(5)
                end
        elseif (intid == 4) then
                pPlayer:DeMorph()
                pPlayer:SetPlayerSpeed(7)
                pPlayer:SetScale(1)
        end
        pPlayer:GossipComplete()
end
 
RegisterUnitGossipEvent(npc_id, 1, GossipOnTalk)
RegisterUnitGossipEvent(npc_id, 2, GossipOnSelect)

This script is a Battlemaster so you can queue for a battleground! Same goes here, Create your own NPC on wow-v!

    --Lua battlemaster script!
    --Updated to make it run smoother..
     
    local NPC_ID = 1000 -- Your NPC ID...
     
    function BG_OnGossipTalk(pUnit, Event, player)
        pUnit:GossipCreateMenu(1, player, 0)
        pUnit:GossipMenuAddItem(1, "Warsong Gulch", 1, 0)
        pUnit:GossipMenuAddItem(1, "Arathi Basin", 2, 0)
        pUnit:GossipMenuAddItem(1, "Eye of the Storm", 3, 0)
        pUnit:GossipMenuAddItem(1, "Strand of the Acients", 4, 0)
        pUnit:GossipMenuAddItem(1, "Alterac Valley", 5, 0)
        pUnit:GossipMenuAddItem(1, "Never mind", 6, 0)
        pUnit:GossipSendMenu(player)
    end
     
    function BG_OnGossipSelect(pUnit, Event, player, id, intid, code, pMisc)
       if(intid == 1) then
           player:SendBattlegroundWindow(2)
     
       elseif(intid == 2) then
           player:SendBattlegroundWindow(3)
     
       elseif(intid == 3) then
           player:SendBattlegroundWindow(7)
     
       elseif(intid == 4) then
           player:SendBattlegroundWindow(9)
     
       elseif(intid == 5) then
           player:SendBattlegroundWindow(1)
     
       elseif(intid == 6) then
    end
           player:GossipComplete()
    end
     
    RegisterUnitGossipEvent(NPC_ID, 1, "BG_OnGossipTalk")
    RegisterUnitGossipEvent(NPC_ID, 2, "BG_OnGossipSelect")


Command to remove resurrection sickness! #removeress .

local REMOVE = "#removeress"

function OnChat(event, plr, message, type, language)
    if(message == REMOVE) then
    if (player:HasAura(15007)) then
        player:SendBroadcastMessage("Resurrection Sickness has been removed!")
        player:RemoveAura(15007)
    else
        player:SendBroadcastMessage("You have no Resurrection Sickness!")
    end
end


RegisterServerHook(16, "OnChat")


I'm going to keep this thread updated for further releases ! Just comment below if you would like to request a script. Please provide so much details as possible! Keep in mind , I haven't tested them. I'm sure it got some errors but I will fix them immediately!

Thanks! :)

C++, Pascal, Lua
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users