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

Nowe Przedmioty Ulepszające


Rekomendowane odpowiedzi

Opublikowano

Witam

Bez dłuższego rozpisywania się, pokażę wam jak dodać nowe przedmioty, którymi możemy ulepszać takie jak Zwój Błogosławieństwa czy Magiczny Metal. Może się to przydać do stworzenia, np. magicznego metalu ze zwiększoną szansą na ulepszenie. Nie znalazłem nigdzie takiego poradnika, a komuś może to pomóc.

 

1. Przechodzimy do pliku game/src/char_item.cpp i szukamy tego:

 

 

enum enum_RefineScrolls
{
	CHUKBOK_SCROLL = 0,
	HYUNIRON_CHN   = 1,
	YONGSIN_SCROLL = 2,
	MUSIN_SCROLL   = 3,
	YAGONG_SCROLL  = 4,
	MEMO_SCROLL	   = 5,
	BDRAGON_SCROLL	= 6,
};

 

 

 

2. Pod tym:

 

 

BDRAGON_SCROLL	= 6,

 

 

 

3. Dodajemy to:

 

 

METAL_PLUS	= 7,

 

 

 

4. Szukamy tego:

 

 

if (pkItemScroll->GetValue(0) == HYUNIRON_CHN || 
	pkItemScroll->GetValue(0) == YONGSIN_SCROLL || 
	pkItemScroll->GetValue(0) == YAGONG_SCROLL)

 

 

 

5. Pod tym:

 

 

pkItemScroll->GetValue(0) == YONGSIN_SCROLL || 

 

 

 

6. Dodajemy to:

 

 

pkItemScroll->GetValue(0) == METAL_PLUS || 

 

 

 

7. Szukamy tego:

 

 

if (pkItemScroll->GetValue(0) == YONGSIN_SCROLL)
{
	if (LC_IsYMIR() == true || LC_IsKorea() == true)
		success_prob = hyuniron_prob_euckr[MINMAX(0, item->GetRefineLevel(), 8)];
	else
		success_prob = hyuniron_prob[MINMAX(0, item->GetRefineLevel(), 8)];
}

 

 

 

8. Dodajemy poniżej to:

 

 

else if (pkItemScroll->GetValue(0) == METAL_PLUS)
{
		success_prob += 10; //szansa na ulepszenie zostaje zwiekszona o +10%
} 

 

 

 

9. Szukamy tego:

 

 

else if (pkItemScroll->GetValue(0) == YONGSIN_SCROLL)
{
	szRefineType = "GOD_SCROLL";
}

 

 

 

10. Dodajemy poniżej to:

 

 

else if (pkItemScroll->GetValue(0) == METAL_PLUS)
{
	szRefineType = "METAL_PLUS";
}	

 

 

 

11. Jeżeli chcemy aby po nieudanej próbie ulepszenia poziom przedmiotu nie został zdegradowany to szukamy tego:

 

 

if (pkItemScroll->GetValue(0) == HYUNIRON_CHN)
	bDestroyWhenFail = true;

 

 

 

12. A następnie dodajemy poniżej to:

 

 

else if (pkItemScroll->GetValue(0) == METAL_PLUS)
	bDestroyWhenFail = true;

 

 

 

Teraz dodajemy lub edytujemy normalnie przedmiot w item_proto i w value0 ustawiamy 7 czyli wartość jaką przypisaliśmy w trzecim punkcie.

 

##### edit - Poprawne wyświetlanie szansy na ulepszenie w RefineDialog.

 

13. Szukamy tego:

 

 

p.prob = prt->prob;

 

 

 

14. Dodajemy poniżej to:

 

 

LPITEM itemScroll = GetInventoryItem(iAdditionalCell);

if (itemScroll->GetValue(0) == METAL_PLUS)
	p.prob = prt->prob+10;

 

 

 

15. Przechodzimy do pliku root/uiRefine.py i szukamy tego:

 

 

self.probText.SetText(localeInfo.REFINE_SUCCESS_PROBALITY % (self.percentage))

 

 

 

16. Zmieniamy na to:

 

 

if self.percentage >= 100:
	self.probText.SetText(localeInfo.REFINE_SUCCESS_PROBALITY % (100))
else:
	self.probText.SetText(localeInfo.REFINE_SUCCESS_PROBALITY % (self.percentage))
self.costText.SetText(localeInfo.REFINE_COST % (self.cost))

 

 

Opublikowano

A wyświetlanie dodatkowych % ulepszenia w okienku hem? Dopisz sobie także RefineInformation.

 

Niedopracowana funkcja:

else if (pkItemScroll->GetValue(0) == METAL_PLUS)
{
		success_prob += 10; //szansa na ulepszenie +10%
}

A co, gdy success_prob wyniesie ponad 100? <.<


Omnes puerum deriserunt.

Opublikowano

A w 12 punkcie przy spalaniu nie powinno być false ?

Opublikowano

A wyświetlanie dodatkowych % ulepszenia w okienku hem? Dopisz sobie także RefineInformation.

 

Niedopracowana funkcja:

else if (pkItemScroll->GetValue(0) == METAL_PLUS)
{
		success_prob += 10; //szansa na ulepszenie +10%
}
A co, gdy success_prob wyniesie ponad 100? <.<
A co ma sie stac? Nic xD

To jakbys losowal kostka, gdzie na kazdej sciance masz 6 kropek i oczekiwal 6 kropek :)

Opublikowano

A wyświetlanie dodatkowych % ulepszenia w okienku hem? Dopisz sobie także RefineInformation.

 

Niedopracowana funkcja:

else if (pkItemScroll->GetValue(0) == METAL_PLUS)
{
		success_prob += 10; //szansa na ulepszenie +10%
}

A co, gdy success_prob wyniesie ponad 100? <.<

Dlaczego ma wynieść ponad 100?  :O

Opublikowano

m2dev 2014 rok wita...

 

nawet takie poradniki są ponad twoje umiejętności

 

 

A wyświetlanie dodatkowych % ulepszenia w okienku hem? Dopisz sobie także RefineInformation.

 

Niedopracowana funkcja:

else if (pkItemScroll->GetValue(0) == METAL_PLUS)
{
		success_prob += 10; //szansa na ulepszenie +10%
}

A co, gdy success_prob wyniesie ponad 100? <.<

Dlaczego ma wynieść ponad 100?  :O

 

 

bo może ktoś se w refine 95% szanse ustawi co da w tym przypadku 105% szansy na ulepszenie  :s

Opublikowano

 

A wyświetlanie dodatkowych % ulepszenia w okienku hem? Dopisz sobie także RefineInformation.

 

Niedopracowana funkcja:

else if (pkItemScroll->GetValue(0) == METAL_PLUS)
{
		success_prob += 10; //szansa na ulepszenie +10%
}
A co, gdy success_prob wyniesie ponad 100? <.<
A co ma sie stac? Nic xD

To jakbys losowal kostka, gdzie na kazdej sciance masz 6 kropek i oczekiwal 6 kropek :)

 

Dzięki to już z przyzwyczajenia i u siebie miałem ze sprawdzaniem, bo bardzo łatwo w kodzie czegoś nie dopisać i potem kanały latają. ^^

 

Nie zmienia to faktu, że autor nie dopisał w RefineInformation czego trzeba i będzie wyświetlać błędny % na ulepszenie.


Omnes puerum deriserunt.

Opublikowano

 

m2dev 2014 rok wita...

 

nawet takie poradniki są ponad twoje umiejętności

 

 

A wyświetlanie dodatkowych % ulepszenia w okienku hem? Dopisz sobie także RefineInformation.

 

Niedopracowana funkcja:

else if (pkItemScroll->GetValue(0) == METAL_PLUS)
{
		success_prob += 10; //szansa na ulepszenie +10%
}

A co, gdy success_prob wyniesie ponad 100? <.<

Dlaczego ma wynieść ponad 100?  :O

 

 

bo może ktoś se w refine 95% szanse ustawi co da w tym przypadku 105% szansy na ulepszenie  :s

 

Nie ma znaczenia w takim przypadku nie pokaże się okno  czy na pewno chcesz ulepszyć tylko ulepszy jakby było 100%

  • 3 tygodnie później...
Opublikowano

Nawet nawet :P Przyda się :D

POSTY: [50] [75] [100] [150] [200] [250] [300] [350] [400] [450] [500] [550] [600] [650] [700] [750] [800] [850] [900] [950] [1000]


1817914831025941486533.png


 Ważne !   Pisząc/Odpisując wpisz w poście @Pesi

  • 1 miesiąc temu...
Opublikowano

Temat zaktualizowany o poprawne wyświetlanie szansy na ulepszenie. Jak ktoś sobie tego nie zrobił to polecam :)

  • 6 miesięcy temu...
Opublikowano

Przepraszam że odkopuje temat ale mam problem. Po dodaniu metalu plus nie moge nic ulepszać u kowala. Wywala mi channel. O co tu chodzi?

Opublikowano

Przepraszam że odkopuje temat ale mam problem. Po dodaniu metalu plus nie moge nic ulepszać u kowala. Wywala mi channel. O co tu chodzi?

Zjebałeś coś w game, zapewne utworzył się plik core, tak?
Opublikowano

 

Przepraszam że odkopuje temat ale mam problem. Po dodaniu metalu plus nie moge nic ulepszać u kowala. Wywala mi channel. O co tu chodzi?

Zjebałeś coś w game, zapewne utworzył się plik core, tak?
Nie;(

 

Syserr ch1

SYSERR: Dec  3 16:18:47 :: pid_init: 
Start of pid: 5081

SYSERR: Dec  3 16:18:47 :: socket_connect: HOST localhost:15000, could not connect.
SYSERR: Dec  3 16:18:48 :: ChildLoop: AsyncSQL: query failed: Table 'player.string' doesn't exist (query: SELECT name, text FROM string errno: 1146)
SYSERR: Dec  3 16:18:50 :: socket_connect: HOST localhost:15000, could not connect.
SYSERR: Dec  3 16:18:53 :: socket_connect: HOST localhost:15000, could not connect.
SYSERR: Dec  3 16:19:28 :: ReadDragonSoulTableFile: dragon_soul_table.txt load error
SYSERR: Dec  3 16:19:28 :: Boot: cannot load DragonSoulTable: locale/poland/dragon_soul_table.txt
SYSERR: Dec  3 16:19:30 :: heart_idle: losing 33 seconds. (lag occured)

Syserr auth

SYSERR: Dec  3 16:18:50 :: pid_init: 
Start of pid: 5087

SYSERR: Dec  3 16:18:50 :: socket_connect: HOST localhost:15000, could not connect.
SYSERR: Dec  3 16:18:50 :: ChildLoop: AsyncSQL: query failed: Table 'account.string' doesn't exist (query: SELECT name, text FROM string errno: 1146)
SYSERR: Dec  3 16:18:53 :: socket_connect: HOST localhost:15000, could not connect.
SYSERR: Dec  3 16:38:52 :: hupsig: SIGHUP, SIGINT, SIGTERM signal has been received. shutting down.
SYSERR: Dec  3 16:38:53 :: pid_deinit: 
End of pid

Syserr db

SYSERR: Dec  3 16:18:44 :: pid_init: 
Start of pid: 5079

SYSERR: Dec  3 16:18:44 :: Start: TABLE_POSTFIX not configured use default
SYSERR: Dec  3 16:18:53 :: DirectQuery: AsyncSQL::DirectQuery : mysql_query error: Column 'name' in field list is ambiguous
query: SELECT empire, pid, name, money, windate FROM monarch a, player b where a.pid=b.id
SYSERR: Dec  3 16:22:56 :: Process: FDWATCH: peer null in event: ident 22
SYSERR: Dec  3 16:38:52 :: hupsig: SIGHUP, SIGINT, SIGTERM signal has been received. shutting down.
SYSERR: Dec  3 16:38:53 :: pid_deinit: 
End of pid
Opublikowano

 

A wyświetlanie dodatkowych % ulepszenia w okienku hem? Dopisz sobie także RefineInformation.

 

Niedopracowana funkcja:

else if (pkItemScroll->GetValue(0) == METAL_PLUS)
{
		success_prob += 10; //szansa na ulepszenie +10%
}

A co, gdy success_prob wyniesie ponad 100? <.<

Dlaczego ma wynieść ponad 100?  :O

 

no właśnie.

 

 

 

Przepraszam że odkopuje temat ale mam problem. Po dodaniu metalu plus nie moge nic ulepszać u kowala. Wywala mi channel. O co tu chodzi?

Zjebałeś coś w game, zapewne utworzył się plik core, tak?
Nie;(

 

Syserr ch1

SYSERR: Dec  3 16:18:47 :: pid_init: 
Start of pid: 5081

SYSERR: Dec  3 16:18:47 :: socket_connect: HOST localhost:15000, could not connect.
SYSERR: Dec  3 16:18:48 :: ChildLoop: AsyncSQL: query failed: Table 'player.string' doesn't exist (query: SELECT name, text FROM string errno: 1146)
SYSERR: Dec  3 16:18:50 :: socket_connect: HOST localhost:15000, could not connect.
SYSERR: Dec  3 16:18:53 :: socket_connect: HOST localhost:15000, could not connect.
SYSERR: Dec  3 16:19:28 :: ReadDragonSoulTableFile: dragon_soul_table.txt load error
SYSERR: Dec  3 16:19:28 :: Boot: cannot load DragonSoulTable: locale/poland/dragon_soul_table.txt
SYSERR: Dec  3 16:19:30 :: heart_idle: losing 33 seconds. (lag occured)
Syserr auth

SYSERR: Dec  3 16:18:50 :: pid_init: 
Start of pid: 5087

SYSERR: Dec  3 16:18:50 :: socket_connect: HOST localhost:15000, could not connect.
SYSERR: Dec  3 16:18:50 :: ChildLoop: AsyncSQL: query failed: Table 'account.string' doesn't exist (query: SELECT name, text FROM string errno: 1146)
SYSERR: Dec  3 16:18:53 :: socket_connect: HOST localhost:15000, could not connect.
SYSERR: Dec  3 16:38:52 :: hupsig: SIGHUP, SIGINT, SIGTERM signal has been received. shutting down.
SYSERR: Dec  3 16:38:53 :: pid_deinit: 
End of pid

Syserr db

SYSERR: Dec  3 16:18:44 :: pid_init: 
Start of pid: 5079

SYSERR: Dec  3 16:18:44 :: Start: TABLE_POSTFIX not configured use default
SYSERR: Dec  3 16:18:53 :: DirectQuery: AsyncSQL::DirectQuery : mysql_query error: Column 'name' in field list is ambiguous
query: SELECT empire, pid, name, money, windate FROM monarch a, player b where a.pid=b.id
SYSERR: Dec  3 16:22:56 :: Process: FDWATCH: peer null in event: ident 22
SYSERR: Dec  3 16:38:52 :: hupsig: SIGHUP, SIGINT, SIGTERM signal has been received. shutting down.
SYSERR: Dec  3 16:38:53 :: pid_deinit: 
End of pid

Może napraw sobie tabelki w bazie ?

 

service mysql-server stop
cd /var/db/mysql
chown -R mysql:mysql *
chmod -R 700 *
cd account/player
myisamchk -r -f -v *MYI

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...