Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Fixy na Src - Nowy temat


BennQu

Rekomendowane odpowiedzi

Opublikowano

Witam

 

Widziałem ,że ostatni temat dosyć potrzebny na temat fixów ,itp został zamknięty . Robię drugi temat z myślą , iż każdy zaczerpnie coś z tego .
 
 
Link do source : http://www.mpcforum.pl/topic/1357400-fixy-na-src-nowy-temat/#entry11544463
 
 
 

Kilka Tutow

 

Kompilacja Binki by TheFarcik

 

 

 

 

 

Kompilacja game i db

 

 

 

 

Wpisujemy w putty po kolei

 

Kompilacja game :

 

cd /usr/home/src/mainline_released/mainline_sg/Srcs/Server/game/src

gmake clean

gmake dep

gmake

Tu znajdziecie game  game -> /usr/home/src/mainline_released/mainline_sg/Srcs/Server/game

 

Kompilacja db

 

cd /usr/home/src/mainline_released/mainline_sg/Srcs/Server/db/src

gmake clean

gmake dep

gmake

Tu znajdziecie db  /usr/home/src/mainline_released/mainline_sg/Srcs/Server/db

 

 

 

 

Zmiany /Fixy  :

 

100% HP po wstaniu by Quarel™

 

 

 

Otwieramy cmd_general.cpp i zmieniamy 2x 

 

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

na 

ch->PointChange(POINT_HP, ch->GetMaxHP() - ch->GetHP());

 

Kompilujemy i od tego momentu postać po wstaniu będzie miała 100% HP (tak jak na innych game difem)

 

 

 

Nieskończone zmianki i dodania source by Rotcher

 

 

 

 

#Zmianka
Otwieramy char_item.cpp szukamy case USE_CHANGE_ATTRIBUTE : zjeżdżamy prawie na koniec i jest tam linijka item->SetCount(item->GetCount() - 1); usuwamy lub dodajemy komentarz blokowy czy też negacje jak kto woli :D

#Dodanie
Otwieramy char_item.cpp szukamy case USE_ADD_ATTRIBUTE : zjeżdżamy prawie na koniec i jest tam linijka item->SetCount(item->GetCount() - 1); usuwamy lub dodajemy komentarz blokowy czy też negacje jak kto woli :D

 

 

Fix na efekt autopotów przy więcej niż 2 str eq dodane przez  Rysie_Q

 

 

1. Otwórz uiinventory

2. Znajdź Linijke:
    if slotNumber >= player.INVENTORY_PAGE_SIZE:
    slotNumber -= player.INVENTORY_PAGE_SIZE

3. Zamień na:
    if slotNumber >= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex:
    slotNumber -= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex

4.Gotowe

 

 

 

Bug PT by Evor

 

 

otwieramy party.cpp , szukamy P2PJoin, usuwamy następujący fragment:

if (m_pkDungeon)

    {

        m_pkDungeon->QuitParty(this);

    }

 

 

 

 

Nieodwoływanie zwierzaka przy śmierci - Source by TM-r3acT

 

 

 

otwieramy PetSystem.cpp, szukamy CPetActor::Update, zmieniamy następujący fragment:

if (m_pkOwner->IsDead() || (IsSummoned() && m_pkChar->IsDead())

na:

if ((IsSummoned() && m_pkChar->IsDead())

 

 

 

 

 

Szkolenie Umiejętności : Czas, ilość by Ashnetia

 

 

 

 

 

npc.get_level() by  PanTroian

 

 

 

 

 

item.get/set_attr() by PanTroian

 

 

 

 

 

Fix Czarowane ostrze

 

Char_battle.cpp [ bool CHARACTER::Damage(LPCHARACTER pAttacker, int dam, EDamageType type) ]

if (pAttacker->GetPoint(POINT_HIT_HP_RECOVERY) && number(0, 4) > 0) // 80% Č®·ü
            {
                int i = MIN(dam, iCurHP) * pAttacker->GetPoint(POINT_HIT_HP_RECOVERY) / 100;

                if (i)
                {
                    CreateFly(FLY_HP_SMALL, pAttacker);
                    pAttacker->PointChange(POINT_HP, i);
                }
            }

Na

if (pAttacker->GetPoint(POINT_HIT_HP_RECOVERY) && number(0, 4) > 0) // 80% Č®·ü
            {
                int i = MIN(dam, iCurHP) * pAttacker->GetPoint(POINT_HIT_HP_RECOVERY) / 100;

                if (i && i > 0)
                {
                    CreateFly(FLY_HP_SMALL, pAttacker);
                    pAttacker->PointChange(POINT_HP, i);
                }
            }

 

 

 

Fix exploit gildyjny

 

input_main.cpp

  CInputMain::AnswerMakeGuild

 
 

if (ch->GetGold() < 200000)
        return;

Na
 

if (ch->GetGold() < 200000)
        ch->ChatPacket(CHAT_TYPE_INFO, "Nie masz 200000 yang");
        return;

if (ch->GetLevel() < 40)
        ch->ChatPacket(CHAT_TYPE_INFO, "Nie masz 40lv+ ");
        return;

 

 

 

 

 

 

Dodanie nowym umiejętności supportujących do funkcji pc.clear_skill() (nie zresetuje ich podczas resetowania umiejętności)

 

 

 

skill.h (enum ESkillIndexes)

dodajecie nazwe(zawsze na końcu ma być przycinek) np. 
NOWA_UMKA = id_umki, np. NOWA_UMKA = 164,
char_skill.cpp (static const DWORD s_adwSubSkillVnums[])
 
na samym początku dopisujecie
NOWA_UMKA

 

Fix na niewidzialność postaci

 

 

 

char_affect.cpp (bool CHARACTER::RemoveAffect(CAffect * pkAff))
if (AFFECT_REVIVE_INVISIBLE != pkAff->dwType)
{
    ComputePoints();
}

 

 

 

 

______________________________________________________________________

Macie coś innego ? Dodajcie w temacie , chętnie dodam to do tematu i nagrodzę like [:)]

Dla tych co nie mają Src jest coś takiego jak PW ^^

sygna.png

Specjalista
Opublikowano

Temat przyda się tylko nie pisz np:

 

­Fix na efekt autopotów przy więcej niż 2 str eq by Rysie_Q

 

Ponieważ on tego nie zrobił zmień to na:

 

Fix na efekt autopotów przy więcej niz 2 str eq dodane przez Rysie_Q

 

Pozdrawiam.

Pomogłeś,pomogę kiedy tylko brachu mogę!

 

graphic.png

 

Opublikowano

ALE BEKA

HAAHAHAHAHA

 

Przez takie tematy poziom tego forum spada, teraz każdy będzie wrzucał jakieś gówianie fixy z innych forów i będzie pisać że sam na to wpadła. Następnie myslać że już umie cpp zmieni nick na DEVELOPER #cycu A następnie zareklamuje się w dziale Pomoc na Serwerze jako DEVELOPER. 

 

JEBŁEM NA TO.

Opublikowano

@1361622928-U485574.pngSneeZo

 

Jeżeli ktoś się uważa za kogoś kim nie jest to już chyba tylko jego problem :p 

Nie pojmuje tych ciągłych hejtów "poziom forum spada.." itp. itd. 

 

Ktoś normalny może to wykorzystac w odpowiedni sposób a żeby chociaż popatrzeć jak Ci bardziej doświadczeni tworzą różne modyfikacje i przez to w pewien sposób się uczyć.

 

 

@topic

 

Temat fajny, może się przydać niektórym.

Opublikowano

Powiem tak tego tematu moderator nie może zamknąć tamten został zamknięty przez link do src wystarczyło go naprawdę tylko usunąc i temat mógł być dalej co do tematu fajna sprawa ale powinien byc w dziale questy, c++ bo to jednak cpp ;p ale tak to fajnie i pewnie bede dodawał tuty więc możesz je tu doawac

@Sevence mój nie xD bo wczoraj to zrobiłem u siebie ;)

Opublikowano

Fix Czarowane ostrze:
 
Char_battle.cpp [ bool CHARACTER::Damage(LPCHARACTER pAttacker, int dam, EDamageType type) ]


if (pAttacker->GetPoint(POINT_HIT_HP_RECOVERY) && number(0, 4) > 0) // 80% Č®·ü
			{
				int i = MIN(dam, iCurHP) * pAttacker->GetPoint(POINT_HIT_HP_RECOVERY) / 100;

				if (i)
				{
					CreateFly(FLY_HP_SMALL, pAttacker);
					pAttacker->PointChange(POINT_HP, i);
				}
			}

Replace

if (pAttacker->GetPoint(POINT_HIT_HP_RECOVERY) && number(0, 4) > 0) // 80% Č®·ü
			{
				int i = MIN(dam, iCurHP) * pAttacker->GetPoint(POINT_HIT_HP_RECOVERY) / 100;

				if (i && i > 0)
				{
					CreateFly(FLY_HP_SMALL, pAttacker);
					pAttacker->PointChange(POINT_HP, i);
				}
			}

 
Fix exploit gildyjny:

input_main.cpp
 

CInputMain::AnswerMakeGuild

 
 

if (ch->GetGold() < 200000)
		return;

Replace
 

if (ch->GetGold() < 200000)
		ch->ChatPacket(CHAT_TYPE_INFO, "You don't have 200000 yang");
		return;

    if (ch->GetLevel() < 40)
		ch->ChatPacket(CHAT_TYPE_INFO, "You don't have 40lv+ ");
		return;

0LsM05U.png

Opublikowano

 

Fix Czarowane ostrze:

 

Char_battle.cpp [ bool CHARACTER::Damage(LPCHARACTER pAttacker, int dam, EDamageType type) ]

if (pAttacker->GetPoint(POINT_HIT_HP_RECOVERY) && number(0, 4) > 0) // 80% Č®·ü
			{
				int i = MIN(dam, iCurHP) * pAttacker->GetPoint(POINT_HIT_HP_RECOVERY) / 100;

				if (i)
				{
					CreateFly(FLY_HP_SMALL, pAttacker);
					pAttacker->PointChange(POINT_HP, i);
				}
			}

Replace

if (pAttacker->GetPoint(POINT_HIT_HP_RECOVERY) && number(0, 4) > 0) // 80% Č®·ü
			{
				int i = MIN(dam, iCurHP) * pAttacker->GetPoint(POINT_HIT_HP_RECOVERY) / 100;

				if (i && i > 0)
				{
					CreateFly(FLY_HP_SMALL, pAttacker);
					pAttacker->PointChange(POINT_HP, i);
				}
			}

 

Fix exploit gildyjny:

 

input_main.cpp

 

CInputMain::AnswerMakeGuild

 

 

if (ch->GetGold() < 200000)
		return;

Replace

 

if (ch->GetGold() < 200000)
		ch->ChatPacket(CHAT_TYPE_INFO, "You don't have 200000 yang");
		return;

    if (ch->GetLevel() < 40)
		ch->ChatPacket(CHAT_TYPE_INFO, "You don't have 40lv+ ");
		return;

 

Dodane

sygna.png

Opublikowano

Powiem tak tego tematu moderator nie może zamknąć tamten został zamknięty przez link do src wystarczyło go naprawdę tylko usunąc i temat mógł być dalej co do tematu fajna sprawa ale powinien byc w dziale questy, c++ bo to jednak cpp ;p ale tak to fajnie i pewnie bede dodawał tuty więc możesz je tu doawac

 

@Sevence mój nie xD bo wczoraj to zrobiłem u siebie ;)

W tamtym temacie pisali jakoś że Makin mówił że src mozna umieszczać na forum i jakoś został nagle zamknięty

Opublikowano

Dodanie nowym umiejętności supportujących do funkcji pc.clear_skill() (nie zresetuje ich podczas resetowania umiejętności)

 

skill.h (enum ESkillIndexes)

 

dodajecie nazwe(zawsze na końcu ma być przycinek) np. 

NOWA_UMKA = id_umki, np. NOWA_UMKA = 164,

char_skill.cpp (static const DWORD s_adwSubSkillVnums[])

 

na samym początku dopisujecie

NOWA_UMKA,

Fix na niewidzialność postaci

 

char_affect.cpp (bool CHARACTER::RemoveAffect(CAffect * pkAff))

if (AFFECT_REVIVE_INVISIBLE != pkAff->dwType)
{
    ComputePoints();
} 
na:
if (AFFECT_REVIVE_INVISIBLE != pkAff->dwType)
{
    ComputePoints();
}
else
{
    UpdatePacket();
}

 

Więcej niż jeden przedmiot za wbicie kulki
 
char.cpp (case POINT_LEVEL_STEP)
if (GetLevel() <= 10)
AutoGiveItem(27001, 2);
else if (GetLevel() <= 30)
AutoGiveItem(27002, 2);
else
{
AutoGiveItem(27002, 2);
// AutoGiveItem(27003, 2);
}

na:

if (GetLevel() <= 10) AutoGiveItem(27001, 2) and AutoGiveItem(27004, 2);
else if (GetLevel() <= 30) AutoGiveItem(27002, 2) and AutoGiveItem(27005, 2);
else if (GetLevel() <= 99) AutoGiveItem(27002, 2) and AutoGiveItem(27005, 2);

Dodawanie punktów statusu do maxymalnego poziomu

 

char.cpp (case POINT_LEVEL_STEP)

if (GetLevel() < 91) PointChange(POINT_STAT, 1);

na:

if (GetLevel() < nasz_maxymalny_poziom) PointChange(POINT_STAT, 1);
Opublikowano

zacznijmy od tego, ze na forum od dawna nie ma zakazu wstawiania linku do scr i wszystkiego co z nim związane.. w dziale przez moment był nawet podpięty temat z taką informacją więc nei wiem dlaczego tamten temat został zamknięty

 

tu dl:  ...

https://www.virustotal.com/pl/url/274b18e83a3b2b1db2350782fdb36e225aa3d656f350d26269233ac115c82f67/analysis/1421950254/

graphic.png

i7-6700K l MSI GTX 1080 X l 2x8GB 3000MHz l MSI Z170A l SSD HyperX 240GB

Opublikowano

zacznijmy od tego, ze na forum od dawna nie ma zakazu wstawiania linku do scr i wszystkiego co z nim związane.. w dziale przez moment był nawet podpięty temat z taką informacją więc nei wiem dlaczego tamten temat został zamknięty

 

tu dl:  ...

https://www.virustotal.com/pl/url/274b18e83a3b2b1db2350782fdb36e225aa3d656f350d26269233ac115c82f67/analysis/1421950254/

Proszę o skan pliku, nie strony, czas 1h.

­

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...