• This is a read only backup of the old Emudevs forum. If you want to have anything removed, please message me on Discord: KittyKaev

[CPP] Grumbo'z Capture the Flag System

slp13at420

Mad Scientist



Grumbo'z
HyperDynamicMultiPhasicInterDimentional
Capture the Flag
System


Ver. 1.0c/12-07-2016

What is this?
  • This allows both teams to search the world for
    for the World flag. When a player finds the flag they must tag it to claim it for there team.

Adjustable flag reset system.
  • When a team claims a flag, it can either morph to the teams flag, OR reset allowing both teams to try and claim it. When a flag morphs to a teams World Flag then it is that teams objective to hurry and seek it out to defend it from the apposing team.

Adjustable `Flag Carrier` aura requirement.
  • This system can be set to require a player to have the `flag carrier` aura when they try to capture a World Flag. Or it will allow players to just directly seek-out and capture a World Flag without going to there teams throne room in IronForge/orgrimmar.

Adjustable `Wil-o-Whisp` random spawning system.
  • This System can be set to spawn at 1 fixed location OR spawn randomly around your world.

Adjustable cooldown timer.
  • A cooldown timer can be set for between rounds or set so the flag instant respawns. This can also be set to use a randomly generated cooldown timer.

Adjustable GameObject ID's.
  • If the default go id's don't work fdor you then you can just change them in the sql AND the conf file.

Adjustable World Flag scale.
  • You can Set the scale size of the World Flags in the conf file. the default scale is 30.00 . you can set them larger or smaller depending on how easy/hard you want the flags visibility.

Adjustable hint system.
  • You can set this to broadcast to the (holding team, both teams, or none) , The map name.

Adjustable Flag data storing system.
  • Every time you add a new default world flag to the system. its vital data gets stored to a table for easy cross checking. You can set it to also store this info to your world DB in a custom table so it can be preloaded during server startups. when you set this to dynamic then it will only store the flags data to the table when ever a flag becomes active by a map/grid loading.

Adjustable GM command minimum access.
  • You can adjust the minimum required GM rank to access and use the custom GM commands.

Scoring System.
  • This system will keep score and display current score during each capture along with keeping score of each players capture count. player captures will reset during player relog's. Team scores reset after server restarts.

Info Command.
  • Players/GM's can now use `.wctf setup` to show them how the system is setup while also showing GM's gm settings.

Plug n Play System.
  • Just install the script as any other CPP script. add the 3 GameObjects to your DB plus 2 pre spawned `Team` aura flags. Add the custom table to your world db(Yea multi-realm support). Add the custom entries for your worldserver.conf file. start server, add flags , kill the enemy. :)

Easy to add World Flag's.
  • just use`.gob add xxx` or the built in command `.wctf spawn world` command and a default world flag will spawn but quickly vanish unless it happens to get picked as a `Flag-in-Play` then it will become visible.

Easy to adjust settings :).
  • all settings listed above can easily be adjusted via the world conf custom entry. included.




Thanks to [MENTION=7]Foereaper[/MENTION] : your ZoneBattles gave me the idea for this alternate way its being handled which actually led to all the dynamics structures ;) \o/



(Grumbo, ctf, Capture the Flag, CPP, cpp scripts, TrinityCore)
 
Last edited:

jonmii

Enthusiast
Hi [MENTION=717]slp13at420[/MENTION]
Gossip fix the last TC Build:

Replace:
player->CLOSE_GOSSIP_MENU();

To:

CloseGossipMenuFor(player);

Also im getting these errors that i cant fix
ecTzCk2.jpg

EDIT: I`m getting same error on your GuildWarz Script
 
Last edited:

slp13at420

Mad Scientist
Version compatibility issues ;)

Frigin TrinityCore changed out some stuff maybe .. . . . .

OK I built and tested using ver: TrinityCore rev. f333b868d692+ 2016-03-01 18:25:42 -0700 (master branch) (Win32, Release)

im thinking you may be using an earlier rev? there was a change with the create() method when I updated my test core the last time I updated Guild Warz I had to change the number of arguments in the packet .

Post what rev. you are using if its newer I can then update accordingly. If its older then I can make a fix for just your rev but I will need info from you to do .

I did remove the OnGossipSelect block since its not used anyways .
 

slp13at420

Mad Scientist
or maybe I need to update my test core ... lol

did you try the other rev versions of Guild Warz? there are 2 more rev versions in that link.
 
Last edited:

jonmii

Enthusiast
CTF_Flags.sql
SQL seems to be outdated:
Query: REPLACE INTO `gameobject_template` (`entry`, `type`, `displayId`, `name`, `IconName`, `faction`, `size`, `Data3`, `ScriptName`, ...

Unknown column 'faction' in 'field list'
 
Last edited:

jonmii

Enthusiast
Okay you just deleted this column from query no? This does not affect to the script? Because i did that before and, when i take enemy faction flag it gives horde flag spell.
 

slp13at420

Mad Scientist
k extract one of the team flag gameobject as an sql so I can see all the columns in your db there maybe a column like `faction_h`, `faction_a`,
 

jonmii

Enthusiast
gameobject_template_addon:


FieldTypeComment
entrymediumint(8) unsigned NOT NULL
factionsmallint(5) unsigned NOT NULL
flagsint(10) unsigned NOT NULL
mingoldmediumint(8) unsigned NOT NULL
maxgoldmediumint(8) unsigned NOT NULL



Gameobject_template:

FieldTypeComment
guidint(10) unsigned NOT NULLGlobal Unique Identifier
idmediumint(8) unsigned NOT NULLGameobject Identifier
mapsmallint(5) unsigned NOT NULLMap Identifier
zoneIdsmallint(5) unsigned NOT NULLZone Identifier
areaIdsmallint(5) unsigned NOT NULLArea Identifier
spawnMasktinyint(3) unsigned NOT NULL
phaseMaskint(10) unsigned NOT NULL
position_xfloat NOT NULL
position_yfloat NOT NULL
position_zfloat NOT NULL
orientationfloat NOT NULL
rotation0float NOT NULL
rotation1float NOT NULL
rotation2float NOT NULL
rotation3float NOT NULL
spawntimesecsint(11) NOT NULL
animprogresstinyint(3) unsigned NOT NULL
statetinyint(3) unsigned NOT NULL
VerifiedBuildsmallint(5) NULL
 
Last edited:

jonmii

Enthusiast
k run the extra query I added to the `flags` sql file.

Delete VerifiedBuild column from the last query. That columns isnt on this table ;)
Now enemy flag isnt Selectable :/

How works exactly that script?
You have to take enemy flag and return it near your faction flag?
 
Last edited:

slp13at420

Mad Scientist
No you go to your team flag and gain the flag carrier aura then find the world flag and tag it while you have the flag carrier aura.

sorry i'm working the live game feed so i'm touch n go here .
 

slp13at420

Mad Scientist
It was brought to my attention that GM's can turn on GM tag while having the team flag aura.
So I added a catch-22 timer based check that will check a players stat and if they should be allowed to continue to carry the flag aura. if the flag is removed then the timer stops ticking for them. default duration is every 5 seconds.
requires you to update your world.conf file also(I made it an adjustable duration)
 

Antariel

New member
Hey.
I love this script. And I want to use it.
Can you tell me if it works for the newest Rev of Trinity Core?
The one with gossip changes.
 
Top