BrabusLV Posted August 8, 2019 Posted August 8, 2019 Hi, all! I'm interesting in getting some answers to questions: 1. How to properly get current player instance (variable). 2. How to get current player actions/events (ex. mouse clicks, left+right mouse click) 3. Is it possible to make character running (Run + Point view), when (both / LEFT + RIGHT) mouse is clicked? Lineage 2 Interlude / Java server Thank you!
1 Rootware Posted August 8, 2019 Posted August 8, 2019 Add listeners to all incoming packets like MoveBackToLocation, RequestActionUse, RequestMagicSkillUse, RequestBypassToServer and etc. Or one global network handler listener. And after you can processing all character's actions for any your wishes. 1
1 Creamy G Colin Posted August 8, 2019 Posted August 8, 2019 (edited) 55 minutes ago, BrabusLV said: I'm looking for user.ini, but i have no idea, how to get both pressed Maybe you know where to send me closer to my answer? :D And yes, about Instance... Maybe it is class but the fact, if i want to get current player nick, what i should write? LeftMouse=PlayerPawnMoveTo RightMouse=CameraRotationModeOn | CameraRotationModeOff | FixedDefaultCamera OnRelease MaxPressedTime=200.0 ;RightMouse=CameraRotationModeOn | CameraRotationModeOff ;MiddleMouse=CameraRotationModeOn | CameraRotationModeOff ;MiddleMouse=FixedDefaultCamera ;End=FixedDefaultCamera MiddleMouse= I'm not into client things . You could create a topic in client section in order to get all the things you need from people who are working on client. About the nick, depends where you want to get the name. If for example you want just to send a message in player when he enter in the world, you have to code in EnterWorld.java . There you can see from other lines that already exists a variable that control the player . for example in my sources this variable is called 'player'. So the only thing you have to code is -> player.sendMessage("hi");. 'player' could be named as activeChar or 'client'. Then, since you got the 'player' instance, you can get the name from the methods of this class. Usually the method is getName() but idk what you are using. so -> player.getName(); should return the name of the player. Edited August 8, 2019 by Creamy G Colin 1
1 Creamy G Colin Posted August 8, 2019 Posted August 8, 2019 6 hours ago, BrabusLV said: Ok thank you, last question, does in lineage 2 interlude works command MoveForward? RightMouse=MoveForward Can i do something like this? Not sure what is this but, considering to that name i think somewhere should be located all the opcodes of the packets that have to send in server side. so MoveForward have an opcode. (Client side is not l2.ini. do a deep search :P) And again, a client dev can help you more than us.
0 Creamy G Colin Posted August 8, 2019 Posted August 8, 2019 1) not sure what you need. By instance you mean the class? 2) you can only get the location where the player wants to go. not the mouse click action itself. 3) maybe , its clearly client thing You should define what you want to do . Maybe there are other ways to do them
0 BrabusLV Posted August 8, 2019 Author Posted August 8, 2019 (edited) Ok thank you guys ;) I wanted to create choice for player: to run in client while left+right mouse pressed (like in World of Warcraft) Edited August 8, 2019 by BrabusLV selected properly word :)
0 Creamy G Colin Posted August 8, 2019 Posted August 8, 2019 (edited) 5 minutes ago, BrabusLV said: Ok thank you guys ;) I wanted to create choice for player: to run in client while left+right mouse clicked (like in World of Warcraft) Its definitely client thing. you should handle both mouse actions . When the keys pressed together, you should send the action to server and if one of them will release then stop the action . Edit: You can take a look how the 'arrows' are working Edited August 8, 2019 by Creamy G Colin
0 BrabusLV Posted August 8, 2019 Author Posted August 8, 2019 (edited) 10 minutes ago, Creamy G Colin said: Its definitely client thing. you should handle both mouse actions . When the keys pressed together, you should send the action to server and if one of them will release then stop the action I'm looking for user.ini, but i have no idea, how to get both pressed Maybe you know where to send me closer to my answer? :D And yes, about Instance... Maybe it is class but the fact, if i want to get current player nick, what i should write? LeftMouse=PlayerPawnMoveTo RightMouse=CameraRotationModeOn | CameraRotationModeOff | FixedDefaultCamera OnRelease MaxPressedTime=200.0 ;RightMouse=CameraRotationModeOn | CameraRotationModeOff ;MiddleMouse=CameraRotationModeOn | CameraRotationModeOff ;MiddleMouse=FixedDefaultCamera ;End=FixedDefaultCamera MiddleMouse= Edited August 8, 2019 by BrabusLV
0 Rootware Posted August 8, 2019 Posted August 8, 2019 You not need get character nick cause incoming packet have Client instance and for client instance attached unique Player instance. Just get player nick from server side like: final String nickname = getClient().getActingPlayer().getName(); All what you need - it's catch necessary action from client. server side already have all properties about owner character and target object.
0 Tryskell Posted August 8, 2019 Posted August 8, 2019 Got nothing related to server side, it's purely client.
0 BabayG Posted August 8, 2019 Posted August 8, 2019 3rd. is implemented after grand crusade or maybe a patch earlier. Ask a client dev
0 BrabusLV Posted August 8, 2019 Author Posted August 8, 2019 Ok thank you, last question, does in lineage 2 interlude works command MoveForward? RightMouse=MoveForward Can i do something like this?
Question
BrabusLV
Hi, all!
I'm interesting in getting some answers to questions:
Lineage 2 Interlude / Java server
Thank you!
11 answers to this question
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now