Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

How to add some a GM exception and a range for the command in the post?

Newbie Spellweaver
Joined
Apr 11, 2017
Messages
28
Reaction score
0
HELLO!

So, I've been trying to edit the TiredStory source to my liking and I'm like so freaking fresh at Java. So, the questions I may ask now are probably so stupid but please bear with me <3


1. How do I add a feature to this !killnear command where it does not affect GMs and is there anyway I can control it's range to be suitable to use in tag.

Code:
} else if (splitted[0].equals("killnear")) { 
             MapleMap map = player.getMap(); 
             List<MapleMapObject> players = map.getMapObjectsInRange(player.getPosition(), (double) 50000, Arrays.asList(MapleMapObjectType.PLAYER));
             for (MapleMapObject closeplayers : players) { 
             MapleCharacter playernear = (MapleCharacter) closeplayers;
             if (playernear.isAlive() && playernear != player);
             playernear.setHp(0);
             playernear.updateSingleStat(MapleStat.HP, 0);
             playernear.dropMessage(6, "You were too close to a GM.");            }


Thank you in advance,
akh01999~
 
Junior Spellweaver
Joined
Dec 21, 2013
Messages
140
Reaction score
3
Greetings

To not affect GMs, change
Code:
[COLOR=#666666]if (playernear.isAlive() && playernear != player);[/COLOR]
to
Code:
[COLOR=#666666]if (playernear.isAlive() && playernear != player [B]&&[/B] [B]!playernear.isGM()[/B]);[/COLOR]

For the range, play around with the value
Code:
[COLOR=#666666]List<MapleMapObject> players = map.getMapObjectsInRange(player.getPosition(), (double) [B]50000[/B], Arrays.asList(MapleMapObjectType.PLAYER));[/COLOR]
 
Upvote 0
Joined
Apr 25, 2010
Messages
479
Reaction score
49
Change to this
Code:
 if (playernear.isAlive() && !playernear.isGM()) return;

This seems to me to be unnecessary, if you are already checking to be a GM.
Code:
playernear != player
 
Upvote 0
Newbie Spellweaver
Joined
Apr 11, 2017
Messages
28
Reaction score
0
Greetings

To not affect GMs, change
Code:
[COLOR=#666666]if (playernear.isAlive() && playernear != player);[/COLOR]
to
Code:
[COLOR=#666666]if (playernear.isAlive() && playernear != player [B]&&[/B] [B]!playernear.isGM()[/B]);[/COLOR]

For the range, play around with the value
Code:
[COLOR=#666666]List<MapleMapObject> players = map.getMapObjectsInRange(player.getPosition(), (double) [B]50000[/B], Arrays.asList(MapleMapObjectType.PLAYER));[/COLOR]

Gives me this error when compiling: missing return value if (playernear.isAlive() && !playernear.isGM()) return;
 
Upvote 0
Joined
Apr 25, 2010
Messages
479
Reaction score
49
Gives me this error when compiling: missing return value if (playernear.isAlive() && !playernear.isGM()) return;


if (playernear.isAlive() && !playernear.isGM());

or
Code:
} else if (splitted[0].equals("killnear")) { 
             MapleMap map = player.getMap(); 
             List<MapleMapObject> players = map.getMapObjectsInRange(player.getPosition(), (double) 50000, Arrays.asList(MapleMapObjectType.PLAYER));
             for (MapleMapObject closeplayers : players) { 
             MapleCharacter playernear = (MapleCharacter) closeplayers;
             if (playernear.isAlive() && !playernear.isGM()) { // or use playernear.getGMLevel() > 0
                 playernear.setHp(0);
                 playernear.updateSingleStat(MapleStat.HP, 0);
                 playernear.dropMessage(6, "You were too close to a GM.");  
			 }
		}	 
    }
 
Last edited:
Upvote 0
Newbie Spellweaver
Joined
Apr 11, 2017
Messages
28
Reaction score
0
nvm worked, thanks alot!



When I made it
if (playernear.isAlive() && !playernear.getGMlevel() > 0) {


It gave me errors in commands below it and it underlined getGMlevel as if its unknown. So, I used the other one you gave me:
if (playernear.isAlive() && !playernear.isGM()) {
Still killing me whenever I use it.
 
Upvote 0
Joined
Apr 25, 2010
Messages
479
Reaction score
49
nvm worked, thanks alot!



When I made it
It gave me errors in commands below it and it underlined getGMlevel as if its unknown. So, I used the other one you gave me:

Still killing me whenever I use it.

Code:
} else if (splitted[0].equals("!killnear")) { 
            MapleMap map = player.getMap(); 
            List<MapleMapObject> players = map.getMapObjectsInRange(player.getPosition(), (double) 50000, Arrays.asList(MapleMapObjectType.PLAYER)); 
            for (MapleMapObject closeplayers : players) { 
                MapleCharacter playernear = (MapleCharacter) closeplayers; 
            if (playernear.isAlive() && playernear != player && playernear.getGMLevel() == 0); 
                playernear.setHp(0); 
                playernear.updateSingleStat(MapleStat.HP, 0); 
                playernear.dropMessage(5, "You were too close to a GM."); 
            }

That is the right thing to do, I returned the function that theoretically and unnecessarily. You should check the privileges check in your source, normally it is given with false or true isGM (), if this does not work you should include methods in your MapleCharacter.
 
Upvote 0
Newbie Spellweaver
Joined
Apr 11, 2017
Messages
28
Reaction score
0
Code:
} else if (splitted[0].equals("!killnear")) { 
            MapleMap map = player.getMap(); 
            List<MapleMapObject> players = map.getMapObjectsInRange(player.getPosition(), (double) 50000, Arrays.asList(MapleMapObjectType.PLAYER)); 
            for (MapleMapObject closeplayers : players) { 
                MapleCharacter playernear = (MapleCharacter) closeplayers; 
            if (playernear.isAlive() && playernear != player && playernear.getGMLevel() == 0); 
                playernear.setHp(0); 
                playernear.updateSingleStat(MapleStat.HP, 0); 
                playernear.dropMessage(5, "You were too close to a GM."); 
            }

That is the right thing to do, I returned the function that theoretically and unnecessarily. You should check the privileges check in your source, normally it is given with false or true isGM (), if this does not work you should include methods in your MapleCharacter.

Tells me, incomparable types: boolean and int
 
Upvote 0
Newbie Spellweaver
Joined
Dec 22, 2013
Messages
57
Reaction score
10
Code:
} else if (splitted[0].equals("!killnear")) {             
     MapleMap map = player.getMap();             
     List<MapleMapObject> players = map.getMapObjectsInRange(player.getPosition(), (double) 50000, Arrays.asList(MapleMapObjectType.PLAYER));            
     for (MapleMapObject closeplayers : players) {                 
          MapleCharacter playernear = (MapleCharacter) closeplayers;             
          if (playernear.isAlive() && playernear != player && playernear.getGMLevel()) {  
               playernear.setHp(0);                 
               playernear.updateSingleStat(MapleStat.HP, 0);                 
               playernear.dropMessage(5, "You were too close to a GM."); 
          }      
     }
}
 
Upvote 0
Newbie Spellweaver
Joined
Apr 11, 2017
Messages
28
Reaction score
0
Post method getGMLevel

This is my current code:
Code:
} else if (splitted[0].equals("killnear")) {             MapleMap map = player.getMap(); 
            List<MapleMapObject> players = map.getMapObjectsInRange(player.getPosition(), (double) 50000, Arrays.asList(MapleMapObjectType.PLAYER)); 
            for (MapleMapObject closeplayers : players) { 
                MapleCharacter playernear = (MapleCharacter) closeplayers; 
            if (playernear.isAlive() && playernear != player && playernear.gmLevel() == 0); 
                playernear.setHp(0); 
                playernear.updateSingleStat(MapleStat.HP, 0); 
                playernear.dropMessage(5, "You've been tagged."); 
            }

Still not working and whenever I use any of ur codes, it gives me red lines and errors.
 
Upvote 0
Joined
Apr 25, 2010
Messages
479
Reaction score
49
This is my current code:
Code:
} else if (splitted[0].equals("killnear")) {             MapleMap map = player.getMap(); 
            List<MapleMapObject> players = map.getMapObjectsInRange(player.getPosition(), (double) 50000, Arrays.asList(MapleMapObjectType.PLAYER)); 
            for (MapleMapObject closeplayers : players) { 
                MapleCharacter playernear = (MapleCharacter) closeplayers; 
            if (playernear.isAlive() && playernear != player && playernear.gmLevel() == 0); 
                playernear.setHp(0); 
                playernear.updateSingleStat(MapleStat.HP, 0); 
                playernear.dropMessage(5, "You've been tagged."); 
            }

Still not working and whenever I use any of ur codes, it gives me red lines and errors.

With the code everything is correct, it should work. You now just need to tell me if you actually changed your gmlevel in the database, if not check.


Edit: in tiredstory gmlevel is thus treated:
Code:
public boolean isGM1() {
        return gmLevel >= 2;
    }    

    public boolean getGMLevel() {
        return gmLevel < 2;
    } 
    
    public boolean getGMLevel1() {
        return gmLevel > 1;
    } 
    
    public boolean getGMLevel2() {
        return gmLevel >= 99;
    }

    public boolean isSGM() {
        return gmLevel >= 2;
    }
    public boolean isHidden() {
        return hidden;
    }

So try using

Code:
else if (splitted[0].equals("killnear")) {             
            MapleMap map = player.getMap(); 
            List<MapleMapObject> players = map.getMapObjectsInRange(player.getPosition(), (double) 50000, Arrays.asList(MapleMapObjectType.PLAYER)); 
            for (MapleMapObject closeplayers : players) { 
                 MapleCharacter playernear = (MapleCharacter) closeplayers; 
                 if (playernear.isAlive() && !playernear.isSGM()) { 
                     playernear.setHp(0); 
                     playernear.updateSingleStat(MapleStat.HP, 0); 
                     playernear.dropMessage(5, "You've been tagged."); 
            }
	    }
    }
 
Last edited:
Upvote 0
Newbie Spellweaver
Joined
Apr 11, 2017
Messages
28
Reaction score
0
With the code everything is correct, it should work. You now just need to tell me if you actually changed your gmlevel in the database, if not check.


Edit: in tiredstory gmlevel is thus treated:
Code:
public boolean isGM1() {
        return gmLevel >= 2;
    }    

    public boolean getGMLevel() {
        return gmLevel < 2;
    } 
    
    public boolean getGMLevel1() {
        return gmLevel > 1;
    } 
    
    public boolean getGMLevel2() {
        return gmLevel >= 99;
    }

    public boolean isSGM() {
        return gmLevel >= 2;
    }
    public boolean isHidden() {
        return hidden;
    }

So try using

Code:
else if (splitted[0].equals("killnear")) {             
            MapleMap map = player.getMap(); 
            List<MapleMapObject> players = map.getMapObjectsInRange(player.getPosition(), (double) 50000, Arrays.asList(MapleMapObjectType.PLAYER)); 
            for (MapleMapObject closeplayers : players) { 
                 MapleCharacter playernear = (MapleCharacter) closeplayers; 
                 if (playernear.isAlive() && !playernear.isSGM()) { 
                     playernear.setHp(0); 
                     playernear.updateSingleStat(MapleStat.HP, 0); 
                     playernear.dropMessage(5, "You've been tagged."); 
            }
        }
    }


This is the CommandProcessor code atm: (Sorry for the format)
Code:
if (c.getPlayer().gmLevel() >= 2) {           
 if (JrGM.execute(c, sp, '!')) {                
return true;            }            }            
if (c.getPlayer().gmLevel() >= 1) {                
if (DonorCommand.execute(c, sp, '!')) {                    
return true;                }            }           
 if (c.getPlayer().gmLevel() >= 3) {                
if (GMCommand.execute(c, sp, '!')) {                    
return true;                }            }            
if (c.getPlayer().gmLevel() >= 4) {               
 if (SGMCommand.execute(c, sp, '!')) {                   
 return true;                }            }           
 if (c.getPlayer().gmLevel() >= 5) {                
if (DeveloperCommand.execute(c, sp, '!')) {                    
return true;                }            }            
if (c.getPlayer().gmLevel() >= 6) {                
if (AdminCommand.execute(c, sp, '!')) {                    
return true;                }            }
 
Upvote 0
Newbie Spellweaver
Joined
Dec 22, 2013
Messages
57
Reaction score
10
This is the CommandProcessor code atm: (Sorry for the format)
Code:
if (c.getPlayer().gmLevel() >= 2) {           
 if (JrGM.execute(c, sp, '!')) {                
return true;            }            }            
if (c.getPlayer().gmLevel() >= 1) {                
if (DonorCommand.execute(c, sp, '!')) {                    
return true;                }            }           
 if (c.getPlayer().gmLevel() >= 3) {                
if (GMCommand.execute(c, sp, '!')) {                    
return true;                }            }            
if (c.getPlayer().gmLevel() >= 4) {               
 if (SGMCommand.execute(c, sp, '!')) {                   
 return true;                }            }           
 if (c.getPlayer().gmLevel() >= 5) {                
if (DeveloperCommand.execute(c, sp, '!')) {                    
return true;                }            }            
if (c.getPlayer().gmLevel() >= 6) {                
if (AdminCommand.execute(c, sp, '!')) {                    
return true;                }            }

Just use what I posted lol
 
Upvote 0
Newbie Spellweaver
Joined
Apr 11, 2017
Messages
28
Reaction score
0
Just use what I posted lol

Code:
public boolean isGM() {        
return gmLevel >= 1;    }        
public boolean isGM1() {        
return gmLevel >= 2;    }        
public boolean getGMLevel() {        
return gmLevel < 2;    }         
public boolean getGMLevel1() {        
return gmLevel > 1;    }         
public boolean getGMLevel2() {        
return gmLevel >= 99;    }
public boolean isSGM() {        
return gmLevel >= 2;    }    
public boolean isHidden() {        
return hidden;

That's my MapleCharacter.java

I editted it the code but still isnt working

My current code:
Code:
} else if (splitted[0].equals("tag")) {             
MapleMap map = player.getMap();             
List<MapleMapObject> players = map.getMapObjectsInRange(player.getPosition(), (double) 42000, Arrays.asList(MapleMapObjectType.PLAYER));            
 for (MapleMapObject closeplayers : players) {                 
MapleCharacter victim = (MapleCharacter) closeplayers;             
if (victim.isAlive() && victim.gmLevel() < 2);                
victim.setHp(0);                 
victim.updateSingleStat(MapleStat.HP, 0);                 
victim.dropMessage(5, "You've been tagged.");             }
 
Upvote 0
Newbie Spellweaver
Joined
Dec 22, 2013
Messages
57
Reaction score
10
I mean this @akh01999
playernear != player not necessary but w/e
Code:
} else if (splitted[0].equals("!killnear")) {             
     MapleMap map = player.getMap();             
     List<MapleMapObject> players = map.getMapObjectsInRange(player.getPosition(), (double) 50000, Arrays.asList(MapleMapObjectType.PLAYER));            
     for (MapleMapObject closeplayers : players) {                 
          MapleCharacter playernear = (MapleCharacter) closeplayers;             
          if (playernear.isAlive() && playernear != player && playernear.getGMLevel()) {  
               playernear.setHp(0);                 
               playernear.updateSingleStat(MapleStat.HP, 0);                 
               playernear.dropMessage(5, "You were too close to a GM."); 
          }      
     }
}
 
Upvote 0
Newbie Spellweaver
Joined
Apr 11, 2017
Messages
28
Reaction score
0
I mean this @akh01999
playernear != player not necessary but w/e
Code:
} else if (splitted[0].equals("!killnear")) {             
     MapleMap map = player.getMap();             
     List<MapleMapObject> players = map.getMapObjectsInRange(player.getPosition(), (double) 50000, Arrays.asList(MapleMapObjectType.PLAYER));            
     for (MapleMapObject closeplayers : players) {                 
          MapleCharacter playernear = (MapleCharacter) closeplayers;             
          if (playernear.isAlive() && playernear != player && playernear.getGMLevel()) {  
               playernear.setHp(0);                 
               playernear.updateSingleStat(MapleStat.HP, 0);                 
               playernear.dropMessage(5, "You were too close to a GM."); 
          }      
     }
}
I already did, it didn't work. So I used that code I gave as per advice from another coder. Both didn't work. I'm confused af.

Thanks in advance,
akh01999~
 
Upvote 0
Newbie Spellweaver
Joined
Apr 11, 2017
Messages
28
Reaction score
0
What error do you get when trying to use it?

Check the attachment below.

You got a skype? That could help.

error - How to add some a GM exception and a range for the command in the post? - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Last edited:
Upvote 0
Back
Top