자유게시판

제작 영상
2012.07.13 00:07

뭐가 문제지?

조회 수 1056 추천 수 0 댓글 7

        public class MAP : Database
        {
            public List<NPC> Npcs = new List<NPC>();

            static int MapID;

            static int Width;
            static int Height;

            static int[] Data = null;

            int XY;
           
            public int OnlineUsers = 0;

            public MAP(int map)
            {
                MySqlDataReader mdr = MySqlHelper.ExecuteReader(Connection, "SELECT * FROM npc WHERE map = '" + map + "';");

                int r = 0;

                while (true)
                {
                    if (!mdr.Read()) break;

                    NPC i = new NPC();

                    i.No = mdr.GetInt32("no");
                    i.Type = mdr.GetInt16("type");

                    i.Move = mdr.GetInt16("move") == 1 ? true : false;

                    i.Id = mdr.GetString("name");

                    i.Hp = mdr.GetInt32("hp");

                    i.Regen = mdr.GetInt32("rebirth");
                    i.Pure_Regen = i.Regen;

                    i.Handling = mdr.GetInt16("handling");
                    i.Time = i.Handling;

                    i.Damage = mdr.GetInt32("power");
                    i.Defense = mdr.GetInt32("defensive");

                    i.Map = mdr.GetInt16("map");
                    i.X = mdr.GetInt16("x");
                    i.Y = mdr.GetInt16("y");
                    i.D = mdr.GetInt16("d");

                    i.Image = mdr.GetString("image");

                    //i.Function = mdr.GetString("function");

                    i.rand = new Random(r);

                    Npcs.Add(i);
                    r++;
                }
                mdr.Close();

                string Name;

                if (map < 10) Name = "BMap00" + map;
                else if (map >= 10 && map < 100) Name = "BMap0" + map;
                else Name = "BMap" + map;

                if (File.Exists("./BMap/" + Name + ".map"))
                {
                    using (StreamReader outfile = File.OpenText("./BMap/" + Name + ".map"))
                    {
                        string read = outfile.ReadToEnd();
                        string[] result = Regex.Split(read, "\001");

                        MapID = int.Parse(result[3]);

                        Width = int.Parse(result[5]);
                        Height = int.Parse(result[6]);

                        while (0 <= Height - 1)
                        {
                            while (0 <= Width - 1)
                            {
                                Data[XY] = Data[7 + XY];
                                ++XY;
                            }
                        }

                        outfile.Close();
                    }
                }
            }

            static bool Valid(int x, int y)
            {
                return (x >= 0 && x < Width && y >= 0 && y < Height);
            }

            public static bool Passable(int x, int y)
            {
                if (!Valid(x, y)) return false;

                foreach (USER user in Handler.User.Values)
                    if (MapID == user.map && x == user.x && y == user.y) return false;

                foreach (MAP i in Handler.Map.Values)
                {
                    foreach (NPC npc in i.Npcs)
                        if (!npc.Die && MapID == npc.Map && x == npc.X && y == npc.Y) return false;
                }

                if (Data[x + (y * Width)] == 0) return false;

                return true;
            }

 

 

 

 

 

 

 

 

왜 오류가 뜨는 것이야

Who's Mania

?

2001년부터 쯔꾸르 RPG를 만진 사람.

게임 공작소, 창조도시 그 마니아. 맞습니다.

Comment '7'
  • ?
    Mania 2012.07.13 00:08
    정규식이면 \001 이 맞을텐디 ㅡㅡ
  • profile
    JACKY 2012.07.13 00:11
    저도 잘 모르겠습니다 고갱님
  • ?
    Mania 2012.07.13 01:09
    string[] result = Regex.Split(read, Convert.ToChar(1).ToString());

    저렇게 고쳐주어서 끝났고.

    Data = new int[Width * Height + 1];

    for (int i = 0; i<Height; i++)
    {
    for (int j = 0; j < Width; j++)
    {
    Data[XY] = int.Parse(result[6 + XY]);
    ++XY;
    }
    }
  • ?
    Mania 2012.07.13 01:10
    ㅇㅇ 잘된다 야호 하하하하ㅏ하하하

    게임 로직 ㅡㅡ 개나쁜것
  • profile
    JACKY 2012.07.13 10:39
    그나저나 이건 XNA 임요?
  • ?
    Mania 2012.07.13 18:49
    닷넷이라우. ㅇㅇ
  • profile
    하늘바라KSND 2012.07.14 07:08
    외계어!

List of Articles
분류 제목 글쓴이 날짜 조회 수
공지 아방스 게시물 · 댓글 작성 규칙 (최근 수정일 2015.11.25) 17 file 완폐남™ 2012.07.17 41182
제작 영상 어썬 1 CryDeveloper 2019.11.10 92
제작 영상 어제 받아본 그 일러들을 써봤습니다 2 Omegaroid 2014.04.10 743
제작 영상 어제 하루종일 한거 4 Omegaroid 2013.10.05 615
제작 영상 언제쯤 완성할 수 있을까 7 파치리스 2013.02.09 1463
제작 영상 얼마전에 가입한 뉴비입니다. 지금만들고 있는 게임 11 소프트화랑 2013.10.18 647
제작 영상 에르시아 전기 떡밥영상 두개 3 인생의먹구름 2011.02.10 425
제작 영상 에르시아 전기 몬스터 스킬 디버프 시스템 8 인생의먹구름 2010.10.21 429
제작 영상 에르시아 전기의 새로운 액알 떡밥 영상입니다. 18 인생의먹구름 2010.10.17 411
제작 영상 엘카르디아 99%완성?! 7 카르와푸딩의아틀리에 2010.11.01 905
제작 영상 엘카르디아 제작영상 - 마을맵 테스트 file 카르와푸딩의아틀리에 2021.04.02 95
제작 영상 엘카르디아 제작영상 - 숲 맵만들기 & 테스트 file 카르와푸딩의아틀리에 2021.03.28 69
제작 영상 엘카르디아 제작영상 - 전투 스킬 테스트 08 카르와푸딩의아틀리에 2021.04.21 55
제작 영상 엘카르디아 제작영상 -전투 와 소환 마법 테스트 03 카르와푸딩의아틀리에 2021.02.28 55
제작 영상 엘카르디아 제작영상 -전투스킬테스트 02 카르와푸딩의아틀리에 2021.02.24 86
제작 영상 엘카르디아 제작영상 -전투테스트 01 카르와푸딩의아틀리에 2021.02.19 92
제작 영상 엘카르디아 제작영상 -전투테스트 04 카르와푸딩의아틀리에 2021.03.03 83
제작 영상 엘카르디아 제작영상- 전투스킬 테스트 5~6 카르와푸딩의아틀리에 2021.03.19 51
제작 영상 엘카르디아 제작영상- 전투스킬 테스트 7 카르와푸딩의아틀리에 2021.03.21 45
제작 영상 엘카르디아의 캐릭터 전투소개 영상입니다. 카르와푸딩의아틀리에 2019.11.25 149
제작 영상 엘티어즈 ~고대의 병기~ ... 체험판에 관해서 (오프닝 추가) 7 라이네크 2012.08.25 662
목록
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19