Jump to content

xUniverse

Inactive Member
  • Posts

    31
  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Posts posted by xUniverse

  1. Do you try without deleting the defenses (sword, dagger, etc) but setting the prob as 0? (I know that it isn't a solution, but it's a way to avoid the problem and it works fine for me)

    SET FOREIGN_KEY_CHECKS=0;
    
    -- ----------------------------
    -- Table structure for item_attr
    -- ----------------------------
    DROP TABLE IF EXISTS `item_attr`;
    CREATE TABLE `item_attr` (
      `apply` enum('MAX_HP','MAX_SP','CON','INT','STR','DEX','ATT_SPEED','MOV_SPEED','CAST_SPEED','HP_REGEN','SP_REGEN','POISON_PCT','STUN_PCT','SLOW_PCT','CRITICAL_PCT','PENETRATE_PCT','ATTBONUS_HUMAN','ATTBONUS_ANIMAL','ATTBONUS_ORC','ATTBONUS_MILGYO','ATTBONUS_UNDEAD','ATTBONUS_DEVIL','STEAL_HP','STEAL_SP','MANA_BURN_PCT','DAMAGE_SP_RECOVER','BLOCK','DODGE','RESIST_SWORD','RESIST_TWOHAND','RESIST_DAGGER','RESIST_BELL','RESIST_FAN','RESIST_BOW','RESIST_FIRE','RESIST_ELEC','RESIST_MAGIC','RESIST_WIND','REFLECT_MELEE','REFLECT_CURSE','POISON_REDUCE','KILL_SP_RECOVER','EXP_DOUBLE_BONUS','GOLD_DOUBLE_BONUS','ITEM_DROP_BONUS','POTION_BONUS','KILL_HP_RECOVER','IMMUNE_STUN','IMMUNE_SLOW','IMMUNE_FALL','SKILL','BOW_DISTANCE','ATT_GRADE_BONUS','DEF_GRADE_BONUS','MAGIC_ATT_GRADE','MAGIC_DEF_GRADE','CURSE_PCT','MAX_STAMINA','ATTBONUS_WARRIOR','ATTBONUS_ASSASSIN','ATTBONUS_SURA','ATTBONUS_SHAMAN','ATTBONUS_MONSTER','MALL_ATTBONUS','MALL_DEFBONUS','MALL_EXPBONUS','MALL_ITEMBONUS','MALL_GOLDBONUS','MAX_HP_PCT','MAX_SP_PCT','SKILL_DAMAGE_BONUS','NORMAL_HIT_DAMAGE_BONUS','SKILL_DEFEND_BONUS','NORMAL_HIT_DEFEND_BONUS','PC_BANG_EXP_BONUS','PC_BANG_DROP_BONUS','EXTRACT_HP_PCT','RESIST_WARRIOR','RESIST_ASSASSIN','RESIST_SURA','RESIST_SHAMAN','ENERGY','DEF_GRADE','COSTUME_ATTR_BONUS','MAGIC_ATTBONUS_PER','MELEE_MAGIC_ATTBONUS_PER','RESIST_ICE','RESIST_EARTH','RESIST_DARK','ANTI_CRITICAL_PCT','ANTI_PENETRATE_PCT','BLEEDING_REDUCE','BLEEDING_PCT','ATTBONUS_WOLFMAN','RESIST_WOLFMAN','RESIST_CLAW','ANTI_RESIST_MAGIC') NOT NULL DEFAULT 'MAX_HP',
      `prob` varchar(100) NOT NULL DEFAULT '',
      `value` varchar(100) NOT NULL DEFAULT '',
      `weapon` varchar(100) NOT NULL DEFAULT '',
      `body` varchar(100) NOT NULL DEFAULT '',
      `wrist` varchar(100) NOT NULL DEFAULT '',
      `foots` varchar(100) NOT NULL DEFAULT '',
      `neck` varchar(100) NOT NULL DEFAULT '',
      `head` varchar(100) NOT NULL DEFAULT '',
      `shield` varchar(100) NOT NULL DEFAULT '',
      `ear` varchar(100) NOT NULL DEFAULT '',
      `belt` varchar(100) NOT NULL DEFAULT '',
      PRIMARY KEY (`apply`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;
    
    -- ----------------------------
    -- Records of item_attr
    -- ----------------------------
    INSERT INTO `item_attr` VALUES ('MAX_HP', '35', '3000', '0', '1', '1', '1', '1', '1', '0', '0', '1');
    INSERT INTO `item_attr` VALUES ('CON', '11', '15', '1', '0', '0', '0', '0', '0', '1', '0', '1');
    INSERT INTO `item_attr` VALUES ('INT', '11', '15', '1', '0', '0', '0', '0', '0', '1', '0', '1');
    INSERT INTO `item_attr` VALUES ('STR', '11', '15', '1', '0', '0', '0', '0', '0', '1', '0', '1');
    INSERT INTO `item_attr` VALUES ('DEX', '11', '15', '1', '0', '0', '0', '0', '0', '1', '0', '1');
    INSERT INTO `item_attr` VALUES ('ATT_SPEED', '8', '10', '0', '0', '0', '1', '0', '1', '0', '0', '0');
    INSERT INTO `item_attr` VALUES ('CAST_SPEED', '8', '30', '1', '1', '1', '0', '0', '1', '0', '0', '1');
    INSERT INTO `item_attr` VALUES ('HP_REGEN', '65', '50', '0', '0', '1', '0', '1', '1', '0', '0', '0');
    INSERT INTO `item_attr` VALUES ('POISON_PCT', '8', '10', '1', '0', '0', '0', '0', '1', '0', '0', '0');
    INSERT INTO `item_attr` VALUES ('CRITICAL_PCT', '18', '15', '1', '0', '0', '1', '1', '0', '0', '0', '0');
    INSERT INTO `item_attr` VALUES ('PENETRATE_PCT', '30', '15', '1', '0', '1', '0', '1', '0', '0', '0', '0');
    INSERT INTO `item_attr` VALUES ('ATTBONUS_HUMAN', '10', '20', '1', '0', '1', '0', '0', '1', '1', '1', '0');
    INSERT INTO `item_attr` VALUES ('STEAL_HP', '50', '20', '0', '1', '1', '0', '0', '0', '0', '0', '1');
    INSERT INTO `item_attr` VALUES ('BLOCK', '10', '15', '0', '0', '0', '0', '0', '0', '1', '0', '0');
    INSERT INTO `item_attr` VALUES ('DODGE', '10', '15', '0', '0', '0', '1', '0', '1', '0', '0', '0');
    INSERT INTO `item_attr` VALUES ('RESIST_WARRIOR', '18', '20', '0', '1', '0', '1', '1', '0', '0', '1', '1');
    INSERT INTO `item_attr` VALUES ('RESIST_ASSASSIN', '18', '20', '0', '1', '0', '1', '1', '0', '0', '1', '1');
    INSERT INTO `item_attr` VALUES ('RESIST_SURA', '18', '20', '0', '1', '0', '1', '1', '0', '0', '1', '1');
    INSERT INTO `item_attr` VALUES ('RESIST_SHAMAN', '18', '20', '0', '1', '0', '1', '1', '0', '0', '1', '1');
    INSERT INTO `item_attr` VALUES ('RESIST_MAGIC', '25', '20', '0', '1', '1', '0', '0', '1', '0', '0', '1');
    INSERT INTO `item_attr` VALUES ('REFLECT_MELEE', '18', '30', '0', '1', '0', '0', '0', '0', '1', '0', '1');
    INSERT INTO `item_attr` VALUES ('RESIST_SWORD', '0', '15', '0', '0', '0', '0', '0', '0', '0', '0', '0');
    INSERT INTO `item_attr` VALUES ('RESIST_TWOHAND', '0', '15', '0', '0', '0', '0', '0', '0', '0', '0', '0');
    INSERT INTO `item_attr` VALUES ('RESIST_DAGGER', '0', '15', '0', '0', '0', '0', '0', '0', '0', '0', '0');
    INSERT INTO `item_attr` VALUES ('RESIST_BELL', '0', '15', '0', '0', '0', '0', '0', '0', '0', '0', '0');
    INSERT INTO `item_attr` VALUES ('RESIST_FAN', '0', '15', '0', '0', '0', '0', '0', '0', '0', '0', '0');
    INSERT INTO `item_attr` VALUES ('MAGIC_ATT_GRADE', '9', '150', '0', '1', '0', '0', '0', '0', '0', '0', '1');
    INSERT INTO `item_attr` VALUES ('ATT_GRADE_BONUS', '9', '150', '0', '1', '0', '0', '0', '0', '0', '0', '1');
    INSERT INTO `item_attr` VALUES ('IMMUNE_STUN', '3', '100', '0', '0', '0', '0', '0', '0', '1', '0', '0');
    INSERT INTO `item_attr` VALUES ('IMMUNE_SLOW', '3', '100', '0', '0', '0', '0', '0', '0', '0', '0', '1');
    INSERT INTO `item_attr` VALUES ('IMMUNE_FALL', '3', '100', '0', '0', '0', '0', '0', '0', '0', '0', '1');

     

  2. InstanceBase.cpp

    Search:

    			if (m_swordRefineEffectRight)
    				m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight);
    			if (m_swordRefineEffectLeft)
    				m_swordRefineEffectLeft = __AttachEffect(m_swordRefineEffectLeft);
    			break;

    After make a new line and add:

    		case CItemData::ITEM_TYPE_COSTUME:
    			if (pItem->GetSubType() == CItemData::COSTUME_WEAPON)
    			{
    				__ClearWeaponRefineEffect();
    
    				switch(pItem->GetValue(3))
    				{
    					case CItemData::WEAPON_DAGGER:
    						__ClearWeaponRefineEffect();
    						m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SMALLSWORD_REFINED8;
    						m_swordRefineEffectLeft = EFFECT_REFINED + EFFECT_SMALLSWORD_REFINED8_LEFT;
    						break;
    					case CItemData::WEAPON_BOW:
    						__ClearWeaponRefineEffect();
    						m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_BOW_REFINED8;
    						break;
    					case CItemData::WEAPON_TWO_HANDED:
    						__ClearWeaponRefineEffect();
    						m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SWORD_REFINED8;
    						break;
    					case CItemData::WEAPON_BELL:
    						__ClearWeaponRefineEffect();
    						m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SMALLSWORD_REFINED8;
    						break;
    					case CItemData::WEAPON_FAN:
    						__ClearWeaponRefineEffect();
    						m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_FANBELL_REFINED8;
    						break;
    					default:
    						__ClearWeaponRefineEffect();
    						m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SWORD_REFINED8;
    				}
    
    				if (m_swordRefineEffectRight)
    					m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight);
    				if (m_swordRefineEffectLeft)
    					m_swordRefineEffectLeft = __AttachEffect(m_swordRefineEffectLeft);
    				break;
    			}

     

  3. Hi,

    I wanna put different effects on weapons according to the linked stones. 

    For example, if the weapon has a Stone against Warrior will have a red effect.

    I tried to do it only checking the socket0 with GetSocket(0) in the function __GetRefinedEffect of InstanceBase.cpp

    				case CItemData::WEAPON_FAN:
    					long stoneIdx0 = pItem->GetSocket(0);
    					if (stoneIdx0 == VNUM_STONE_AGAINST_WARRIOR)
    					{
    						m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_WEAPON_RED;
    					}
    					else
    					{
    						m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_FANBELL_REFINED7+refine-7;
    					}
    					break;

    But when I tested the weapon looks with the normal effect: EFFECT_FANBELL_REFINED7+refine-7

    How I can get the vnum of the socket0 in binary? is possible?

  4. hace 13 horas, _Sielu dijo:

    crash is in bool CPythonPlayer::__HasEnoughArrow()

    just use pItemData in case if (CItemManager::Instance().GetItemDataPointer(GetItemIndex(TItemPos(INVENTORY, c_Equipment_Arrow)), &pItemData))

     

    Thanks, 

    This part of my function was good, but I found the problem in: if (CItemData::WEAPON_ARROW == pItemData->GetSubType()). 

    Solved. 

    ### If someone has the same problem (and has NEW_ARROW_SYSTEM enabled), this is my fixed __HasEnoughArrow() function (in PythonPlayerSkill.cpp?

    bool CPythonPlayer::__HasEnoughArrow()
    {
    	CItemData * pItemData;
    	if (CItemManager::Instance().GetItemDataPointer(GetItemIndex(TItemPos(INVENTORY, c_Equipment_Arrow)), &pItemData))
    	if (CItemData::ITEM_TYPE_WEAPON == pItemData->GetType())
    #ifdef ENABLE_NEW_ARROW_SYSTEM
    	if (CItemData::WEAPON_ARROW == pItemData->GetSubType() || CItemData::WEAPON_UNLIMITED_ARROW == pItemData->GetSubType())
    #else
    	if (CItemData::WEAPON_ARROW == pItemData->GetSubType())
    #endif
    	{
    		return true;
    	}
    
    	PyCallClassMemberFunc(m_ppyGameWindow, "OnCannotShotError", Py_BuildValue("(is)", GetMainCharacterIndex(), "EMPTY_ARROW"));
    	return false;
    }

     

×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.