Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Source] Small amendments
#1
Kedves Fórumozók!
Ez a téma azért lett létrehozva, hogy a kisebb forrás módosításokat itt tároljuk.
Így elkerüljük a felesleges téma nyitogatásokat.
Kellemes időtöltést kívánok!
Köszönettel, Sipex


Kezdeném egy olyan módosítással amelyben kezeltetni tudunk több kiterjesztést a képfájloknál.
Menj a ScriptLib projektbe és azon belül pedig Ressource.cpp fájlt nyisd meg, keresd ezt a részt:
Code:
m_resManager.RegisterResourceNewFunctionPointer("bmp", NewImage);

Ez alá pedig az én esetemben:
Code:
m_resManager.RegisterResourceNewFunctionPointer("png", NewImage);
Ezzel készen is lennénk, most már ha buildelünk az indítónk tudja olvasni a .png kiterjesztésű képfájlokat.
Reply
#2
Thumbs Up 
50 ezer feletti portoknál is írja, hogy NORM, BUSY, FULL.


Clientmanager.h

Ezt:

Code:
typedef boost::unordered_map<short, BYTE> TChannelStatusMap;

Erre:

Code:
typedef boost::unordered_map<int, BYTE> TChannelStatusMap;



common\tables.h
Ezt:
Code:
typedef struct SChannelStatus
{
    short nPort;
    BYTE bStatus;
} TChannelStatus;

Erre:
Code:
typedef struct SChannelStatus
{
    int nPort;
    BYTE bStatus;
} TChannelStatus;


UserInterface\Packet.h

Ezt:
Code:
typedef struct SChannelStatus
{
    short nPort;
    BYTE bStatus;
} TChannelStatus;

Erre:
Code:
typedef struct SChannelStatus
{
    int nPort;
    BYTE bStatus;
} TChannelStatus;


ClientManeger.cpp

Ezt:
Code:
peer->Encode(&it->first, sizeof(short));
peer->Encode(&it->second, sizeof(BYTE));

Erre:

Code:
peer->Encode(&it->first, sizeof(int));
peer->Encode(&it->second, sizeof(BYTE));
[Image: 1453876818-b8928becdb9a3058b7c9ff22ccc5caf6.jpeg]
Reply
#3
Egyszerű HP visszatöltetése 100%-ra.

Lépjünk be a cmd_general.cpp fájlba és keressük meg ezt a részt (2 helyen szerepel):

Code:
ch->PointChange(POINT_HP, 50 - ch->GetHP());

Módosítsuk erre (mindkét helyen):
Code:
ch->PointChange(POINT_HP, ch->GetMaxHP() - ch->GetHP());

Angel
Reply
#4
Több láda kinyitása:
[Image: Z1V7eab.png]

uiinventory.py:
Code:
   ################################################################## Noa
       if app.IsPressed(app.DIK_LSHIFT):
           ItemVNum = player.GetItemIndex(slotIndex)
           item.SelectItem(ItemVNum)
           if item.GetItemType()==23 and item.GetItemSubType()==0:
               itemCount = player.GetItemCount(slotIndex)
               if itemCount > 1:
                   self.dlgPickMoney.SetTitleName("Truhen Oeffnen")
                   self.dlgPickMoney.SetAcceptEvent(ui.__mem_func__(self.OnUseTreasure))
                   self.dlgPickMoney.Open(itemCount)
                   self.dlgPickMoney.itemGlobalSlotIndex = slotIndex
       else:
           self.__UseItem(slotIndex)
   ##################################################################
       mouseModule.mouseController.DeattachObject()
       self.OverOutItem()
   ################################################################## Noa
   def OnUseTreasure(self,value):
       if value:
           for x in xrange(value):
               net.SendItemUsePacket(self.dlgPickMoney.itemGlobalSlotIndex)
   ##################################################################  
Reply
#5
Tongue 
Csoportban maximum hány fő lehet.

Megnyitod a party.h fájlt és megkeresed ezt:
Code:
PARTY_MAX_MEMBER = 8,
Átírod és ezzel végeztél is!

Angel
Reply
#6
Ninjáknál jön elő ez a jelenség:     SyncPosition: Too often SyncPosition Interval

Javítás következik:

game => input_main.cpp

 
Keress erre a sorra:

Code:
LogManager::instance().HackLog( "SYNC_POSITION_HACK", ch );



Ezt fogod látni:
Code:
{
LogManager::instance().HackLog( "SYNC_POSITION_HACK", ch );

sys_err( "Too often SyncPosition Interval(%ldms)(%s) from Name(%s) VICTIM(%d,%d) SYNC(%d,%d)",
tvDiff->tv_sec * 1000 + tvDiff->tv_usec / 1000, victim->GetName(), ch->GetName(), victim->GetX(), victim->GetY(),
e->lX, e->lY );

ch->GetDesc()->SetPhase(PHASE_CLOSE);

return -1;
}

Módosítod ezt a részt:
Code:
ch->GetDesc()->SetPhase(PHASE_CLOSE);

return -1;


Erre:
Code:
//ch->GetDesc()->SetPhase(PHASE_CLOSE);

//return -1;
[Image: 1453876818-b8928becdb9a3058b7c9ff22ccc5caf6.jpeg]
Reply
#7
Végtelen nyílvessző egyszerű megoldás.

Megnyitod a char_battle.cpp fájlt és megkeresed ezt a részt:
Code:
iCount = iCount - MIN(iCount, dwArrowCount);
Ki kommenteled:
Code:
//iCount = iCount - MIN(iCount, dwArrowCount);

Kész!
Angel
Reply
#8
Ninja íjjásznál a távolról skillezik ránk, keveset sebez, minél közelebb van annál több a sebzése. Viszont ezt a Ymir így "találta" ki, viszont aki ezt megakarja szüntetni, annak itt egy script.

Battle.cpp

Keress rá:

Code:
int CalcArrowDamage(LPCHARACTER pkAttacker, LPCHARACTER pkVictim, LPITEM pkBow, LPITEM pkArrow, bool bIgnoreDefense)


A funkcióban keresd ezt a sort:

Code:
int iPercent = 100 - (iGap * 5);


Ezzel írd felül:

Code:
iPercent = 100;
[Image: 1453876818-b8928becdb9a3058b7c9ff22ccc5caf6.jpeg]
Reply
#9
A bug ott jelentkezik, mikor aktiváljuk a kard auránkat Testi harcosként, viszont át akarjuk váltani a karakterünket Mentális harcossá, és átváltva megmarad a Kard aura effektje, melyet az előző skill_group (képesség_csoportban) használtunk.
Ezzel a kis fix-el, a szépséghiba javíthatóvá válik.

questlua_pc.cpp

Keress rá erre:

Code:
    int pc_set_skillgroup(lua_State* L)
   {
       if (!lua_isnumber(L, 1))
           sys_err("QUEST wrong skillgroup number");
       else
       {
           CQuestManager & q = CQuestManager::Instance();
           LPCHARACTER ch = q.GetCurrentCharacterPtr();

           ch->SetSkillGroup((BYTE) rint(lua_tonumber(L, 1)));
       }
       return 0;
   }


Írd felül ezzel:

Code:
    int pc_set_skillgroup(lua_State* L)
   {
       if (!lua_isnumber(L, 1))
           sys_err("QUEST wrong skillgroup number");
       else
       {
           CQuestManager & q = CQuestManager::Instance();
           LPCHARACTER ch = q.GetCurrentCharacterPtr();

           ch->RemoveGoodAffect();
           ch->SetSkillGroup((BYTE) rint(lua_tonumber(L, 1)));
       }
       return 0;
   }
[Image: 1453876818-b8928becdb9a3058b7c9ff22ccc5caf6.jpeg]
Reply
#10
Ha rá kattintasz valaki nevére egyből nyitja a PM-et.

root/interfacemodule.py

Keress rá erre:
Code:
def MakeHyperlinkTooltip(self, hyperlink):

Azon belül ez alá:
Code:
self.hyperlinkItemTooltip.SetHyperlinkItem(tokens)

Illeszd be ezt:
Code:
            elif "msg" == type:
                self.OpenWhisperDialog(str(tokens[1]))

Most jöhet a forrás része amit eredetileg Sanchez publikált

Nyisd meg game/input_main.cpp

Keress rá erre:
Code:
int len = snprintf(chatbuf, sizeof(chatbuf), "%s : %s", ch->GetName(), buf);

Írd felül ezzel:
Code:
    int len;
    if (pinfo->type == CHAT_TYPE_SHOUT)
    {
        len = snprintf(chatbuf, sizeof(chatbuf), "|Hmsg:%s|h%s|h|r : %s", ch->GetName(), ch->GetName(), buf);
    }
    else
    {
        len = snprintf(chatbuf, sizeof(chatbuf), "%s : %s", ch->GetName(), buf);
    }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)