ServUO Version
Publish 57
Ultima Expansion
Endless Journey
Hi, I have this code to give new players special items once per account.

Code:
private static void AddBackpack(Mobile m)
        {
            Container pack = m.Backpack;
            Container bank = m.BankBox;

            if (pack == null)
            {
                pack = new Backpack
                {
                    Movable = false
                };

                m.AddItem(pack);
            }
           
            //New Account Welcome Items.
            Account ac = m.Account as Account;
            if ( ac != null )
            {
                if (ac.Count == 1 && ac.GetTag("WelcomeItems") == null)
                {
               
                    PackItem( new BankCheck(100000));
                    PackItem( new SkillBallPlus());
                    PackItem( new StatBall());
                   
                    ac.AddTag("WelcomeItems", "Items Given");
               
                }
               
            }

            //PackItem(new Gold(1000)); // Starting gold can be customized here
        }

Is there a way to make it so only one account gets them, if I have multiple accounts per IP enabled?

Thanks,
 
Not unless you make them register to create an account, otherwise they can use a VPN, Hotspot or someone else's WiFi to create a new account. You can track their system hardware but hardware information can be spoofed or changed and they can always switch devices. No real way to completely limit or prevent it from those who would seek to exploit it.

You can make it more difficult on people, but ultimately with enough time and ingenuity they could find a way to bypass your prevention methods.

Your best bet is a time and content gated reward set behind a tutorial or quest that has multiple possible beginnings, middles and ends to prevent complex scripts being ran to automate the tutorial/quest to get the reward.
 
Back