[C++/Python] 5 Inventarseiten

08/25/2015 22:43 Tuora#16
Quote:
Originally Posted by °~Dennis~° View Post
[Only registered and activated users can see links. Click Here To Register...]

Done! :D
To much :D
08/26/2015 00:11 q.@quaresma741#17
Quote:
Originally Posted by thespeedyy View Post
da fehlt der python teil für inventory^^

habe nun den python teil drinn weis auch nicht was ich da vorher gemacht habe ^^

Quote:
Originally Posted by °~Dennis~° View Post
[Only registered and activated users can see links. Click Here To Register...]

Done! :D

Wenn man es drauf hat kann mann alles machen :P
08/26/2015 13:52 thespeedyy#18
wenn ich es nach deinem howto mache verschieben sich die slots :(
08/26/2015 23:09 q.@quaresma741#19
Quote:
Originally Posted by thespeedyy View Post
wenn ich es nach deinem howto mache verschieben sich die slots :(
beschreib es bitte genauer verstehe nicht genau was du meinst falls wenn ein screen oder soo wäre hilfreich
08/27/2015 04:19 Kira Mikami#20
Quote:
Originally Posted by q.@quaresma741 View Post
*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
fügen das hier darunter:
Code:
    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
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; ++i)
    {
        if (!(item = victim->GetInventoryItem(i)))
            continue;
 
        s_grid2.Put(i - INVENTORY_MAX_NUM / 5, 1, item->GetSize());
    }
 
    for (i = INVENTORY_MAX_NUM / 5; i < INVENTORY_MAX_NUM; ++i)
    {
        if (!(item = victim->GetInventoryItem(i)))
            continue;
 
        s_grid3.Put(i - INVENTORY_MAX_NUM / 5, 1, item->GetSize());
    }
    for (i = INVENTORY_MAX_NUM / 5; i < INVENTORY_MAX_NUM; ++i)
    {
        if (!(item = victim->GetInventoryItem(i)))
            continue;
 
        s_grid4.Put(i - INVENTORY_MAX_NUM / 5, 1, item->GetSize());
    }
    for (i = INVENTORY_MAX_NUM / 5; i < INVENTORY_MAX_NUM; ++i)
    {
        if (!(item = victim->GetInventoryItem(i)))
            continue;
 
        s_grid5.Put(i - INVENTORY_MAX_NUM / 5, 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

[Only registered and activated users can see links. Click Here To Register...]

muss in char.h und in char_item.cpp verändert werden
Danke dir, dieser fehler war mir nicht bekannt :D
*zitiert auf Anfrage*
08/30/2015 19:49 iPeri /..#21
Tut mir leid, jedoch kann ich den Theard nicht gut heißen,
da schon 4 Inventarseiten Released wurden und du einfach nur ein paar Zahlen geändert hast,
ich denke das hätte der Rest der Community ebenfalls schaffen können.
11/10/2015 20:38 °Ace°#22
Problem Clientside:
PHP Code:
1110 20:36:23983 :: Failed to load script file locale/de/ui/InventoryWindow.py
1110 20
:36:23984 :: 
ui.py(line:2820LoadScriptFile
system
.py(line:192execfile
system
.py(line:163Run
locale
/de/ui/InventoryWindow.py(line:6) ?

LoadScriptFile!!!!!!!!!!!!!! - exceptions.AttributeError:'module' object has no attribute 'INVENTORY_PAGE_BUTTON_TOOLTIP_5'

1110 20:36:23984 :: ============================================================================================================
1110 20:36:23984 :: Abort!!!!


1110 20:36:23984 :: 
uiInventory.py(line:284__LoadWindow
ui
.py(line:2837LoadScriptFile
exception
.py(line:36Abort

InventoryWindow
.LoadWindow.LoadObject exceptions.SystemExit:

1110 20:36:23985 :: ============================================================================================================
1110 20:36:23985 :: Abort!!!! 
11/11/2015 12:15 Shaytan #23
Ich finde über 5 Seiten echt heftig. Ist zu viel, bald sind wir bei 30 Seiten :D.
11/11/2015 16:50 Lefloyd#24
iPeri einerseits hast du Recht, andererseits nicht... Von 4 auf 5 Seiten muss mehr als nur paar Zahlen geändert werden, sondern auch Datentypen (wie in den Kommentaren bereits gesagt) - da das allerdings nicht im Release getan wird, ist es wirklich nicht so schön...
Außerdem fände ich es wesentlich schöner wenn das ganze dynamischer gelöst werden würde über einen Eintrag INVENTORY_PAGE_COUNT = 5, so dass man wenn die Seitenzahl geändert werden soll nur einen Eintrag ändern muss und nicht wieder an x-vielen Stellen und am Ende eine vergisst ;) Natürlich muss dann bei den Grids das Ganze etwas angepasst werden (*hust* vector oder array).

Kind Regards,
Lefloyd
11/15/2015 14:15 ThaRielFliege#25
So wie das aussieht in der exchange.cpp sollte es beim Handeln "buggen" bzw. sollte wenn die ersten zwei Seiten voll sind und man handelt, etwas kommen das der Empfänger keinen Platz hat.
03/29/2016 00:04 azures007#26
Hi
the problem is me
the inventory can not equip any item can not be moved
What could be the problem?

sysser:

0328 23:32:10247 :: File "ui.py", line 1466, in OnUnselectItemSlot

0328 23:32:10247 :: File "ui.py", line 87, in __call__

0328 23:32:10247 :: File "ui.py", line 78, in __call__

0328 23:32:10248 :: File "uiInventory.py", line 1105, in UseItemSlot

0328 23:32:10248 :: AttributeError
0328 23:32:10248 :: :
0328 23:32:10248 :: 'module' object has no attribute 'GET_ITEM_DROP_QUESTION_DIALOG_STATUS'
0328 23:32:10248 ::
05/07/2018 16:29 dexter699#27
Thread ist zwar uralt, aber kann jemand das uiinventory hier posten? Also nur das bearbeitete Teil? Oder welche funktion muss man genaue betrachten?
12/15/2018 11:03 sinthujan#28
mal eine dumme frage

"als erstes gehen wir in den Verzeichnis /Server/common"


wo finde ich dieses verzeichnis? mit filezella? hab da alles durchsucht ....

bin schon seit geschlagene 3h am suchen und bin verzweifelt :-(
12/15/2018 14:15 Kyuso /..#29
Quote:
Originally Posted by sinthujan View Post
mal eine dumme frage

"als erstes gehen wir in den Verzeichnis /Server/common"


wo finde ich dieses verzeichnis? mit filezella? hab da alles durchsucht ....

bin schon seit geschlagene 3h am suchen und bin verzweifelt :-(
Musst du im Source suchen.
12/15/2018 21:08 sinthujan#30
Quote:
Originally Posted by Kyuso /.. View Post
Musst du im Source suchen.


wo finde ich die source xD ?

bin ich mit filezella richtig ?