Performing actions on an offline player
-
Hi, in this tutorial I will go through how to perform actions on an offline player.
So, for example; if you wanna give a player a rank and the player is offline you'd use this.
Stage 1 - Setting the offline player as a variable
If you want to work with an offline player, you need to define it as one.
If you're using command with arguments you'd do this:
Code (Text):OfflinePlayer target = (OfflinePlayer) Bukkit.getOfflinePlayer(args[0]);So basically, inCode (Text):OfflinePlayer target =
Stage 2 - Checking if the player has ever played before
If you wanna use this, you obviously don't wanna give non existing accounts stuff.
So the best way to do it is to check if the player has ever played before.
Code (Text):if(!target.hasPlayedBefore()) {So in "if" I obviously start an if statement. Then, I choose to use #hasPlayedBefore, now we need to tell the plugin which player we wanna choose so, we use the variable that we defined (target). I usually like to check the opposite first so I added a ! at the start. (for negative)
Stage 3 - Adding actions
Essentially what we've done so far is this:
1. Setting the offline player as the variable
2. Checking if the player has ever played before
Now for the simplest part, we need to tell the plugin what to do.
I did this:
Code (Text):OfflinePlayer target = (OfflinePlayer) Bukkit.getOfflinePlayer(args[0]);
if(!target.hasPlayedBefore()) {
Player p = (Player) sender;
sender.sendMessage(ChatColor.RED + target.getName() + " has never played before.");
} else {
getServer().dispatchCommand(getServer().getConsoleSender(), "say Okay " + target.getName());
}
Then if he did, I set it to send a console command 'say Okay + target.getName()'
I hope I helped! - Loading...
- Loading...
XenCarta PRO
© Jason Axelrod from 8WAYRUN.COM