목록전체 글 (121)
하아찡

언리얼 버전 5.5.3서버언어 C++로 구성했습니다.서버프로그램을 공부하는중 DB서버가 필요해서 기존에 즐겨찾기사이트용으로 사용중이던 DB를 가지고 만들었는데 이게 발목을 잡을줄이야.... 다음에는 꼭 로컬로 셋팅해서 사용해야할듯해요... 로컬로 DB와 호스팅쪽DB 커넥션을 만드는데 속도차이가 넘사벽으로 차이가 나네요.. 데이터를 주고 받고하는과정이 속도가 오래걸리닌깐 당연하게도 서버 프로그램에 문제가 생기더라구요... 정확하게는 문제는 발생하진 않지만 DB데이터를 몇분동안 못받는 상황이 나오닌깐 어쨋든 서버잘못이죠 속도차이가 보이시나요...이거때문에 뭐가문제지 몇일동안 고민을 했는지모르겠네요...
언리얼 버전 5.5.3서버언어 C++로 구성했습니다.몬스터 스포너를 코드에 직접 입력해서 사용하기 번거롭고 지저분해보여서 xml로 스포너 위치를 저장해두면 각각 Room에서 맞는 xml파일만 호출하기 위해서 만들었습니다. SpawnTable.h#pragma oncestruct StructMonsterSpawn{ uint32 monsterID = -1; float x = 0.0f; float y = 0.0f; float z = 0.0f;};class SpawnTable{public: static vector LoadSpawnMonstersFromXML(const char* FilePath);}; SpawnTable.cpp#include "pch.h"#include "SpawnTa..

언리얼 버전 5.5.3서버언어 C++로 구성했습니다.실행화면 개인맵을 만들어보고싶어서 시간제한이 있는 개인맵을 만들어봤습니다.Room 클래스를 상속받은 ChaosDunjeon 클래스를 생성했습니다. ChaosDunjeon .h#pragma once#include "Room.h"class ChaosDunjeon : public Room{public: ChaosDunjeon(); ~ChaosDunjeon(); void Init() override; void UpdateTick() override; virtual bool EnterRoom(ObjectRef object) override; void MapTick(); int GetCurTime(){ret..

언리얼 버전 5.5.3서버언어 C++로 구성했습니다.실행화면 코드를 보시기전 DB 테이블 구성을 먼저 보겠습니다. 간단하게 작업을 했습니다.CREATE TABLE `equipment` ( `character_id` INT(10) NOT NULL, `slot_name` VARCHAR(20) NOT NULL COLLATE 'utf8mb4_0900_ai_ci', `instance_id` INT(10) NOT NULL, PRIMARY KEY (`character_id`, `slot_name`) USING BTREE) 어떤 캐릭터가 어떤 장비 슬롯장비를 장착했는지와 아이템DB 고유값을 저장해줍니다.아이템 코드를 저장하지 않은 이유는 나중에 장비강화 기능이 추가됐을때 장비 강화 수치등 여러 옵션을 가져오기위해선 ..

언리얼 버전 5.5.3서버언어 C++로 구성했습니다.이번글은 조금은 길 예정입니다.이전글에서 인벤토리 DB설계만 진행하고 클라이언트와 서버측에서 데이터를 로드하는것만 처리했습니다. 이번에는 생각보다 많은양을 처리했습니다 - 아이템 습득 - 아이템 초과 습득 불가 - 소모품 중복습득시 증가 - 소모품 다 사용하면 제거 - 소모품 효과 적용 - 서버측 인벤토리 데이터 메모리 저장 (중요) - 장비 장착 및 해제 - 장비데이터 메모리 저장 (중요) - 장비 옵션 캐릭터 적용 이렇게 적어보니 생각보다 많은 양이 아닌거같네요...?DB서버랑 게임서버랑 클라이언트를 왔다갔다해서그런가... @.@ 아마 한페이지에 전부다 쓰긴 양이 많아서 여러 페이지로 나눠서 올릴듯합니다.실행화면 작업을 하다가 고민한점.경..

언리얼 버전 5.5.3서버언어 C++로 구성했습니다.RPG게임하면 인벤토리는 필수인 상황이다보니 인벤토리도 구성을 해봤습니다일단 DB에다가 저장하기위해서 테이블을 하나 생성해줍니다. 인벤토리도 일반적으로 한칸씩 있는 인벤토리도있고, 디아블로처럼 아이템이 여러칸을 차지하게 하는 인벤토리도 존재하는데 일반적인 인벤토리로 구현했습니다.실행화면 문제발생로그인 할때 여러번 누르면,요청이 여러번들어가고 캐릭터정보도 여러번오네요... (이건 해당 본문내용과 별개입니다.) 인벤토리정보가 살짝 늦게오니 바로 인벤토리열었을때닌 인벤토리에 아무것도 없을때가 있네요. 이건 클라이언트를 잘 못다뤄서 타이밍적으로 어디서 처리를해야할지몰라서 예상했던 결과입니당...CREATE TABLE `inventory` ( `id` INT..