Jump to content
  • 0

Save the place before teleportation aCis


Question

Posted

Hello, I wanted to know how I can save a coordinate, because on my tvt when the event ends I'm teleported to giran I would like to know how I can get where I was

 

This instead of putting me where I was, leaves me in the same place after the event ends.

 


int[] playerCoordinates = new int[]
                        {
                        player.getPosition().getX(),
                        player.getPosition().getY(),
                        player.getPosition().getZ(),
                        player.getPosition().getHeading()
                        };
                    
                    new EventTeleporter(player, playerCoordinates, false);
 

                   

Recommended Posts

  • 0
Posted (edited)

if you dont(cant?) want to save them in an int variable you can just store them in database before they enter or you can set a X Y Z +RND(10, 200) in the (propably) for loop you have to restore them in town

Edited by Nightw0lf
  • 0
Posted

You don't have to create any new map or store to db (bleeh). There is something like getSavedLocation on acis. You can find the usage over Olympiad system.

 

store

player.getSavedLocation().set(player.getPosition());

 

retrieve

final Location loc = player.getSavedLocation();
if (loc.equals(Location.DUMMY_LOC))
    return;

player.teleToLocation(loc, 0);
player.getSavedLocation().clean();
  • 0
Posted
1 hour ago, SweeTs said:

You don't have to create any new map or store to db (bleeh). There is something like getSavedLocation on acis. You can find the usage over Olympiad system.

 

store


player.getSavedLocation().set(player.getPosition());

 

retrieve


final Location loc = player.getSavedLocation();
if (loc.equals(Location.DUMMY_LOC))
    return;

player.teleToLocation(loc, 0);
player.getSavedLocation().clean();

 

created this way

 



    public static int[] getOriginalCoordinates()
    {
        return _originalCoordinates;
    }
    
    public static void setOriginalCoordinates(int[] originalCoordinates)
    {
        _originalCoordinates = originalCoordinates;
    }
    
    public static void teleportPlayersToArena()
    {
        for (EventTeam team : _teams)
        {
            for (Player player : team.getParticipatedPlayers().values())
            {
                if ((player != null))
                {
                    int[] playerCoordinates = new int[]
                        {
                        player.getSavedLocation().set(player.getPosition());
                        player.getPosition().getX(),
                        player.getPosition().getY(),
                        player.getPosition().getZ(),
                        };
                    setOriginalCoordinates(playerCoordinates);
                    new EventTeleporter(player, team.getCoordinates(), false);
                }
            }
        }
    }
    
    public static void teleportPlayersBack()
    {
        for (EventTeam team : _teams)
        {
            for (Player player : team.getParticipatedPlayers().values())
            {
                if (player == null)
                    return;
                
                Location loc = player.getSavedLocation();
                if (loc.equals(Location.DUMMY_LOC))
                    return;
                
                player.teleToLocation(loc, 0);
                player.getSavedLocation().clean();
                
                new EventTeleporter(player, getOriginalCoordinates(), false);
            }
        }
    }
    

 

generated this error

 

u0tiiLK.png

 

  • 0
Posted (edited)

so players can attack themselves but when the event ends the players go to the spawn of the first one that registered

 

    public static int[] getOriginalCoordinates()
    {
        return _originalCoordinates;
    }
    
    public static void setOriginalCoordinates(int[] originalCoordinates)
    {
        _originalCoordinates = originalCoordinates;
    }
    
    public static void teleportPlayersToArena()
    {
        for (EventTeam team : _teams)
        {
            for (Player player : team.getParticipatedPlayers().values())
            {
                if ((player != null))
                {
                    int[] playerCoordinates = new int[]
                        {
                        player.getPosition().getX(),
                        player.getPosition().getY(),
                        player.getPosition().getZ(),
                        };
                    setOriginalCoordinates(playerCoordinates);
                    new EventTeleporter(player, team.getCoordinates(), false);
                }
            }
        }
    }
    
    public static void teleportPlayersBack()
    {
        for (EventTeam team : _teams)
        {
            for (Player player : team.getParticipatedPlayers().values())
            {
                if ((player != null))
                    new EventTeleporter(player, getOriginalCoordinates(), false);
            }
        }
    }
    

 

so they can not, but when the event ends, they go to where they were.

 

    public static void teleportPlayersToArena()
    {
        for (EventTeam team : _teams)
        {
            for (Player player : team.getParticipatedPlayers().values())
            {
                if ((player != null))
                {
                    player.getSavedLocation().set(player.getPosition());
                    new EventTeleporter(player, team.getCoordinates(), false);
                }
            }
        }
    }
    
    public static void teleportPlayersBack()
    {
        for (EventTeam team : _teams)
        {
            for (Player player : team.getParticipatedPlayers().values())
            {
                final Location loc = player.getSavedLocation();
                if (loc.equals(Location.DUMMY_LOC))
                    return;

                player.teleToLocation(loc, 0);
                player.getSavedLocation().clean();
            }
        }
    }

Edited by l2jkain
  • 0
Posted

when I remove this it is normal but when the event finishes the players stay in the same place

 

player.getSavedLocation().set(player.getPosition());

  • 0
Posted

Dunno what you do, normally it should work. If it's not teleporting back to town after event finish, then the saved location is null, looks like and so, the return is executed. Put teleport to town instead, if loc is dummy.

 

Btw, stop multiposting. 

  • 0
Posted (edited)
1 hour ago, SweeTs said:

Dunno what you do, normally it should work. If it's not teleporting back to town after event finish, then the saved location is null, looks like and so, the return is executed. Put teleport to town instead, if loc is dummy.

 

Btw, stop multiposting. 

 

At the end of the event, the players stay where they were before the event. The only error is that they can not reach the target of the opponents and show that message.

 

 

Edited by l2jkain
  • 0
Posted

This one has nothing to do with the piece of code I provided. Your event code is simply bad.

Find the message over sources, see why you get it and remove lol code.

  • 0
Posted (edited)
7 minutes ago, l2jkain said:

Not Found man

Follow exactly what SweeTs said. But replace:

-  player.getSavedLocation().set(player.getPosition());

+ player.getSavedLocation().set(player.getX(), player.getY(), player.getZ());

Edited by 'Baggos'
  • 0
Posted (edited)
On 18/04/2018 at 6:51 PM, 'Baggos' said:

Follow exactly what SweeTs said. But replace:

-  player.getSavedLocation().set(player.getPosition());

+ player.getSavedLocation().set(player.getX(), player.getY(), player.getZ());

 

no matter what place it does not work

 

I removed all restriction of the same only let the tvt and the npc register does not always work that message should be aCis bug

Edited by l2jkain
  • 0
Posted (edited)
On 18/4/2018 at 12:32 PM, SweeTs said:

You don't have to create any new map or store to db (bleeh). There is something like getSavedLocation on acis. You can find the usage over Olympiad system.

 

store


player.getSavedLocation().set(player.getPosition());

 

retrieve


final Location loc = player.getSavedLocation();
if (loc.equals(Location.DUMMY_LOC))
    return;

player.teleToLocation(loc, 0);
player.getSavedLocation().clean();

newbie approach, if they get dc this info is lost xD

plus if they are in db WHILE the event is running with a check in enterworld you can restore the dc.. player inside the arena (drops mic)

 

EDIT: man i just saw your code in the video and i stopped it in the first 10 seconds staring the code at the part with the for loops with the thread inside NEVER ... EVER do that!

Edited by Nightw0lf

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Tell a Škoda 1.4 driver that a Škoda 1.8 is faster — and suddenly, you’re riding a mini race car. On the way, they might share random stories — gas prices, the perfect BBQ recipe, or how passengers once called them “just for a minute.” Maybe even how someone left a suitcase full of money in their car once.     The important part? You’ll get there on time, no delays.     Vibe SMS works just as fast — messages fly like that driver who just heard their 1.8 isn’t the fastest.     🌐 https://vibe-sms.net/ 📲 https://t.me/vibe_sms  
    • ⚔️ The Grand Opening Has Arrived! ⚔️ In just a few hours the gate to the eternal battlefield will be open and the war between Order and Chaos will be set once again ! Its time to claim your destiny 🔥 👉 Register now and join the fight today! 🌐 https://l2ovc.com register now : https://l2ovc.com The gates are open the war between Order and Chaos has officially started! 🔥 Join the battlefield NOW and claim your destiny in Order vs Chaos! 💥 Don’t fall behind your faction needs you. ➡️ https://l2ovc.com  
    • Don’t miss the new Telegram gifts with our Telegram Stars purchasing bot! A great opportunity to invest in a stable digital asset at an early stage while the market is still forming. Buy other existing gifts in the official store using Telegram Stars, pay for subscriptions, donate to games and projects, pay for Premium subscriptions, and react to messages in channels! Low prices, multiple payment options, and other cool unique features! ⚡ Try it today — SOCNET STARS BOT ⚡ Active links to SOCNET stores: Digital Goods Store (Website): Go Store Telegram Bot: Go – convenient access to the store via Telegram messenger. ⭐ Telegram Stars Purchase Bot: Go – fast and profitable way to buy stars in Telegram. SMM Panel: Go – promote your social media accounts. We present to you the current list of promotions and special offers for purchasing our products and services: 1️⃣ Promo code OCTOBER2025 (8% discount) for purchases in our store (Website, bot) in October! You can also use the promo code SOCNET (15% discount) for your first purchase. 2️⃣ Get $1 on your store balance or a 10–20% discount — just write your username after registration on our website using the template: "SEND ME BONUS, MY USERNAME IS..." — post it in our forum thread! 3️⃣ Get $1 for your first SMM Panel trial — simply open a ticket titled “Get Trial Bonus” on our website (Support). 4️⃣ Weekly ⭐ Telegram Stars giveaways in our Telegram channel and in our Telegram Stars bot! News: ➡ Telegram Channel: https://t.me/accsforyou_shop ➡ WhatsApp Channel: https://chat.whatsapp.com/K8rBy500nA73z27PxgaJUw?mode=ems_copy_t ➡ Discord Server: https://discord.gg/y9AStFFsrh Contacts and Support: ➡ Telegram: https://t.me/socnet_support ➡ WhatsApp: https://wa.me/79051904467 ➡ Discord: socnet_support ➡ ✉ Email: solomonbog@socnet.store
    • Don’t miss the new Telegram gifts with our Telegram Stars purchasing bot! A great opportunity to invest in a stable digital asset at an early stage while the market is still forming. Buy other existing gifts in the official store using Telegram Stars, pay for subscriptions, donate to games and projects, pay for Premium subscriptions, and react to messages in channels! Low prices, multiple payment options, and other cool unique features! ⚡ Try it today — SOCNET STARS BOT ⚡ Active links to SOCNET stores: Digital Goods Store (Website): Go Store Telegram Bot: Go – convenient access to the store via Telegram messenger. ⭐ Telegram Stars Purchase Bot: Go – fast and profitable way to buy stars in Telegram. SMM Panel: Go – promote your social media accounts. We present to you the current list of promotions and special offers for purchasing our products and services: 1️⃣ Promo code OCTOBER2025 (8% discount) for purchases in our store (Website, bot) in October! You can also use the promo code SOCNET (15% discount) for your first purchase. 2️⃣ Get $1 on your store balance or a 10–20% discount — just write your username after registration on our website using the template: "SEND ME BONUS, MY USERNAME IS..." — post it in our forum thread! 3️⃣ Get $1 for your first SMM Panel trial — simply open a ticket titled “Get Trial Bonus” on our website (Support). 4️⃣ Weekly ⭐ Telegram Stars giveaways in our Telegram channel and in our Telegram Stars bot! News: ➡ Telegram Channel: https://t.me/accsforyou_shop ➡ WhatsApp Channel: https://chat.whatsapp.com/K8rBy500nA73z27PxgaJUw?mode=ems_copy_t ➡ Discord Server: https://discord.gg/y9AStFFsrh Contacts and Support: ➡ Telegram: https://t.me/socnet_support ➡ WhatsApp: https://wa.me/79051904467 ➡ Discord: socnet_support ➡ ✉ Email: solomonbog@socnet.store
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock