diff --git a/Classes/RPGBaseSceneLayer.h b/Classes/RPGBaseSceneLayer.h index 751c250..a5ac6ee 100755 --- a/Classes/RPGBaseSceneLayer.h +++ b/Classes/RPGBaseSceneLayer.h @@ -31,7 +31,9 @@ using namespace CocosDenshion; #define SAVEDATA_QUERY "select * from save_data where id = 1" //查询现有道具 -#define ITEMS_EXISTING_QUERY "select i.*, ie.total from items_existing as ie inner join items as i on ie.id = i.id where i.id order by i.id asc" +#define ITEMS_EXISTING_QUERY "select i.*, ie.total from items_existing as ie inner join items as i on ie.id = i.id order by i.id asc" + +#define EQUIP_EXISTING_QUERY "select i.*, ie.total from items_existing as ie inner join items as i on ie.id = i.id where i.type = 1 or i.type = 2 order by i.id asc" //获取一个player的详细数据 #define PLAYER_DETAIL_QUERY "select p.*, arms.name_cns as arms_name, armor.name_cns as armor_name from player as p left join items as arms on p.items_id_arms = arms.id left join items as armor on p.items_id_armor = armor.id where p.id = %i" diff --git a/Classes/RPGMapEquipMenuLayer.cpp b/Classes/RPGMapEquipMenuLayer.cpp index 083559d..562052c 100644 --- a/Classes/RPGMapEquipMenuLayer.cpp +++ b/Classes/RPGMapEquipMenuLayer.cpp @@ -19,6 +19,7 @@ RPGMapEquipMenuLayer::RPGMapEquipMenuLayer() RPGMapEquipMenuLayer::~RPGMapEquipMenuLayer() { this->m_stringList->release(); + this->m_itemsList->release(); CCLog("RPGMapEquipMenuLayer 释放"); } @@ -32,6 +33,9 @@ bool RPGMapEquipMenuLayer::init(cocos2d::CCDictionary *stringList, CppSQLite3DB this->m_db = db; + this->m_itemsList = new CCArray(); + this->m_itemsList->init(); + CCMenu *mainMenu = CCMenu::create(); mainMenu->setTag(kRPGMapEquipMenuLayerTagMainMenu); mainMenu->setAnchorPoint(CCPointZero); @@ -107,7 +111,103 @@ RPGMapEquipMenuLayer* RPGMapEquipMenuLayer::create(cocos2d::CCDictionary *string return NULL; } +//CCTableView +void RPGMapEquipMenuLayer::scrollViewDidScroll(CCScrollView *scrollView) +{ + +} + +void RPGMapEquipMenuLayer::scrollViewDidZoom(CCScrollView *scrollView) +{ + +} + +void RPGMapEquipMenuLayer::tableCellTouched(CCTableView *tableView, CCTableViewCell *cell) +{ + +} + +CCSize RPGMapEquipMenuLayer::cellSizeForTable(CCTableView *tableView) +{ + return CCSizeMake(tableView->getContentSize().width, 80); +} + +CCTableViewCell* RPGMapEquipMenuLayer::tableCellAtIndex(CCTableView *tableView, unsigned int idx) +{ + CCTableViewCell *cell = tableView->dequeueCell(); + if (!cell) + { + cell = new CCTableViewCell(); + cell->autorelease(); + } + else + cell->removeAllChildrenWithCleanup(true); + + float x = 100; + for (int i = 0; i < 4; i++) + { + int index = idx * 4 + i; + + if(index >= this->m_itemsList->count()) + break; + + RPGExistingItems *itemsData = (RPGExistingItems*)this->m_itemsList->objectAtIndex(index); + + CCControlButton *itemBtn = CCControlButton::create(CCString::createWithFormat("%s (%i)", itemsData->m_name.c_str(), itemsData->m_total)->getCString(), "Arial", 22); + itemBtn->setPosition(ccp(x, 0)); + itemBtn->setTag(kRPGMapEquipMenuLayerTagBtnEquipItems + itemsData->m_dataId); + itemBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(RPGMapEquipMenuLayer::onButton), CCControlEventTouchUpInside); + cell->addChild(itemBtn); + + x += 200; + } + + return cell; +} + +unsigned int RPGMapEquipMenuLayer::numberOfCellsInTableView(CCTableView *tableView) +{ + int rowItemCount = 4; + int size = this->m_itemsList->count(); + + if(size % rowItemCount == 0) + return size / rowItemCount; + else + return size / rowItemCount + 1; +} +//CCTableView end + //private +void RPGMapEquipMenuLayer::loadItemsData() +{ + //装备数据 + this->m_itemsList->removeAllObjects(); + + CppSQLite3Query query = this->m_db->execQuery(EQUIP_EXISTING_QUERY); + while(!query.eof()) + { + RPGExistingItems *itemsData = RPGExistingItems::create(); + itemsData->m_dataId = query.getIntField("id"); + itemsData->m_name = query.getStringField("name_cns"); + itemsData->m_buy = query.getIntField("buy"); + itemsData->m_sell = query.getIntField("sell"); + itemsData->m_type = query.getIntField("type"); + itemsData->m_attack = query.getFloatField("attack"); + itemsData->m_defense = query.getFloatField("defense"); + itemsData->m_speed = query.getFloatField("speed"); + itemsData->m_skillAttack = query.getFloatField("skill_attack"); + itemsData->m_skillDefense = query.getFloatField("skill_defense"); + itemsData->m_total = query.getIntField("total"); + this->m_itemsList->addObject(itemsData); + + query.nextRow(); + } + query.finalize(); + + CCTableView *tableView = (CCTableView*)this->getChildByTag(kRPGMapEquipMenuLayerTagEquipTable); + tableView->reloadData(); +} + void RPGMapEquipMenuLayer::onMenu(cocos2d::CCObject *pObject) { //第一次显示数据的话则不播放效果音 @@ -180,7 +280,9 @@ void RPGMapEquipMenuLayer::onMenu(cocos2d::CCObject *pObject) void RPGMapEquipMenuLayer::setPlayerEquip(int dataId) { - this->removeAllPlayerLab(); + this->removeAllPlayerChildren(); + + this->m_selectedPlayerId = dataId; CppSQLite3Query query = this->m_db->execQuery(CCString::createWithFormat(PLAYER_DETAIL_QUERY, dataId)->getCString()); while(!query.eof()) @@ -194,22 +296,44 @@ void RPGMapEquipMenuLayer::setPlayerEquip(int dataId) addLab(this, kRPGMapEquipMenuLayerTagSkillDefense, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("menu_equip_skill_defense"))->getCString(), query.getIntField("skill_defense")), 18, ccp(270, 268)); //右边的装备部分 - addLab(this, kRPGMapEquipMenuLayerTagEquipArms, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("menu_equip_arms"))->getCString(), query.getStringField("arms_name")), 26, ccp(600, 405)); - addLab(this, kRPGMapEquipMenuLayerTagEquipArmor, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("menu_equip_armor"))->getCString(), query.getStringField("armor_name")), 26, ccp(600, 320)); + if(strlen(query.getStringField("arms_name")) > 0) + { + addLab(this, kRPGMapEquipMenuLayerTagEquipArms, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("menu_equip_arms"))->getCString(), query.getStringField("arms_name")), 26, ccp(600, 405)); + + CCControlButton *btnRemoveArms = CCControlButton::create("卸掉", "Arial", 26); + btnRemoveArms->setPosition(ccp(700, 405)); + btnRemoveArms->setTitleColorForState(ccc3(177, 177, 177), CCControlStateNormal); + btnRemoveArms->setTag(kRPGMapEquipMenuLayerTagBtnRemoveArms); + btnRemoveArms->addTargetWithActionForControlEvents(this, cccontrol_selector(RPGMapEquipMenuLayer::onButton), CCControlEventTouchUpInside); + this->addChild(btnRemoveArms); + } + else + addLab(this, kRPGMapEquipMenuLayerTagEquipArms, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("menu_equip_arms"))->getCString(), ((CCString*)this->m_stringList->objectForKey("menu_equip_none"))->getCString()), 26, ccp(600, 405)); - CCControlButton *btnRemoveArms = CCControlButton::create("卸掉", "Arial", 26); - btnRemoveArms->setPosition(ccp(700, 405)); - btnRemoveArms->setTitleColorForState(ccc3(177, 177, 177), CCControlStateNormal); - btnRemoveArms->setTag(kRPGMapEquipMenuLayerTagBtnRemoveArms); - btnRemoveArms->addTargetWithActionForControlEvents(this, cccontrol_selector(RPGMapEquipMenuLayer::onButton), CCControlEventTouchUpInside); - this->addChild(btnRemoveArms); + if(strlen(query.getStringField("armor_name")) > 0) + { + addLab(this, kRPGMapEquipMenuLayerTagEquipArmor, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("menu_equip_armor"))->getCString(), query.getStringField("armor_name")), 26, ccp(600, 320)); + + CCControlButton *btnRemoveArmor = CCControlButton::create("卸掉", "Arial", 26); + btnRemoveArmor->setPosition(ccp(700, 320)); + btnRemoveArmor->setTitleColorForState(ccc3(177, 177, 177), CCControlStateNormal); + btnRemoveArmor->setTag(kRPGMapEquipMenuLayerTagBtnRemoveArmor); + btnRemoveArmor->addTargetWithActionForControlEvents(this, cccontrol_selector(RPGMapEquipMenuLayer::onButton), CCControlEventTouchUpInside); + this->addChild(btnRemoveArmor); + } + else + addLab(this, kRPGMapEquipMenuLayerTagEquipArmor, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("menu_equip_armor"))->getCString(), ((CCString*)this->m_stringList->objectForKey("menu_equip_none"))->getCString()), 26, ccp(600, 320)); - CCControlButton *btnRemoveArmor = CCControlButton::create("卸掉", "Arial", 26); - btnRemoveArmor->setPosition(ccp(700, 320)); - btnRemoveArmor->setTitleColorForState(ccc3(177, 177, 177), CCControlStateNormal); - btnRemoveArmor->setTag(kRPGMapEquipMenuLayerTagBtnRemoveArmor); - btnRemoveArmor->addTargetWithActionForControlEvents(this, cccontrol_selector(RPGMapEquipMenuLayer::onButton), CCControlEventTouchUpInside); - this->addChild(btnRemoveArmor); + //下面的装备列表 + CCTableView *tableView = CCTableView::create(this, CCSizeMake(900, 180)); + tableView->setDirection(kCCScrollViewDirectionVertical); + tableView->setPosition(ccp(80, 30)); + tableView->setDelegate(this); + tableView->setVerticalFillOrder(kCCTableViewFillTopDown); + tableView->setTag(kRPGMapEquipMenuLayerTagEquipTable); + this->addChild(tableView); + + this->loadItemsData(); query.nextRow(); } @@ -217,7 +341,7 @@ void RPGMapEquipMenuLayer::setPlayerEquip(int dataId) } -void RPGMapEquipMenuLayer::removeAllPlayerLab() +void RPGMapEquipMenuLayer::removeAllPlayerChildren() { //左边 if(this->getChildByTag(kRPGMapEquipMenuLayerTagName)) @@ -238,10 +362,29 @@ void RPGMapEquipMenuLayer::removeAllPlayerLab() this->removeChildByTag(kRPGMapEquipMenuLayerTagEquipArms, true); if(this->getChildByTag(kRPGMapEquipMenuLayerTagEquipArmor)) this->removeChildByTag(kRPGMapEquipMenuLayerTagEquipArmor, true); + if(this->getChildByTag(kRPGMapEquipMenuLayerTagBtnRemoveArms)) + this->removeChildByTag(kRPGMapEquipMenuLayerTagBtnRemoveArms, true); + if(this->getChildByTag(kRPGMapEquipMenuLayerTagBtnRemoveArmor)) + this->removeChildByTag(kRPGMapEquipMenuLayerTagBtnRemoveArmor, true); + //下面的装备列表 + if(this->getChildByTag(kRPGMapEquipMenuLayerTagEquipTable)) + this->removeChildByTag(kRPGMapEquipMenuLayerTagEquipTable, true); } void RPGMapEquipMenuLayer::onButton(cocos2d::CCObject *pSender, CCControlEvent event) { + SimpleAudioEngine::sharedEngine()->playEffect("audio_effect_btn.wav"); + CCControlButton *itemBtn = (CCControlButton*)pSender; + + if(itemBtn->getTag() == kRPGMapEquipMenuLayerTagBtnRemoveArms) + RPGResultsLogic::removeEquip(this->m_db, this->m_selectedPlayerId, 1); + else if(itemBtn->getTag() == kRPGMapEquipMenuLayerTagBtnRemoveArmor) + RPGResultsLogic::removeEquip(this->m_db, this->m_selectedPlayerId, 2); + else + RPGResultsLogic::equip(this->m_db, this->m_selectedPlayerId, itemBtn->getTag() - kRPGMapEquipMenuLayerTagBtnEquipItems); + + //刷新数据 + this->setPlayerEquip(this->m_selectedPlayerId); } diff --git a/Classes/RPGMapEquipMenuLayer.h b/Classes/RPGMapEquipMenuLayer.h index d450050..79e08ce 100644 --- a/Classes/RPGMapEquipMenuLayer.h +++ b/Classes/RPGMapEquipMenuLayer.h @@ -15,6 +15,7 @@ #include "JsonBox.h" #include "RPGMapRoleSprite.h" #include "RPGBaseSceneLayer.h" +#include "RPGResultsLogic.h" USING_NS_CC; USING_NS_CC_EXT; @@ -34,24 +35,30 @@ enum RPGMapEquipMenuLayerTag kRPGMapEquipMenuLayerTagEquipArms = 23, kRPGMapEquipMenuLayerTagEquipArmor = 24, kRPGMapEquipMenuLayerTagBtnRemoveArms = 25, - kRPGMapEquipMenuLayerTagBtnRemoveArmor = 26 - + kRPGMapEquipMenuLayerTagBtnRemoveArmor = 26, + kRPGMapEquipMenuLayerTagEquipTable = 27, + kRPGMapEquipMenuLayerTagBtnEquipItems = 10000 }; -class RPGMapEquipMenuLayer : public CCLayerColor//, CCTableViewDelegate, CCTableViewDataSource +class RPGMapEquipMenuLayer : public CCLayerColor, CCTableViewDelegate, CCTableViewDataSource { private: CCDictionary* m_stringList; CppSQLite3DB* m_db; + CCArray* m_itemsList; + + int m_selectedPlayerId; //选中的player id + bool m_isDefault; //是否为第一次进入装备界面,如果是的话就不播放效果音了 + void loadItemsData(); void onMenu(cocos2d::CCObject *pObject); void setPlayerEquip(int dataId); - void removeAllPlayerLab(); + void removeAllPlayerChildren(); void onButton(CCObject* pSender, CCControlEvent event); @@ -63,6 +70,19 @@ public: bool init(CCDictionary* stringList, CppSQLite3DB* db, float width, float height); static RPGMapEquipMenuLayer* create(CCDictionary* stringList, CppSQLite3DB* db, float width, float height); + //CCTableViewDelegate继承自CCScrollViewDelegate + virtual void scrollViewDidScroll(CCScrollView* scrollView); + virtual void scrollViewDidZoom(CCScrollView* scrollView); + + //点击哪个cell + virtual void tableCellTouched(CCTableView* tableView, CCTableViewCell* cell); + //每个cell的size + virtual CCSize cellSizeForTable(CCTableView *tableView); + //生成cell + virtual CCTableViewCell* tableCellAtIndex(CCTableView *tableView, unsigned int idx); + //cell的数量 + virtual unsigned int numberOfCellsInTableView(CCTableView *tableView); + }; #endif /* defined(__OzgGameRPG__RPGMapEquipMenuLayer__) */ diff --git a/Classes/RPGMapStatusMenuLayer.cpp b/Classes/RPGMapStatusMenuLayer.cpp index 8798b7b..ea2f83f 100644 --- a/Classes/RPGMapStatusMenuLayer.cpp +++ b/Classes/RPGMapStatusMenuLayer.cpp @@ -205,8 +205,15 @@ void RPGMapStatusMenuLayer::setStatusPlayer(int dataId) addLab(this, kRPGMapStatusMenuLayerTagSkillDefense, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_skill_defense"))->getCString(), query.getIntField("skill_defense")), ccp(249, 90)); //右边装备部分 - addLab(this, kRPGMapStatusMenuLayerTagEquipArms, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_equip_arms"))->getCString(), query.getStringField("arms_name")), ccp(570, 410)); - addLab(this, kRPGMapStatusMenuLayerTagEquipArmor, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_equip_armor"))->getCString(), query.getStringField("armor_name")), ccp(570, 370)); + if(strlen(query.getStringField("arms_name")) > 0) + addLab(this, kRPGMapStatusMenuLayerTagEquipArms, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_equip_arms"))->getCString(), query.getStringField("arms_name")), ccp(570, 410)); + else + addLab(this, kRPGMapStatusMenuLayerTagEquipArms, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_equip_arms"))->getCString(), ((CCString*)this->m_stringList->objectForKey("status_equip_none"))->getCString()), ccp(570, 410)); + + if(strlen(query.getStringField("armor_name")) > 0) + addLab(this, kRPGMapStatusMenuLayerTagEquipArmor, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_equip_armor"))->getCString(), query.getStringField("armor_name")), ccp(570, 370)); + else + addLab(this, kRPGMapStatusMenuLayerTagEquipArmor, CCString::createWithFormat(((CCString*)this->m_stringList->objectForKey("status_equip_armor"))->getCString(), ((CCString*)this->m_stringList->objectForKey("status_equip_none"))->getCString()), ccp(570, 370)); //右边技能部分 diff --git a/Classes/RPGResultsLogic.cpp b/Classes/RPGResultsLogic.cpp index db5d6ef..45e75ce 100644 --- a/Classes/RPGResultsLogic.cpp +++ b/Classes/RPGResultsLogic.cpp @@ -188,3 +188,132 @@ bool RPGResultsLogic::useSkillCure(CppSQLite3DB *db, int srcPlayerId, int target return true; } + +void RPGResultsLogic::removeEquip(CppSQLite3DB *db, int playerId, int type) +{ + //武器 + CCString *playerSql = NULL; + CCString *itemsExistingSql = NULL; + + int itemsId; + + string itemField; + if(type == 1) + itemField = "items_id_arms"; + else if(type == 2) + itemField = "items_id_armor"; + else + return; + + { + CppSQLite3Query query = db->execQuery(CCString::createWithFormat("select * from player where id = %i", playerId)->getCString()); + while(!query.eof()) + { + itemsId = query.getIntField(itemField.c_str()); + query.nextRow(); + } + query.finalize(); + } + + { + //player将装备卸下后各个值发生变化 + + CppSQLite3Query query = db->execQuery(CCString::createWithFormat("select * from items where id = %i", itemsId)->getCString()); + while(!query.eof()) + { + float attack = query.getFloatField("attack"); + float defense = query.getFloatField("defense"); + float speed = query.getFloatField("speed"); + float skillAttack = query.getFloatField("skill_attack"); + float skillDefense = query.getFloatField("skill_defense"); + + playerSql = CCString::createWithFormat("update player set attack = attack - %f, defense = defense - %f, speed = speed - %f, skill_attack = skill_attack - %f, skill_defense = skill_defense - %f, %s = 0 where id = %i", attack, defense, speed, skillAttack, skillDefense, itemField.c_str(), playerId); + + query.nextRow(); + } + query.finalize(); + } + + { + //将卸下的装备放回已有道具处 + CppSQLite3Query query = db->execQuery(CCString::createWithFormat("select count(id) from items_existing where id = %i", itemsId)->getCString()); + while(!query.eof()) + { + if(query.getIntField(0) <= 0) + itemsExistingSql = CCString::createWithFormat("insert into items_existing (id, total) values(%i, 1)", itemsId); + else + itemsExistingSql = CCString::createWithFormat("update items_existing set total = total + 1 where id = %i", itemsId); + + query.nextRow(); + } + query.finalize(); + } + + if(playerSql) + db->execDML(playerSql->getCString()); + if(itemsExistingSql) + db->execDML(itemsExistingSql->getCString()); +} + +void RPGResultsLogic::equip(CppSQLite3DB *db, int playerId, int itemsId) +{ + CCString *playerSql = NULL; + CCString *itemsExistingSql = NULL; + + int type; + float attack; + float defense; + float speed; + float skillAttack; + float skillDefense; + + { + //查询该装备的类型和效果值 + + CppSQLite3Query query = db->execQuery(CCString::createWithFormat("select * from items where id = %i", itemsId)->getCString()); + while(!query.eof()) + { + attack = query.getFloatField("attack"); + defense = query.getFloatField("defense"); + speed = query.getFloatField("speed"); + skillAttack = query.getFloatField("skill_attack"); + skillDefense = query.getFloatField("skill_defense"); + type = query.getIntField("type"); + + query.nextRow(); + } + query.finalize(); + } + + string itemField; + if(type == 1) + itemField = "items_id_arms"; + else if(type == 2) + itemField = "items_id_armor"; + else + return; + + //player装备了之后各个值发生变化 + playerSql = CCString::createWithFormat("update player set attack = attack + %f, defense = defense + %f, speed = speed + %f, skill_attack = skill_attack + %f, skill_defense = skill_defense + %f, %s = %i where id = %i", attack, defense, speed, skillAttack, skillDefense, itemField.c_str(), itemsId, playerId); + + { + //扣减装备了的道具 + CppSQLite3Query query = db->execQuery(CCString::createWithFormat("select total from items_existing where id = %i", itemsId)->getCString()); + while(!query.eof()) + { + if(query.getIntField(0) <= 1) + itemsExistingSql = CCString::createWithFormat("delete from items_existing where id = %i", itemsId); + else + itemsExistingSql = CCString::createWithFormat("update items_existing set total = total - 1 where id = %i", itemsId); + + query.nextRow(); + } + query.finalize(); + } + + if(playerSql) + db->execDML(playerSql->getCString()); + if(itemsExistingSql) + db->execDML(itemsExistingSql->getCString()); + +} diff --git a/Classes/RPGResultsLogic.h b/Classes/RPGResultsLogic.h index c5512a6..66d1897 100644 --- a/Classes/RPGResultsLogic.h +++ b/Classes/RPGResultsLogic.h @@ -28,6 +28,9 @@ public: static bool useSkillCure(CppSQLite3DB* db, int srcPlayerId, int targetPlayerId, int srcSkillId); //使用回复技能 + static void removeEquip(CppSQLite3DB* db, int playerId, int type); //player卸掉一个装备,type为1表示武器,2表示防具 + static void equip(CppSQLite3DB* db, int playerId, int itemsId); //装备 + }; #endif /* defined(__OzgGameRPG__RPGResultsLogic__) */ diff --git a/Classes/RPGStartSceneLayer.cpp b/Classes/RPGStartSceneLayer.cpp index 8a71cc9..69f4ae3 100755 --- a/Classes/RPGStartSceneLayer.cpp +++ b/Classes/RPGStartSceneLayer.cpp @@ -138,7 +138,9 @@ void RPGStartSceneLayer::onDialog(cocos2d::CCObject *pObject) { //kRPGStartSceneLayerTagMenuItemDialogOK - this->m_db.execDML("delete from save_data;"); + //清除数据 + this->m_db.execDML("delete from save_data"); + this->m_db.execDML("delete from items_existing"); this->m_db.execDML(GAME_INIT_SQL); this->goToMapScene(); diff --git a/README.md b/README.md index 4f5c61b..87ca84a 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ ozg game — 单机版RPG 声音文件来自 http://www.66rpg.com/type.php?t=17 -目前只在iOS平台下进行测试,战斗画面的攻击、技能、道具,地图界面的装备均未完成。 +目前只在iOS平台下进行测试,战斗画面的攻击、技能、道具未完成。 每次更新数据库都需要把模拟器里面的数据库删除。 diff --git a/Resources/db.sys b/Resources/db.sys index 6c0cee2..c6b1e87 100755 Binary files a/Resources/db.sys and b/Resources/db.sys differ diff --git a/Resources/scene_map_cns.plist b/Resources/scene_map_cns.plist index fa5062a..aa7eff2 100755 --- a/Resources/scene_map_cns.plist +++ b/Resources/scene_map_cns.plist @@ -2,6 +2,8 @@ + status_equip_none + (无) status_equip_arms 武器:%s status_equip_armor @@ -64,6 +66,8 @@ 魔攻:%i menu_equip_skill_defense 魔防:%i + menu_equip_none + (无) menu_equip_arms 武器:%s menu_equip_armor diff --git a/proj.ios/OzgGameRPG.xcodeproj/project.xcworkspace/xcuserdata/ouzhigang.xcuserdatad/UserInterfaceState.xcuserstate b/proj.ios/OzgGameRPG.xcodeproj/project.xcworkspace/xcuserdata/ouzhigang.xcuserdatad/UserInterfaceState.xcuserstate index 76d2ffc..a5c296e 100644 Binary files a/proj.ios/OzgGameRPG.xcodeproj/project.xcworkspace/xcuserdata/ouzhigang.xcuserdatad/UserInterfaceState.xcuserstate and b/proj.ios/OzgGameRPG.xcodeproj/project.xcworkspace/xcuserdata/ouzhigang.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/proj.ios/OzgGameRPG.xcodeproj/project.xcworkspace/xcuserdata/tpwid.xcuserdatad/UserInterfaceState.xcuserstate b/proj.ios/OzgGameRPG.xcodeproj/project.xcworkspace/xcuserdata/tpwid.xcuserdatad/UserInterfaceState.xcuserstate index 15fb9b0..b09df4f 100644 Binary files a/proj.ios/OzgGameRPG.xcodeproj/project.xcworkspace/xcuserdata/tpwid.xcuserdatad/UserInterfaceState.xcuserstate and b/proj.ios/OzgGameRPG.xcodeproj/project.xcworkspace/xcuserdata/tpwid.xcuserdatad/UserInterfaceState.xcuserstate differ