Astreya2

Nevisor

VIP
  • Content Count

    150
  • Joined

  • Last visited

  • Days Won

    7

Nevisor last won the day on March 8

Nevisor had the most liked content!

Community Reputation

96 Excellent

1 Follower

About Nevisor

  • Rank
    Friendly
  • Birthday 11/10/1997

Profile Information

  • Gender
    Male
  • Location
    Poland

Contact Methods

  • Skype
    nevisor

Recent Profile Visitors

1,664 profile views
  1. Just take a look at my repo https://gitlab.com/TooClose/Client - it's compiled under VS 2019 Preview (v142). Here you can download libjpeg-9c prepared for build https://www103.zippyshare.com/v/ijyDTnUY/file.html with MT/MTd, just select right toolset.
  2. Nevisor

    c++ [C++] Channel Changer gf-like

    There is part in my game.py that is doing that as I remember
  3. Nevisor

    c++ Dice system

    #update - fix Dice will be executed if it meets the requirements (killer and 1+ party member in range of killer)
  4. Nevisor

    open Need help

    There you go //char_battle.cpp find if (GetHP() <= 0) { // replace Stun(); or comment it and add bellow if (!IsDead()) { if (!IsPC() && m_pkParty) { m_pkParty->SendMessage(this, PM_ATTACKED_BY, 0, 0); } sys_log(1, "%s: Stun %p", GetName(), this); PointChange(POINT_HP_RECOVERY, -GetPoint(POINT_HP_RECOVERY)); PointChange(POINT_SP_RECOVERY, -GetPoint(POINT_SP_RECOVERY)); CloseMyShop(); event_cancel(&m_pkRecoveryEvent); // ȸşą ŔĚşĄĆ®¸¦ Á×ŔδŮ. SET_BIT(m_pointsInstant.instant_flag, INSTANT_FLAG_STUN); if (!m_pkStunEvent) { char_event_info* info = AllocEventInfo<char_event_info>(); info->ch = this; m_pkStunEvent = event_create(StunEvent, info, PASSES_PER_SEC(0)); } } #edit2
  5. Nope, for now I don't have much time to spare and focusing mostly on server & bin. Maybe im gonna move my project into official root, locale, uiscript 02.02.2018
  6. Nevisor

    python [Py] Root 02.02.2018

    That's my way I did year ago, same ingame output as gf There are 2 additional images covering the button so you can just disable "mouse over" for this elements (3 lines of code instead of creating functions etc.) for i in xrange(len(self.NameList)): self.SelectBtnFaceList[i].AddFlag("not_pick") self.SelectBtnNameList[i].AddFlag("not_pick")
  7. Nevisor

    open Question

    It's working for me fine for long time
  8. Nevisor

    open Question

    #add in localeinfo.py def NumberToString(n) : if n <= 0 : return "0" return ('.'.join([ i-3<0 and str(n)[:i] or str(n)[i-3:i] for i in range(len(str(n))%3, len(str(n))+1, 3) if i ])) self.GetChild("Exp_Value").SetText(localeInfo.NumberToString(str(unsigned32(player.GetEXP()))))
  9. Nevisor

    open Small py problem

    net.SendWhisperPacket(name, localeInfo.SetHexColor(localeInfo.CANNOT_WHISPER_BLOCK))
  10. Nevisor

    open Small py problem

    Add in localeInfo.py def SetHexColor(text, hex="f44242"): #red color by default if there is not 2nd argument (color) return ("|cff%s%s|r" % (hex, text)) then call it: localeInfo.SetHexColor(localeInfo.BLA_BLA)
  11. Nevisor

    c++ Dice system

    Heya, as title says it's party dice system self written (without CHAT_TYPE_DICE_INFO, it's up to you) https://i.imgur.com/sj3EZ64.gifv (sry for laggs - "wooden pc" ^^) You can test possibility of same score there: https://repl.it/@Nevisor/Dice-FORINFOR char_battle.cpp //find if (ch->GetParty()) ch = ch->GetParty()->GetNextOwnership(ch, GetX(), GetY()); //replace with if (ch->GetParty()) { ch = ch->GetParty()->GetNextOwnership(ch, GetX(), GetY()); #ifdef __ENABLE_DICE_SYSTEM__ ch = ch->GetParty()->Dice(ch, GetX(), GetY(), item->GetName()); #endif } party.cpp //at the end of file add #ifdef __ENABLE_DICE_SYSTEM__ LPCHARACTER CParty::Dice(LPCHARACTER ch, long x, long y, const char * szName) //item name { for (TMemberMap::iterator it = m_memberMap.begin(); it != m_memberMap.end(); ++it) { if (it->second.pCharacter->GetDesc() && DISTANCE_APPROX(it->second.pCharacter->GetX() - x, it->second.pCharacter->GetY() - y) < PARTY_DEFAULT_RANGE) { ChatPacketToAllMember(CHAT_TYPE_DICE_INFO, "|cffffe6ba*** Rolling for the following item: %s ***", szName); while (1) { LPCHARACTER pkWinner; int iDice = 0; int iDraw = 0; for (TMemberMap::iterator it = m_memberMap.begin(); it != m_memberMap.end(); ++it) if (it->second.pCharacter->GetDesc() && DISTANCE_APPROX(it->second.pCharacter->GetX() - x, it->second.pCharacter->GetY() - y) < PARTY_DEFAULT_RANGE) { int iScore = number(1, 10000); if (iScore == iDice) iDraw == iScore; else if (iDice == 0 || iScore > iDice) { pkWinner = it->second.pCharacter; iDice = iScore; } ChatPacketToAllMember(CHAT_TYPE_DICE_INFO, "|cffffe6ba*** ->\t\t\t\t\t%s - Dice score: %d ***", it->second.pCharacter->GetName(), iScore); } if (iDice != iDraw) { ChatPacketToAllMember(CHAT_TYPE_DICE_INFO, "|cffbb00ff*** Winner of the item %s is: %s ***", szName, pkWinner->GetName()); return pkWinner; } else { ChatPacketToAllMember(CHAT_TYPE_DICE_INFO, ""); ChatPacketToAllMember(CHAT_TYPE_DICE_INFO, "|cffffe6ba*** Rolling again for the following item: %s ***", szName); } } } } return ch; } #endif party.h //find void P2PSetMemberLevel(DWORD pid, BYTE level); //or bool IsPartyInDungeon(int mapIndex); //add bellow #ifdef __ENABLE_DICE_SYSTEM__ LPCHARACTER Dice(LPCHARACTER ch, long x, long y, const char * szName); #endif length.h enum EChatType { CHAT_TYPE_TALKING, /* 그냥 채팅 */ CHAT_TYPE_INFO, /* 정보 (아이템을 집었다, 경험치를 얻었다. 등) */ CHAT_TYPE_NOTICE, /* 공지사항 */ CHAT_TYPE_PARTY, /* 파티말 */ CHAT_TYPE_GUILD, /* 길드말 */ CHAT_TYPE_COMMAND, /* 일반 명령 */ CHAT_TYPE_SHOUT, /* 외치기 */ CHAT_TYPE_WHISPER, CHAT_TYPE_BIG_NOTICE, CHAT_TYPE_MONARCH_NOTICE, #ifdef __ENABLE_DICE_SYSTEM__ CHAT_TYPE_DICE_INFO, #endif CHAT_TYPE_MAX_NUM };
  12. Nevisor

    Speedtree Models Library

    http://web.archive.org/web/20030427055944/http://www.idvinc.com:80/downloads/exe/speedtreecad_v1.0.exe