Hello & Welcome to our community. Is this your first visit? Register
Follow us on
Follow us on Facebook Follow us on Twitter Watch us on YouTube


User Tag List

Likes Likes:  0
Results 1 to 1 of 1
  1. #1
    Graphics Guru

    Join Date
    Feb 2009
    Post Thanks / Like
    1 Post(s)
    0 Thread(s)
    Rep Power

    [Antifarm] PvP Kill, Token Reward Script With Cooldown! Prevent players from kill farming!

    Register to remove this ad
    Made by Sinistah I take no credits except sharing.

    // Made by Sinistah @Ac-Web / Taco @ Lordcraft / TheEpicLazyTaco @BitBucket :) It would be nice if you did not remove this when you repost this years from now.
    #include "Chat.h"
    class PvPRewards : PlayerScript
        PvPRewards() : PlayerScript("PvPRewards") {}
        // ~ Setting Variables "Not Ideal But it will have to do."  ~
        // The item you want to give players.
        uint32 itemID = 45978;
        // Ammount of items to give.
        uint32 ammount = 1;
        // Time in seconds 60 = 1 Minute
        uint32 cooldown = 60;
        // This is the message that is sent when a player does recieve a reward.
        std::string rewardMessage = "|cffff0000[System]|r You recieved a reward and are now on a cooldown.";
        // Thhis is the message that is sent when a player is on cooldown.
        std::string cooldownMessage = "|cffff0000[System]|r You are still on a cooldown and can not recieve a reward.";
        //IMPORTANT! Unless you know what your doing I do not recommend editing anything below this comment.
        // This is the map that is going to store all of our player's cooldowns during game play.
        std::unordered_map <uint32, uint32>  cooldownList;
        // Returns our cooldown from the map if it has one.
        uint32 GetPlayerCD(std::unordered_map<uint32, uint32> m, uint32 key)
            //This gets our player's cooldown from the map and returns it to us in a uint32 form.
            auto itr = m.find(key);
            if (itr != m.end())
                return itr->second;
            //This is mainly to make the compiler happy about not all paths returning a value but also serves 
            return NULL;
        //Updates/Inserts our players unique identifier and their cooldown.
        void UpdatePlayerCD(std::unordered_map<uint32, uint32>& m, uint32 key, uint32 newValue)
            //If it finds a value update it with new value
            auto itr = m.find(key);
            if (itr != m.end()) {
                m[key] = newValue;
            //If that character is not in the map add it.
                m.insert(std::make_pair(key, newValue));
        //This is where we add our item and send a mssg to our player and then we update the map.
        void AddReward(Player * killer, uint32 itemId, uint32 ammount, uint32 cooldown)
            //Add the item to the player.
            killer->AddItem(itemId, ammount);
            //Send Message.
            //Inset Data into map.
            UpdatePlayerCD(cooldownList, killer->GetGUID().GetCounter(), killer->GetTotalPlayedTime() + cooldown);
        //This is called when a player kills another player.
        void OnPVPKill(Player* killer, Player* /*killed*/)
            //Variable to store the saved cooldown value we get from our map.
            uint32 mapCD;
            //If the map is empty.
            if (cooldownList.empty())
                mapCD = NULL;
            //Get the cd from the map and stores it in mapCD.
                mapCD = GetPlayerCD(cooldownList, killer->GetGUID().GetCounter());
            //If mapCD has no value.
            if (mapCD == NULL)
                AddReward(killer, itemID, ammount, cooldown);
            //If mapCD has a value.
                // If player's played time is higher then the cooldown time.
                if (killer->GetTotalPlayedTime() >= mapCD) {
                    // Add items, Send Message, and Update Map. ~ See Function For More Info ~
                    AddReward(killer, itemID, ammount, cooldown);
                else {
                    // If you are still on cooldown send cooldownMessage.
    void AddSC_PvPRewards()
        new PvPRewards();

    › See More: [Antifarm] PvP Kill, Token Reward Script With Cooldown! Prevent players from kill farming!
    Last edited by Wise; 31-07-18 at 02:11 PM.

  2. Related Threads - Scroll Down after related threads if you are only interested to view replies for above post/thread



Visitors found this page by searching for:

Nobody landed on this page from a search engine, yet!
SEO Blog

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
All times are GMT -5. The time now is 05:49 PM.
Powered by vBulletin® Copyright ©2000-2018, Jelsoft Enterprises Ltd.
See More links by ForumSetup.net. User Alert System provided by Advanced User Tagging v3.3.0 (Lite) - vBulletin Mods & Addons Copyright © 2018 DragonByte Technologies Ltd.
Feedback Buttons provided by Advanced Post Thanks / Like (Lite) - vBulletin Mods & Addons Copyright © 2018 DragonByte Technologies Ltd.
vBulletin Licensed to: MMOPro.org