Jump to content
  • 0

[Help] Buy/sell Zone


Question

Posted

Hi maxcheaters,

I need your help...looking for a shop zone to buy, sell only there.

 

I mean players are only be able to sell, buy and ofc rec sell in giran harbor.

 

I hope you can help.

Thanks!

7 answers to this question

Recommended Posts

  • 0
Posted (edited)

Take a look in jail zone and use the same check (NOSTORE) for peaceful zones. I think Giran harbor it is not peaceful. But if is peaceful in your project, you can create a new zone, use the same checks, and just insert Giran Harbor as store zone. (like flag zone with locs).

 

Better option is to create a new store zone.

 

Incidentally, it is not rec sell but craft.

Edited by 'Baggos'
  • 0
Posted

Create for example zone type: OfflineShops.
Find function, which sets actor( player ) to shop, add check

if (actor.getZone() != ZoneType.OfflineShops)

{ send some kind of message;

return; }

 

Easiest solution.

 

P.s. class files in example are made up by me, so you need to know where stuff is in your pack.

  • 0
Posted

It's far easier to restain some zones to be nostore zones (around gms, stairs, etc) rather than the reverse. aCis got it implemented that way at least.

 

If your server must restrain every single zone except the ones you chose, it's basically a reverted nostore zone system (if not inside the zone you can't sell). Simply track nostore system to see which places to edit, they are similar.

  • 0
Posted (edited)

I edit now net.sf.l2j.gameserver.model.zone.type; L2TownZone

 @Override
 protected void onEnter(L2Character character)
 {
  if (character instanceof L2PcInstance)
  {
   // PVP possible during siege, now for siege participants only
   // Could also check if this town is in siege, or if any siege is going on
   if (((L2PcInstance) character).getSiegeState() != 0 && Config.ZONE_TOWN == 1)
    return;
  }
  
  if (_isPeaceZone && Config.ZONE_TOWN != 2)
   character.setInsideZone(ZoneId.PEACE, true);
  
  character.setInsideZone(ZoneId.TOWN, true);
  character.setInsideZone(ZoneId.NO_STORE, true); <--(ADDed)
 }
 
 @Override
 protected void onExit(L2Character character)
 {
  if (_isPeaceZone)
   character.setInsideZone(ZoneId.PEACE, false);
  
  character.setInsideZone(ZoneId.TOWN, false);
  character.setInsideZone(ZoneId.NO_STORE, false); <--(ADDed)
 }

All Townzones now " no store "

->Giran Harbor "store Zone"

 

thanks for tips and try to help me! :)

 

-> Topic can Lock!

Edited by Protein
  • 0
Posted

I think it is better to edit "peaceful" zones for no store and create a new zone.

 

Your giran harbor isn't peaceful and all players can kill everyone inside.

So, you need a new store zone and after make it peaceful.

When you will create the new zone check this.

Guest
This topic is now closed to further replies.
×
×
  • Create New...