Jump to content

Cripplez

Member
  • Posts

    118
  • Joined

  • Last visited

  • Feedback

    0%

About Cripplez

Informations

  • Gender
    Male

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Cripplez's Achievements

Rising Star

Rising Star (9/16)

  • Reacting Well
  • Dedicated
  • First Post
  • Collaborator
  • Conversation Starter

Recent Badges

40

Reputation

  1. Thank you again it is perfect! just need to edit: loginAccount(account_index) -> self.loginAccount(account_index)
  2. Thank you Do you think would be possible to adapt this code for this version too? So when you click F1 the first saved account will be loaded, if you click F2 will be loaded the second account, and the same thing for F3 and F4. Now it's not working because the account are saved like this: 0 : idaccount1 : password 1 : idaccount2 : password instead of : idaccount1 : password Do you know how the first index number could be ignored during the login? def OnKeyDown(self, key): # A fast method to login by keyboard shortcuts. # Create a keyboard range enum as tuple from F1 to F4. dikAvailableList = range(0x3B, 0x3E + 1) if not key in dikAvailableList: return try: # Creates a file object, which would be utilized to call other support methods associated with it. # Change old_open method with open if you get error. file = old_open('user//credentials', 'r') try: # Finds the given element in a list and returns its position. account_index = dikAvailableList.index(key) # Reads until EOF using readline() and returns a list containing the lines. account_data = file.readlines().__getitem__(account_index) # Returns a list of all the words in the string, using str as the separator. account_data = account_data.split(':') # Applies a function to all the items in an input list. account_data = map(lambda item: item.rstrip(), account_data) # Decode the password. account_data[-1] = self.decode(self.__ReadSavedPassword(), next(reversed(account_data))) # Connect to the server by using list [id, pw]. self.Connect(*account_data) # Raised when a sequence subscript is out of range. except IndexError: pass # A closed file cannot be read or written any more. file.close() # Raised when an I/O operation fails for an I/O-related reason, e.g., “file not found” or “disk full”. except IOError: return
  3. Hello, I'm trying to make an effect that interrupt the animation of a skill, for example when you get stunned and you are doing a skill it is interrupted, i want to make a similar thing but that doesnt make you stop moving/attacking, but only interrupt a skill. I tried to find in the client the function that does this for stun but didn't work, do you have any suggestion? Thank you
  4. Thank you I think with so much HP there is a bug with mob health regen. For example i tried a mob with 40kk hp and is health regen works okay, but for example with 400kk or 1kkk hp the health regen is like 1hp every 8 sec instead of millions Is this the correct way to fix this? in char.cpp search EVENTFUNC(recovery_event) else if (!ch->IsDoor()) { ch->MonsterLog("HP_REGEN +%d", MAX(1, (ch->GetMaxHP() * ch->GetMobTable().bRegenPercent) / 100)); ch->PointChange(POINT_HP, MAX(1, (ch->GetMaxHP() * ch->GetMobTable().bRegenPercent) / 100)); } change to else if (!ch->IsDoor()) { ch->MonsterLog("HP_REGEN +%d", MAX(1, (ch->GetMaxHP() * ch->GetMobTable().bRegenPercent) / 100)); ch->PointChange(POINT_HP, MAX(1, ((int64_t)ch->GetMaxHP() * ch->GetMobTable().bRegenPercent) / 100));//fix }
  5. Thank you for the answer, so I did a test like this: when spawn_final_boss.server_timer begin if d.select(get_server_timer_arg()) then d.spawn_mob(1095, 350, 500); npc.set_vid_attack_mul(1095, 8) end end when 8110.kill begin d.setf("add_attack", d.getf("add_attack")+1); local stone_killed = d.getf("add_attack") npc.set_vid_attack_mul(1095, 8 - stone_killed) d.notice("Boss damage has been reduced.") end Now the damage of the boss increase (or decrease when i destroy a metin stone in my case) only for the basic normal attacks, this function doest not affect the damage of his skills, the have always the same damage. Do you know what should be modified in the server source to apply the increase damage to skills too?
  6. Hello, I'm making a dungeon quest with a boss that reduce his damage when you destroy a metin stone, but I don't understand how to use this function: npc.set_vid_damage_mul or npc.set_vid_attack_mul for example this is what I'm doing but it's not working, do i need to do it with set_unique spawn or how would be the correct way to make it work? Thank you when spawn_final_boss.server_timer begin if d.select(get_server_timer_arg()) then d.spawn_mob(1095, 350, 500); npc.set_vid_damage_mul(1095, 8) end end when 8110.kill begin d.setf("reduce_damage", d.getf("reduce_damage")+1); local stone_killed = d.getf("reduce_damage") npc.set_vid_damage_mul(1095, 8 - stone_killed) d.notice("Boss damage has been reduced.") end
  7. Hello Mali, I just noticed a weird bug. It all works perfectly, but in some maps when you go far the mark in the minimap of your party members disappear completely. For example, in village 1 even when you go really far it is all okay, but in some others maps when you go far this happens: I thought it was a bug for the maps in core99 because i tried another map in the same core99 and had this bug too, then i tried again another map in the core99 but this time that map did not have this problem. Do you have any ideas? Here for example everything is okay
  8. Hello, the max guild member has a problem when you change your guild leader. The bonus from m_iMemberCountBonus will not count if the new guild leader is in a map in a different Core of the map where your Guild Land is. Is it possibile to do that the new guild leader receive this bonus in all Core? Thank you
  9. Hello, I'm trying to make a daily quest and I wanted to ask you if the structure of this quest is correct or it is missing code or could have unexpected bug that i didn't calculate. Is it correct to use set_state(start) at the end to make it repeatable? thank you This is just an example quest daily_quest begin state start begin when login or levelup with pc.get_level() >= 50 begin if get_time() > pc.getqf("daily_cd") then set_state(daily) end end when letter with pc.get_level() >= 50 begin send_letter("Daily QUest") end when button or info begin say_title("Daily QUesta") if ((get_global_time() - pc.getf("daily_cd","daily_wait_time")) < 60) then local remaining_wait_time = (pc.getf("daily_cd", "daily_wait_time") - get_global_time() + (60 * 60 * 24)) say("You must wait for timer") say_reward("You can repeat in: "..get_time_remaining(remaining_wait_time)..'[ENTER]') return end say("Now you can repeat the quest.") set_state(daily) end end state daily begin when letter begin send_letter("Daily quest") end when button or info begin say_title("Daily quest") say("Daily quest active") end // mission when 101.kill begin chat("daily quest completed.") pc.setf("daily_cd", "daily_wait_time", get_global_time()); pc.setqf("daily_cd", get_time() + 60 * 60 * 24); set_state(start) end end end
  10. I tried replacing it with 0 but when i compile i get this errors
  11. Thank you for the answer I included it but i have this prolem: In my binary files i searched for MOB_RANK_PAWN but there isn't, only in server source. In the binary the rank of mob i think are only here in PythonNonPlayerModule.cpp
  12. Hello, i'm trying to stop the collision for mobs with rank Pawn for example like this but instead of race vnum using the rank of the mob #ifdef ENABLE_PETS_WITHOUT_COLLISIONS if (rVictim.GetRace()>=34001 && rVictim.GetRace()<=34119) return FALSE; #endif something like this could be made? if (rVictim.GetMobRank() =< 1) return FALSE;
  13. Hello, I wanted to create a new use_affect item for strong against stone for example. This is the use_affect for critical pct bonus 71045 °üÅëÀÇ Àå ITEM_USE USE_AFFECT 1 ANTI_DROP|ANTI_SELL|ANTI_GIVE|ANTI_MYSHOP ITEM_STACKABLE|LOG NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 510 16 20 600 0 0 0 0 0 And this is the new item i made for strong stone: 71604 PotionStone ITEM_USE USE_AFFECT 1 NONE ITEM_STACKABLE|LOG NONE NONE 0 0 0 0 0 LEVEL 90 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 510 106 10 1800 0 0 0 0 0 In game it works good and i receive the bonus strong against stone +10% for 30 minutes, but i will not see the icon in the top left of the screen I want to fix this this is my uiaffectshower.py I tried to make even a new use_effect item for strong against animal and i can see the icon for it, but not for stone bonus do you know why? thanks
  14. Thank you! In PythonMiniMap.cpp there are 2 of these: m_AtlasMarkInfoVectorIterator = m_AtlasWarpInfoVector.begin(); while (m_AtlasMarkInfoVectorIterator != m_AtlasWarpInfoVector.end()) { ... } Should I add this under both of them or only one? If one which one? first or second? thanks #if defined(__BL_PARTY_POSITION__) for (const auto& PartyInfo : mAtlasPartyPlayerMark) { const float fffx = static_cast<float>(PartyInfo.second->lX) - static_cast<float>(m_dwAtlasBaseX); const float fffy = static_cast<float>(PartyInfo.second->lY) - static_cast<float>(m_dwAtlasBaseY); if (fffx - fCheckWidth / 2 < fRealX && fffx + fCheckWidth > fRealX && fffy - fCheckWidth / 2 < fRealY && fffy + fCheckHeight > fRealY) { rReturnString = PartyInfo.second->sName; *pReturnPosX = fffx; *pReturnPosY = fffy; *pdwTextColor = CInstanceBase::GetIndexedNameColor(CInstanceBase::NAMECOLOR_PARTY); return true; } } #endif
  15. Hello, I'm trying to make this ride.lua with a LIB. Which one the of the 2 versions do you think would be better? ride.lua without LIB I think i made some mistakes here but i can't understand where becuase it is not working rideLIB.lua ride.lua with lib
×
×
  • 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.