Jump to content
  • 0

Item restriction


Amn3sia
 Share

Question

15 answers to this question

Recommended Posts

  • 0

Similar to oly restrictions.

 

2 things you should care about.

1st) check the type while entering at the event or teleporting? idk, and unequip it

2nd) when useItem will launch

Link to comment
Share on other sites

  • 0
5 minutes ago, melron said:

Similar to oly restrictions.

 

2 things you should care about.

1st) check the type while entering at the event or teleporting? idk, and unequip it

2nd) when useItem will launch

the problem is that im forcing the player to equip a specific id but while the event is running he can change it 

Link to comment
Share on other sites

  • 0
2 minutes ago, Sidereal Day said:

the problem is that im forcing the player to equip a specific id but while the event is running he can change it 

can you be more descriptive? give us examples or atleast give some code to help you

Link to comment
Share on other sites

  • 0
2 minutes ago, melron said:

can you be more descriptive? give us examples or atleast give some code to help you


public boolean canUseItem(PlayerEventInfo player, ItemData item)
	{
		if(item.getItemId() == _bowItemId && item.isEquipped())
			return false;
  		return super.canUseItem(player, item);
	}

i want to make this part of code to

{
if(item.getItemId() != _bowItemId)
			player.sendMessage(LanguageEngine.getMsg("you cant use another weapon than the Bow"));
}

something like this 

Link to comment
Share on other sites

  • 0
8 minutes ago, Sidereal Day said:


public boolean canUseItem(PlayerEventInfo player, ItemData item)
	{
		if(item.getItemId() == _bowItemId && item.isEquipped())
			return false;
  		return super.canUseItem(player, item);
	}

i want to make this part of code to


{
if(item.getItemId() != _bowItemId)
			player.sendMessage(LanguageEngine.getMsg("you cant use another weapon than the Bow"));
}

something like this 

you confused me. you have a method with name canUseItem.

You are checking if the item id is equal to ex. 7575 (db) and if yes & is equipped you returning false ? it means you cant use that? so you cant even unequip it?

 

you have to edit your method and check only the item id. so..

 

 

public boolean canUseItem(PlayerEventInfo player, ItemData item)
	{
		if(!item.isEquipped())
			return item.getItemId() == _bowItemId;
  		return super.canUseItem(player, item);
	}

 

 

Link to comment
Share on other sites

  • 0
18 minutes ago, melron said:

you confused me. you have a method with name canUseItem.

You are checking if the item id is equal to ex. 7575 (db) and if yes & is equipped you returning false ? it means you cant use that? so you cant even unequip it?

 

you have to edit your method and check only the item id. so..

 

 


public boolean canUseItem(PlayerEventInfo player, ItemData item)
	{
		if(!item.isEquipped())
			return item.getItemId() == _bowItemId;
  		return super.canUseItem(player, item);
	}

 

 

will this code force the player to use only 1 specific id ? because thats what im trying to do 

Link to comment
Share on other sites

  • 0

If your code is working fine, but it's missing check onEquip. Why not simply go to (Request)UseItem, from memory, and add a check like 

 

if (player.isInEvent() && item.getId() != 7575)

{

   player.sendMessage("you can only equip 7575 Id".);

   return;

Link to comment
Share on other sites

  • 0
11 minutes ago, SweeTs said:

If your code is working fine, but it's missing check onEquip. Why not simply go to (Request)UseItem, from memory, and add a check like 

 

if (player.isInEvent() && item.getId() != 7575)

{

   player.sendMessage("you can only equip 7575 Id".);

   return;



Use Code tag next time. Last time i warn you.

 

@Sidereal Day you can simply go in UseItem.java (or idk on which project you're working on) and add a simple check as SweeTs said such as:

 

if (item.getItemType() == L2WeaponType.BOW)
{
	return;
}

To block BOW from any specific event you want.

Edited by Kara`
Link to comment
Share on other sites

  • 0

He want to block all, allow one kind of a wep, so yeah. Item Id check, as I suggested, is better, easier, faster.

 

@Kara`

Ps: next time share code which uses enum :3

Link to comment
Share on other sites

  • 0

If i only could turn my logical idea on code it would be so easy, as sweets said  i just want to prevent the player to use another weapon than my specific id on this event , so i think im going to use that code sweets said 

 

----EDIT----

what return should i use because my class is public boolen not void so i cant return nothing

Edited by Sidereal Day
Link to comment
Share on other sites

  • 0

False. Eventually you could add a check regarding item type / instance. So, you will restrict only weapon type items, so you can freely change armor and such.

Link to comment
Share on other sites

  • 0
9 hours ago, SweeTs said:

False. Eventually you could add a check regarding item type / instance. So, you will restrict only weapon type items, so you can freely change armor and such.

can you explain further what you mean by "(Request)UseItem, from memory" ?

Link to comment
Share on other sites

  • 0
54 minutes ago, Sidereal Day said:

can you explain further what you mean by "(Request)UseItem, from memory" ?

The file, it's name, RequestUseItem.java or UseItem.java. Normally it's UseItem.java, under network/clientpacket.

 

I would put the check directly there.

Link to comment
Share on other sites

  • 0
34 minutes ago, SweeTs said:

The file, it's name, RequestUseItem.java or UseItem.java. Normally it's UseItem.java, under network/clientpacket.

 

I would put the check directly there.

ok found it , one more question if if the method is IsInEvent so the function will work for the rest of the events ? and 1 more, to validate the check on the ItemUse i have to add a return on canUseItem variable ?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Posts

    • Impossible to combine them just in xml, they have different target and skill types. But yeah, you can make it to work like you want, make a new skilltype or modify existing one.
    • I contacted Ave for a custom launcher on December 22, and purchased it on December 27. Ave promised to deliver after new year's eve. I gave him an extense deadline for an entire month, until January 27, which is today.   Ave stopped responding in Discord in January 13. I tried messaging him multiple times, and never received an answer again.   Yesterday, I used another account to try to get an answer from him in Skype. He answered instantly, which means he was actively ignoring me in the other account. When I told him who I was, he proceeded to block me in Skype.   I understand being busy or not having time, but he never mentioned any of those being the case. He agreed to the job and confirmed it, asked for a deadline himself, and confirmed that it would be "easily done by then". At this point he proceeded to ghost me for the rest of the month, never answering again. and never delivered anything. Sadly there is nothing to see here but a regular scam.
    • Hello.  I added this on aCis401 but i found some serious problems on the code. First of all i updated all sql queries and i removed the character_memo_alt (its useless) and instead i saved everything in character_memo. All custom edits on Gameclient.java caused a serious problem (WARNING on GS) when a players was logging out. I found this part useless too so i removed it. Then i removed all Tournament arenas and OutOfZoneTask (i found them useless too because all games are instanced). Another bug is :when a team is on countdown to port in, for those 10 seconds was able to register on another game. That caused serious issues if another team join the Q and could port your team on next game before you finish the active one. And last bug is with the pets. Instance is not handled upon teleport in arena so enemies cannot kill your pet. I fixed more things for sure but i don't remember something else big.    Its a very good system if you can manage to fix/update. I don't recommend it for live server as it is.   Keep up.
    • still missing infinite odyssey 
  • 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