00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <Parse.h>
00021
00022 #include "Go.h"
00023 #include "InSocket.h"
00024 #include "Chunk.h"
00025 #include "Player.h"
00026 #include "Terrain.h"
00027 #include "Area.h"
00028
00029
00030 void Go::Execute(InSocket *from,const std::string& params,Parse& pa)
00031 {
00032 int a = atoi(params.c_str());
00033 int x = pa.getvalue();
00034 int y = pa.getvalue();
00035 int z = pa.getvalue();
00036 Database& db = from -> GetDatabase();
00037 Area area(db, a);
00038 if (area.Exists())
00039 {
00040 Chunk chunk(db, area, x, y, z);
00041 if (chunk.Exists())
00042 {
00043 Player pl(db, from -> GetAccountName());
00044 from -> Send("Ok.\n");
00045 pl.SetArea(area.GetNum());
00046 pl.SetChunk(chunk.GetNum());
00047 }
00048 else
00049 {
00050 from -> Send("No chunk\n");
00051 }
00052 }
00053 else
00054 {
00055 from -> Send("No area\n");
00056 }
00057 from -> SetPrompt();
00058 }
00059
00060