Register for your free account! | Forgot your password?

You last visited: Today at 02:21

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C++/Python] 5 Inventarseiten

Discussion on [C++/Python] 5 Inventarseiten within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
q.@quaresma741's Avatar
 
elite*gold: 0
Join Date: Jul 2015
Posts: 25
Received Thanks: 66
[C++/Python] 5 Inventarseiten

*bitte Zitieren wegen den Links, hab noch keine 100 Beiträge :O

HuHu,

poste euch heute ma 5 inventarseiten (kann mann erweitern)^^
da ich es hier, auf metin2*** und woanders nicht gefunden hab poste ich es ma^^

Bild:

Serverside:

als erstes gehen wir in den Verzeichnis /Server/common und öffnen legth.h

suchen nach:

Code:
INVENTORY_MAX_NUM        = 90,
ersetzen dies mit:
Code:
INVENTORY_MAX_NUM        = 225,
speichern und schließen

nun gehen wir in den Verzeichnis /server/game/src und öffnen exchange.cpp

suchen nach:
Code:
    static CGrid s_grid1(5, INVENTORY_MAX_NUM/5 / 2); // inven page 1
    static CGrid s_grid2(5, INVENTORY_MAX_NUM/5 / 2); // inven page 2
ersetzen mit:
Code:
static CGrid s_grid1(5, INVENTORY_MAX_NUM/5 / 5); // inven page 1     
static CGrid s_grid2(5, INVENTORY_MAX_NUM/5 / 5); // inven page 2
static CGrid s_grid3(5, INVENTORY_MAX_NUM/5 / 5); // inven page 3
static CGrid s_grid4(5, INVENTORY_MAX_NUM/5 / 5); // inven page 4
static CGrid s_grid5(5, INVENTORY_MAX_NUM/5 / 5); // inven page 5
suchen dann
Code:
    s_grid1.Clear();
    s_grid2.Clear();
fügen darunter:
Code:
    s_grid3.Clear();
    s_grid4.Clear();
    s_grid5.Clear();
nun weiter suchen nach,
Code:
for (i = 0; i < INVENTORY_MAX_NUM / 2; ++i)
und ändern den code Block mit das hier
Code:
for (i = 0; i < INVENTORY_MAX_NUM / 5; ++i)
{
  if (!(item = victim->GetInventoryItem(i)))
   continue;

  s_grid1.Put(i, 1, item->GetSize());
}
for (i = INVENTORY_MAX_NUM / 5; i < (INVENTORY_MAX_NUM / 5) * 2; ++i)
{
  if (!(item = victim->GetInventoryItem(i)))
   continue;

  s_grid2.Put(i - INVENTORY_MAX_NUM / 5, 1, item->GetSize());
}
for (i = (INVENTORY_MAX_NUM / 5) * 2; i < (INVENTORY_MAX_NUM / 5) * 3; ++i)
{
  if (!(item = victim->GetInventoryItem(i)))
   continue;

  s_grid3.Put(i - (INVENTORY_MAX_NUM / 5) * 2, 1, item->GetSize());
}
for (i = (INVENTORY_MAX_NUM / 5) * 3; i < (INVENTORY_MAX_NUM / 5) * 4; ++i)
{
  if (!(item = victim->GetInventoryItem(i)))
   continue;

  s_grid4.Put(i -(INVENTORY_MAX_NUM / 5) * 3, 1, item->GetSize());
}
for (i = (INVENTORY_MAX_NUM / 5) * 4; i < (INVENTORY_MAX_NUM / 5) * 5; ++i)
{
  if (!(item = victim->GetInventoryItem(i)))
   continue;

  s_grid5.Put(i - (INVENTORY_MAX_NUM / 5) * 4, 1, item->GetSize());
}
nun speichern wir exchange.cpp ab und öffnen char_item.cpp.

suchen nach: (mehr mals suchen)
Code:
 INVENTORY_MAX_NUM / 2
und ersetzen alles mit
Code:
INVENTORY_MAX_NUM / 5
Clientside:

Client/Userinterface und öffnen GameType.h und suchen nach:
Code:
const DWORD c_Inventory_Page_Count = 2;
ändern in:
Code:
const DWORD c_Inventory_Page_Count = 5;

dann gibts noch die Python zeug
eifügen müsste klar sein.

entpackt locale_de.eix/epk und uiscript.eix/epk



muss in char.h und in char_item.cpp verändert werden
Danke dir, dieser fehler war mir nicht bekannt


Quote:
Originally Posted by Mr. 'Avenue™ View Post
225 inv + ausgerüstete gegenstände + kostüme + belt sind über 255
Überschreitet also "BYTE"
BYTE bCell / BYTE bDestCell überall zu DWORD bCell & DWORD bDestCell ändern
Attached Files
File Type: rar Updated 26_08.rar (8.7 KB, 1026 views)
q.@quaresma741 is offline  
Thanks
5 Users
Old 08/21/2015, 23:27   #2


 
Mr. 'Avenue™'s Avatar
 
elite*gold: 222
The Black Market: 101/0/0
Join Date: Oct 2012
Posts: 2,361
Received Thanks: 3,388
225 inv + ausgerüstete gegenstände + kostüme + belt sind über 255
Überschreitet also "BYTE"
BYTE bCell / BYTE bDestCell überall zu WORD bCell & WORD bDestCell ändern
Mr. 'Avenue™ is offline  
Thanks
3 Users
Old 08/21/2015, 23:29   #3
 
elite*gold: 0
Join Date: Jan 2012
Posts: 120
Received Thanks: 17
und aus :
static CGrid s_grid3(5, INVENTORY_MAX_NUM/5 / 2); // inven page 3
static CGrid s_grid4(5, INVENTORY_MAX_NUM/5 / 2); // inven page 3
static CGrid s_grid5(5, INVENTORY_MAX_NUM/5 / 2); // inven page 3

static CGrid s_grid3(5, INVENTORY_MAX_NUM/5 / 5); // inven page 3
static CGrid s_grid4(5, INVENTORY_MAX_NUM/5 / 5); // inven page 3
static CGrid s_grid5(5, INVENTORY_MAX_NUM/5 / 5); // inven page 3


machen sonst buggt handeln rum ^^

Danke fürs RLS ^^
Forcetraeger is offline  
Old 08/21/2015, 23:30   #4
 
elite*gold: 605
Join Date: Aug 2015
Posts: 148
Received Thanks: 86
Danke für das Release, man sieht jetzt zumindest mal was geändert wird bei 4 zu 5 Inventar Seiten, somit könnte theoretisch jeder selbst alles erweitern.
__________________

Dein Thread wurde dem hinzugefügt.
-Katekyo™ is offline  
Old 08/22/2015, 00:14   #5

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by -Katekyo™ View Post
Danke für das Release, man sieht jetzt zumindest mal was geändert wird bei 4 zu 5 Inventar Seiten, somit könnte theoretisch jeder selbst alles erweitern.
__________________

Dein Thread wurde dem hinzugefügt.
Man muss natürlich auch die Datentypen beachten, wie Mr. Avenue auch schon geschrieben hat würde es so garnicht klappen mit 5 Seiten
rollback is offline  
Old 08/22/2015, 02:08   #6
 
elite*gold: 0
Join Date: Jun 2014
Posts: 46
Received Thanks: 8
/Server/common ??? 40k Files wo ich find nix...
iCaLoXi1 is offline  
Old 08/22/2015, 02:19   #7
 
holosko74's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 267
Received Thanks: 103
haste nen Source Server?
wenn nein kannse den thread vergessen
holosko74 is offline  
Old 08/22/2015, 11:15   #8
 
.J0ker's Avatar
 
elite*gold: 0
The Black Market: 128/0/1
Join Date: Jun 2013
Posts: 1,214
Received Thanks: 327
Ist doch schon mit 4 Seiten Public oder nicht ? warum dann noch ein Thread mit 5 seiten
.J0ker is offline  
Old 08/22/2015, 12:16   #9
 
kstmr's Avatar
 
elite*gold: 0
Join Date: Feb 2012
Posts: 95
Received Thanks: 29
Quote:
Originally Posted by Mr. 'Avenue™ View Post
225 inv + ausgerüstete gegenstände + kostüme + belt sind über 255
Überschreitet also "BYTE"
BYTE bCell / BYTE bDestCell überall zu DWORD bCell & DWORD bDestCell ändern
from byte (unsigned char (1 byte/8 bits) to a dword (unsigned int (4 byte / 32 bit (currently)) this could be ok on some old implimantation from the 90s but we are in 2015. even when it comes to value a byte can hold up to 255 a dword can hold 4kkk . use a more apopreat type.
and :

PHP Code:
static CGrid s_grid1(5INVENTORY_MAX_NUM/2); // inven page 1     
static CGrid s_grid2(5INVENTORY_MAX_NUM/2); // inven page 2
static CGrid s_grid3(5INVENTORY_MAX_NUM/2); // inven page 3     
static CGrid s_grid4(5INVENTORY_MAX_NUM/2); // inven page 3     
static CGrid s_grid5(5INVENTORY_MAX_NUM/2); // inven page 3 
this is bullshit .
it should be like this :
PHP Code:
static CGrid s_grid1(5INVENTORY_MAX_NUM/5); // inven page 1     
static CGrid s_grid2(5INVENTORY_MAX_NUM/5); // inven page 2
static CGrid s_grid3(5INVENTORY_MAX_NUM/5); // inven page 3
static CGrid s_grid4(5INVENTORY_MAX_NUM/5); // inven page 4
static CGrid s_grid5(5INVENTORY_MAX_NUM/5); // inven page 5 
same for this :
PHP Code:
   for (0INVENTORY_MAX_NUM 5; ++i)
    {
        if (!(
item victim->GetInventoryItem(i)))
            continue;
 
        
s_grid1.Put(i1item->GetSize());
    }
    for (
INVENTORY_MAX_NUM 5INVENTORY_MAX_NUM; ++i)
    {
        if (!(
item victim->GetInventoryItem(i)))
            continue;
 
        
s_grid2.Put(INVENTORY_MAX_NUM 51item->GetSize());
    }
 
    for (
INVENTORY_MAX_NUM 5INVENTORY_MAX_NUM; ++i)
    {
        if (!(
item victim->GetInventoryItem(i)))
            continue;
 
        
s_grid3.Put(INVENTORY_MAX_NUM 51item->GetSize());
    }
    for (
INVENTORY_MAX_NUM 5INVENTORY_MAX_NUM; ++i)
    {
        if (!(
item victim->GetInventoryItem(i)))
            continue;
 
        
s_grid4.Put(INVENTORY_MAX_NUM 51item->GetSize());
    }
    for (
INVENTORY_MAX_NUM 5INVENTORY_MAX_NUM; ++i)
    {
        if (!(
item victim->GetInventoryItem(i)))
            continue;
 
        
s_grid5.Put(INVENTORY_MAX_NUM 51item->GetSize());
    } 
here is a correct yet ugly way to do it :
PHP Code:
int i;

for (
0INVENTORY_MAX_NUM 5; ++i)
{
  if (!(
item victim->GetInventoryItem(i)))
   continue;

  
s_grid1.Put(i1item->GetSize());
}
for (
INVENTORY_MAX_NUM 5< (INVENTORY_MAX_NUM 5) * 2; ++i)
{
  if (!(
item victim->GetInventoryItem(i)))
   continue;

  
s_grid2.Put(INVENTORY_MAX_NUM 51item->GetSize());
}
for (
= (INVENTORY_MAX_NUM 5) * 2< (INVENTORY_MAX_NUM 5) * 3; ++i)
{
  if (!(
item victim->GetInventoryItem(i)))
   continue;

  
s_grid3.Put(- (INVENTORY_MAX_NUM 5) * 21item->GetSize());
}
for (
= (INVENTORY_MAX_NUM 5) * 3< (INVENTORY_MAX_NUM 5) * 4; ++i)
{
  if (!(
item victim->GetInventoryItem(i)))
   continue;

  
s_grid4.Put(-(INVENTORY_MAX_NUM 5) * 31item->GetSize());
}
for (
= (INVENTORY_MAX_NUM 5) * 4< (INVENTORY_MAX_NUM 5) * 5; ++i)
{
  if (!(
item victim->GetInventoryItem(i)))
   continue;

  
s_grid5.Put(- (INVENTORY_MAX_NUM 5) * 41item->GetSize());

good luck
kstmr is offline  
Thanks
1 User
Old 08/22/2015, 14:21   #10
 
elite*gold: 605
Join Date: Aug 2015
Posts: 148
Received Thanks: 86
Quote:
Originally Posted by .J0ker View Post
Ist doch schon mit 4 Seiten Public oder nicht ? warum dann noch ein Thread mit 5 seiten
Damit man den Unterschied sieht (was bearbeitet wird) und zu dem wollen halt manche 5 Seiten haben, Cyperia hat doch auch 5.
-Katekyo™ is offline  
Old 08/23/2015, 18:38   #11
 
elite*gold: 0
Join Date: Aug 2012
Posts: 974
Received Thanks: 89
da fehlt der python teil für inventory^^
thespeedyy is offline  
Old 08/23/2015, 20:47   #12
 
elite*gold: 2
Join Date: Jun 2013
Posts: 1,063
Received Thanks: 1,725
Mal gespannt wann wer 10 Seiten raushaut.
ProfessorEnte is offline  
Thanks
2 Users
Old 08/24/2015, 00:03   #13
 
Tuora's Avatar
 
elite*gold: 0
Join Date: Jun 2014
Posts: 1,045
Received Thanks: 954
Quote:
Originally Posted by ProfessorEnte View Post
Mal gespannt wann wer 10 Seiten raushaut.
Hahaha ja wird sicherlich noch rausgehauen ^^,nettes release danke
Tuora is online now  
Old 08/24/2015, 16:14   #14

 
elite*gold: 0
Join Date: Jul 2009
Posts: 2,471
Received Thanks: 5,622
Bitte vergesst nicht in der IsEmptyItemGrid

BYTE bCell = (BYTE)Cell.cell;
auf
WORD bCell = Cell.cell;

und auch nichtBYTE p = bCell + (5 * j);
auf
WORD p = bCell + (5 * j);


vergessen

zu ändern
sonst habt ihr einige Probleme
.Alpha. is offline  
Old 08/25/2015, 18:50   #15
 
°~Dennis~°'s Avatar
 
elite*gold: 2
Join Date: Jan 2008
Posts: 531
Received Thanks: 234


Done!
°~Dennis~° is offline  
Thanks
1 User
Reply

Tags
5 inventar, 5 inventar seiten, metin2, metin2 inventar, q.@quaresma741


Similar Threads Similar Threads
2 Inventarseiten noch Okay?
06/23/2015 - Metin2 Private Server - 0 Replies
Hallo. Ich habe eine Frage. Ich finde 2 Inventarseiten viel besser. Daher wollte ich fragen, ob das Spieler abschreckt? (Mobiles lager ist da, versteht sich.) MFG
4 Inventarseiten
03/16/2015 - Metin2 Private Server - 13 Replies
Gibt es ein Howto wie man 4 inventarseiten einbauen kann (40k Client)
Brauche Hilfe bei 4 Inventarseiten
01/04/2015 - Metin2 Private Server - 2 Replies
Hey Leute ich will als bei mir 4 invi seiten einfügen aber habe probleme mit dem client weil ich das mit der exe nicht hinbekomme wer kann mir bitte helfen stelle metin2 exe und bin in die beschreibung in der rar datei ist exe und bin
34k Game - Yanglimit + Inventarseiten
09/23/2014 - Metin2 Private Server - 5 Replies
Guten Abend, ich suche nun seit Tagen und finde dazu ehrlich gesagt nichts und deshalb frage ich hier jetzt einfach mal nach. Ich habe die 34k Game und wollte das Yanglimit im Inventar sowie im Shop auf 1 Billiarde erhöhen. Nun finde ich dazu nichts und die meisten sagen mir was von einer Source ( ich weiß nicht was das ist ) und das ich das nur bei der 40k Game hinbekomme, jedoch weiß ich auch nicht wie ich die 34k mit der 40k überspeichern soll und was da noch alles dazu gehört. Ich...
Vanilla Core 4 inventarseiten Problem...
08/28/2014 - Metin2 Private Server - 9 Replies
Guten tag... Wie schon gesagt habe ich ein Problem bei den 4 Inventarseiten von Vanilla. Hier ein Screen: http://img5.fotos-hochladen.net/uploads/082412241 1d1k83pcwxf.jpg Undzwar sehe ich erstens keine items im Inventar (obwohl ich sie anhabe..)und wenn ich auf seite vier ein Item rein tuhe dann verschwindet es! Ich habe das "HOW TO" von metin2dev benutzt...



All times are GMT +2. The time now is 02:21.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.