Code Monkey home page Code Monkey logo

acore_eventscripts's Introduction

License: GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007

Permissions of this strongest copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights. When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available. The license applies to each and every .lua file and .sql file in the repository as well as this readme, unless explicitely stated otherwise in the header of the file.

This is not legal advice.

EventScripts

Lua scripts for Azerothcore with ElunaLUA to

  • spawn (custom) NPCs and grant them scripted combat abilities (customWorldboss.lua)
  • a fun event to teleport players who opt-in to Gurubashi (funTools.lua)

Proudly hosted on ChromieCraft

Find me on patreon: https://www.patreon.com/Honeys

Requirements:

Compile your Azerothcore with Eluna Lua The ElunaLua module itself usually doesn't require much setup/config. Just specify the subfolder where to put your lua_scripts in its .conf file.

If the directory was not changed in the ElunaLua config, add the .lua script to your ../lua_scripts/ directory as a subfolder of the worldserver.

lua-custom-worldboss

Admin Usage:

Adjust the config flags and IDs in the .lua and .sql in case of conflicts and run the associated SQL to add the required NPCs. You can add more encounters by just adding more config flags.

It is possible to reward players for participating in events. There is a config flag each to award score for playing 5man and for raid encounters. The amouont of score is configurable too. Another config flag allows to store any and all events in the db and visualize them, e.g. with a module for acore_cms.

  • the acore_cms module assumes that 1112001 is the boss of encounter 1 and adding +10 for each subsequent encounter (1112011 = boss for encounter 2 / 1112021 = boss for encounter 3, etc.)
  • While the boss entries always end with 1, the summoning NPC ends with 2, and the add NPCs end with 3. 4-0 are reserved for future use.

Website connection

To award score to a currency on an acore_cms powered website, the queries in query-points.sql can be used.

GM Usage:

Use .startevent $event $difficulty to start and spawn the NPC players can interact with. Use .stopevent to despawn it. Possibly offer teleports. It is advised to not leave the event NPC unattended. In case a player bugs out, they can be returned to the game with .modify phase 1.

Player Usage:

Be in a party or raid respectively. As the party/raid leader: Talk to the NPC. Go nuts!

Video of a 5man encounter

Video of a raid encounter

image

image

lua-fun-tools

Admin Usage:

Adjust the config flags and IDs in the .lua. You can change spells, allowed maps and locations.

GM Usage:

.fun gurubashi [$repeats] will start an announcement about an incoming fun event happening every minute. $repeats is optional and defaults to 15.

The last Repetition will result in all players who are in open world and opt-in by typing '.fun on' to do the following:

  • leave their parties/raids
  • get resurrected and set to full health
  • receive a strong hot
  • have their position stored
  • get teleported to Gurubashi Arena

A similar event exists for Halaa:

.fun halaa [$repeats]

The perks are the same as Gurubashi, except that players will be put into raids according to their faction and teleported near or into Halaa in Nagrand.

Player Usage:

.fun on to opt-in for the event. .fun no to opt-out of the event (default). .fun return they are teleported to their saved position and their saved position is deleted.

lua-bonus-buff

Admin Usage:

Optionally adjust the chat message.

GM Usage:

.bonusbuff $buffname Applies the selected buff to all players which are currently online.

Player Usage:

Enjoy the buffs!

acore_eventscripts's People

Contributors

55honey avatar acidmanifesto avatar helias avatar r-o-b-o-t-o avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

acore_eventscripts's Issues

Fun event finish message uncapitalized.

The event Battle for [eventname] has ended. See you next time!

[eventname] is always uncapitalized due to the internal event names being uncapitalized in the script. This causes messages like:
The event Battle for zangarmarsh has ended. See you next time!
to appear. Zangarmarsh should be capitalized in this message as it is a proper noun, i.e.:
The event Battle for Zangarmarsh has ended. See you next time!

The raid events should allow more than one simultaneous fight

Currently, only a single raid can fight simultaneously. The others are locked out until the one raid fighting is done.

It would be possible to make use of more phases than just 2, to allow more raids fighting at once. Ideally, the party would be sent and locked to phase 2 while raids make use of the remaining phases.

Go for a full rewrite to get rid of all the spaghetti code

The looong events for creatures currently firing every 100ms with many chained IFs are very bad practice.
It would be preferred to have a creature-related event per event/spell, which keeps self-registering.

Also, the current config/Ai code only allows for very specific scenarios. There should be more general blocks of code, which allow us to easily adjust the kind of action, similar to how SAI works in the core, just in a way smaller scope.

Multiple encounters can be started

The global locker currently only checks the OnHello event. It must be extended to the OnGossipSelect to prevent multiple simultaneous starts.

boss scripts outside this repo

There should be a config flag to allow any kind of scripts for the spawned enemy and not force the Lua scripts on them. That way it would be possible to add a custom NPC with SQL and a dedicated Lua, SAI, or .cpp boss script.

Note that this seems arguably impossible with the current Eluna module. The Lua logic can not request creature events like start combat or OnDeath without wiping SAI. And a C++ script applied to a creature will stop the Eluna AI from working.

Eluna is designed in a way that forces one AI exclusively.

add GO for los

The configuration of an encounter should allow for GOs to be added.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.