^Wyatt Posted July 10, 2012 Posted July 10, 2012 My mind always get f.ucked when I'm trying to create an Instance, Mob Zone, Quest... which needs specified spawn points, so I decided to create a simple code that allows me to work faster. Are you tired of using /loc to get spawn points and after that, having to write all the values? Don't get f.ucked by your scripts, use //loc and copy+paste! x'D Index: dist/game/data/scripts/handlers/admincommandhandlers/AdminLocations.java =================================================================== --- dist/game/data/scripts/handlers/admincommandhandlers/AdminLocations.java (revision 0) +++ dist/game/data/scripts/handlers/admincommandhandlers/AdminLocations.java (revision 0) @@ -0,0 +1,105 @@ +/* + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see <http://www.gnu.org/licenses/>. + */ +package handlers.admincommandhandlers; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.util.ArrayList; +import java.util.List; +import com.l2jserver.gameserver.handler.IAdminCommandHandler; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; + +/** + * + * @author Wyatt + * + */ + +public class AdminLocations implements IAdminCommandHandler +{ + private static final String[] ADMIN_COMMANDS = + { + "admin_loc", + "admin_reset_loc" + }; + + public static List<String> _locs = new ArrayList<String>(); + private int count = 0; + private int loop = 0; + + @Override + public boolean useAdminCommand(String command, L2PcInstance activeChar) + { + + if (command.equals("admin_reset_loc")) + { + _locs.clear(); + activeChar.sendMessage("Locations deleted."); + } + + else if (command.equals("admin_loc")) + { + count = 0; + _locs.add(""+activeChar.getX()); + _locs.add(""+activeChar.getY()); + _locs.add(""+activeChar.getZ()); + + String fname = "data/locations.txt"; + File file = new File(fname); + try + { + file.createNewFile(); + FileWriter fstream = new FileWriter(fname); + BufferedWriter out = new BufferedWriter(fstream); + out.write("private int [] x = {};\r\nprivate int [] y = {};\r\nprivate int [] z = {};\r\n\r\n"); + for(String loc: _locs) + { + loop++; + out.write(getCoord(loop, count, loc)); + } + out.close(); + activeChar.sendMessage("Location saved."); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + return true; + } + + @Override + public String[] getAdminCommandList() + { + return ADMIN_COMMANDS; + } + + private String getCoord(int a, int e, String o) + { + switch(a) + { + case 1: + return "x["+e+"] = "+o+";\r\n"; + case 2: + return "y["+e+"] = "+o+";\r\n"; + case 3: + count++; + loop = 0; + return "z["+e+"] = "+o+";\r\n\r\n"; + } + return null; + } +}
vampir Posted July 10, 2012 Posted July 10, 2012 well, i made similar thing while spawning a lot of monsters, while using //para, mobs locations were added to text file, thanks for sharing it anyway ^^
marcose Posted July 12, 2012 Posted July 12, 2012 http://www.javapractices.com/topic/TopicAction.do?Id=82 read ¬¬
^Wyatt Posted July 12, 2012 Author Posted July 12, 2012 http://www.javapractices.com/topic/TopicAction.do?Id=82 read ¬¬ ? :/ I don't catch you at all... but if you're meaning that what I coded I so easy to do and that you don't like it... Ok, but I think is a very useful and for sure, easy code.
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