Jump to content

Upgraded Reference (TMP4 Base) By Ulthar


Ulthar

Recommended Posts

  • Premium

Hello fellows! I just started making my first p. server and I have a little problem with normal/green enchants.

So, i made them dropable/sellabe (my private shop) and tradable. The only problem is when im trying to stack them from my inventory i cant. So they stack when picked from the ground but if you divide them and then try to stack them again from inventory you cant. Any solutions for this?

Thank you @ Ulthar for those magnificent resources!

The strings below are from item_proto.txt

Quote

Normal Enchants:

71084    Àç°æºñ¼­    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    NONE | NONE | NONE | NONE    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
 

71085    Àç°¡ºñ¼­    ITEM_USE    USE_ADD_ATTRIBUTE    1    NONE | NONE | NONE | NONE    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
 

GREEN ENCHANTS:

76023    ¿¬Àç°æºñ¼­(¼±¹°¿ë)    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    NONE | NONE | NONE | NONE | NONE    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
76024    ¿¬Àç°¡ºñ¼­(¼±¹°¿ë)    ITEM_USE    USE_ADD_ATTRIBUTE    1    NONE | NONE | NONE | NONE | NONE    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    0    0    0    0    0    0
 

PS: Those green enchants are with B icon, the normal greens (without b icon), i couldnt make them stackable if picked from the ground.

Quote

 

 

Edited by SRL
Link to comment
Share on other sites

  • Active Member
4 hours ago, SRL said:

Hello fellows! I just started making my first p. server and I have a little problem with normal/green enchants.

So, i made them dropable/sellabe (my private shop) and tradable. The only problem is when im trying to stack them from my inventory i cant. So they stack when picked from the ground but if you divide them and then try to stack them again from inventory you cant. Any solutions for this?

Thank you @ Ulthar for those magnificent resources!

The strings below are from item_proto.txt

PS: Those green enchants are with B icon, the normal greens (without b icon), i couldnt make them stackable if picked from the ground.

 

Did you change it in client proto too?

  • Love 1
Link to comment
Share on other sites

  • Premium
9 hours ago, ATAG said:

Did you change it in client proto too?

Yes i changed it in client's proto (drump_proto((.txt to what ever that is))---->Locale_en--->Eternexus packing--->locale_en.eix and locale_en.epk to pack), sorry but I forgot to specify this above.

That's why im calling this out here cause i have tried everything that i could.

 

Thank you for your answer!

Edited by SRL
Link to comment
Share on other sites

  • Active Member
1 hour ago, gergogonczi said:

Hello!
Maybe someone managed to eliminate the error so that the channel information appears under the minimap? No matter how I look at it, I can't find where the error is.

(Sorry for the English!)
Thank you in advance for your answer!

Csak találgatok (just guessing):

root/uiminimap.py

		if constInfo.MINIMAP_POSITIONINFO_ENABLE==0:
			self.positionInfo.Hide()

		self.serverInfo.SetText(net.GetServerInfo())
#--->		#self.serverInfo.Show()
		self.ScaleUpButton.SetEvent(ui.__mem_func__(self.ScaleUp))

This line is commented i guess, i dont have the untouched root anymore 😞

Edited by ATAG
Link to comment
Share on other sites

2 hours ago, ATAG said:

Csak találgatok (just guessing):

root/uiminimap.py

		if constInfo.MINIMAP_POSITIONINFO_ENABLE==0:
			self.positionInfo.Hide()

		self.serverInfo.SetText(net.GetServerInfo())
#--->		#self.serverInfo.Show()
		self.ScaleUpButton.SetEvent(ui.__mem_func__(self.ScaleUp))

This line is commented i guess, i dont have the untouched root anymore 😞

Thanks for the answer @ ATAG!
I checked this too and there is no problem, maybe it has something to do with the source?

Link to comment
Share on other sites

5 hours ago, ATAG said:

Rendben, értem, megváltoztattam az intrologin.py fájlt. 😄 Hiányzik egy "self.__SetServerInfo("%s, %s " % (serverName, channelName))" vagy valami, mint a tat a "self.Connect(id, pwd)" előtt. Meg kell valósítani...

intrologin.py

        self.id = None
        self.pwd = None
        self.loginnedServer = None
        self.loginnedChannel = None
        app.loggined = False

        self.loginInfo = True
        try:
            server_name = logininfo.getAttribute("name")
            channel_idx = int(logininfo.getAttribute("channel_idx"))
        except:
            return

        try:
            matched = False

            for k, v in serverInfo.REGION_DICT[0].iteritems():
                if v["name"] == server_name:
                    account_addr = serverInfo.REGION_AUTH_SERVER_DICT[0][k]["ip"]
                    account_port = serverInfo.REGION_AUTH_SERVER_DICT[0][k]["port"]

                    channel_info = v["channel"][channel_idx]
                    channel_name = channel_info["name"]
                    addr = channel_info["ip"]
                    port = channel_info["tcp_port"]

                    net.SetMarkServer(addr, port)
                    self.stream.SetConnectInfo(addr, port, account_addr, account_port)

                    matched = True
                    break

            if False == matched:
                return
        except:
            return

        self.__SetServerInfo("%s, %s " % (server_name, channel_name))
        id = getValue(logininfo, "id", "")
        pwd = getValue(logininfo, "pwd", "")
        self.idEditLine.SetText(id)
        self.pwdEditLine.SetText(pwd)
        slot = getValue(logininfo, "slot", "0")
        locale = getValue(logininfo, "locale", "")
        locale_dir = getValue(logininfo, "locale_dir", "")
        is_auto_login = int(getValue(logininfo, "auto_login", "0"))

        self.stream.SetCharacterSlot(int(slot))
        self.stream.isAutoLogin=is_auto_login
        self.stream.isAutoSelect=is_auto_login

        if locale and locale_dir:
            app.ForceSetLocale(locale, locale_dir)

        if 0 != is_auto_login:
            self.Connect(id, pwd)

        return

 

uiminimap.py

        try:
            self.OpenWindow = self.GetChild("OpenWindow")
            self.MiniMapWindow = self.GetChild("MiniMapWindow")
            self.ScaleUpButton = self.GetChild("ScaleUpButton")
            self.ScaleDownButton = self.GetChild("ScaleDownButton")
            self.MiniMapHideButton = self.GetChild("MiniMapHideButton")
            self.AtlasShowButton = self.GetChild("AtlasShowButton")
            self.CloseWindow = self.GetChild("CloseWindow")
            self.MiniMapShowButton = self.GetChild("MiniMapShowButton")
            self.positionInfo = self.GetChild("PositionInfo")
            self.observerCount = self.GetChild("ObserverCount")
            self.serverInfo = self.GetChild("ServerInfo")
        except:
            import exception
            exception.Abort("MiniMap.LoadWindow.Bind")

        if constInfo.MINIMAP_POSITIONINFO_ENABLE==0:
            self.positionInfo.Hide()

        self.serverInfo.SetText(net.GetServerInfo())

 

serverinfo.py

import app
import localeInfo
app.ServerName = None

SRV1 = {
    "name":"server",
    "host":"localhost",
    #"host":"0.0.0.0",
    "auth1":11000,
    "ch1":13000,
    "ch2":13010,
    "ch3":13020,
    "ch4":13030,
}
PORT_MARK            = 13000

STATE_NONE = "|cFFdadada" + localeInfo.CHANNEL_STATUS_OFFLINE

STATE_DICT = {
    0 : "|cFFffffff" + localeInfo.CHANNEL_STATUS_OFFLINE,
    1 : "|cFF00ff00" + localeInfo.CHANNEL_STATUS_RECOMMENDED,
    2 : "|cFFffc000" + localeInfo.CHANNEL_STATUS_BUSY,
    3 : "|cFFff0000" + localeInfo.CHANNEL_STATUS_FULL,
}

SERVER1_CHANNEL_DICT = {
    1:{"key":11,"name":"CH1","ip":SRV1["host"],"tcp_port":SRV1["ch1"],"udp_port":SRV1["ch1"],"state":STATE_NONE,},
    2:{"key":12,"name":"CH2","ip":SRV1["host"],"tcp_port":SRV1["ch2"],"udp_port":SRV1["ch2"],"state":STATE_NONE,},
    3:{"key":13,"name":"CH3","ip":SRV1["host"],"tcp_port":SRV1["ch3"],"udp_port":SRV1["ch3"],"state":STATE_NONE,},
    4:{"key":14,"name":"CH4","ip":SRV1["host"],"tcp_port":SRV1["ch4"],"udp_port":SRV1["ch4"],"state":STATE_NONE,},
}


REGION_AUTH_SERVER_DICT = {
    0 : {
        1 : { "ip":SRV1["host"], "port":SRV1["auth1"], },
    }
}

REGION_DICT = {
    0 : {
        1 : { "name" :SRV1["name"], "channel" : SERVER1_CHANNEL_DICT, },
    },
}

MARKADDR_DICT = {
    10 : { "ip" : SRV1["host"], "tcp_port" : SRV1["ch1"], "mark" : "10.tga", "symbol_path" : "10", },
}

MARKADDR_DICT = {
    10 : { "ip" : SRV1["host"], "tcp_port" : PORT_MARK, "mark" : "10.tga", "symbol_path" : "10", },
}
 

 

Do you see a mistake somewhere? 😄 

Link to comment
Share on other sites

  • Active Member

In intrologin.py look for:

		self.stream.SetConnectInfo(serverInfo.SRV1["host"], self.ChannelButtons[channel][1], serverInfo.SRV1["host"], serverInfo.SRV1["auth1"])

Andd add below:

		try:
			print("serverinfo: %s/%s\n" % (serverInfo.SRV1["name"],  serverInfo.SERVER1_CHANNEL_DICT[channel]["name"]))
			self.__SetServerInfo("%s, %s " % (serverInfo.SRV1["name"],  serverInfo.SERVER1_CHANNEL_DICT[channel]["name"]))
		except:
			print("serverinfo: NONE\n")

I'm not 100% sure, since my serverinfo.py and logininfo.py are modified. I hope it works.

 

I also had to modify the fuction like this:

	def __SetServerInfo(self, name):
		net.SetServerInfo(name.strip())
		#self.serverInfo.SetText(name)
		print("__SetServerInfo: %s/%s" % name, name.strip() or name)

 

  • Love 1
Link to comment
Share on other sites

  • Premium
On 5/13/2023 at 11:16 PM, SRL said:

Hello fellows! I just started making my first p. server and I have a little problem with normal/green enchants.

So, i made them dropable/sellabe (my private shop) and tradable. The only problem is when im trying to stack them from my inventory i cant. So they stack when picked from the ground but if you divide them and then try to stack them again from inventory you cant. Any solutions for this?

Thank you @ Ulthar for those magnificent resources!

The strings below are from item_proto.txt

PS: Those green enchants are with B icon, the normal greens (without b icon), i couldnt make them stackable if picked from the ground.

 

So basically this cant be worked out? 

Edited by SRL
Link to comment
Share on other sites

  • 1 month later...
1 hour ago, Tuckii said:

Can someone explain to me why and how does locale_string and translate lua affect our connection to the server? I've changed from HU to EN and wasn't able to connect, I'd like to understand it and know how to fix it also, thank you ❤️

I wanted to mention locale change in mysql - how does it work when I change from hungary to english it doesnt work anymore? Locale_string and translate lua works normally as it should.

Why can't I edit my post above tho : (

Edited by Tuckii
Link to comment
Share on other sites

  • Active Member
4 hours ago, Tuckii said:

I wanted to mention locale change in mysql - how does it work when I change from hungary to english it doesnt work anymore? Locale_string and translate lua works normally as it should.

Why can't I edit my post above tho : (

Did you changed the path to locale/en/quest ?

Link to comment
Share on other sites

4 hours ago, ATAG said:

Did you changed the path to locale/en/quest ?

I figured it out how to change language of quests etc. for the mysql part I need to change in var/mysql/player the files with english ones but currently dont have these.

Im also curious about the switch bot, from the post I asumme it doesn't work since it shows the packet header error after compile?

Also after closing server and starting it db seems to stop working, even after reboot sometimes

.png

sysser of db

Link to comment
Share on other sites

  • 1 month later...

Im having issues with Visual Studio, every single SF I try to compile gives me this error, including this SF:

CWebBrowser.lib is not a valid Win32 application.

I have tried compile with 2022(which should be valid, based on Platform Toolkit - v143) and also tried VS19(which has v142) and still the same problem

I'm not really smart from other thread I found, which is only for debug(Not my problem rn).

Could anyonem point me to the right way?

Link to comment
Share on other sites

On 4/1/2023 at 6:09 PM, Metin2GH said:

hi , i have a problem when i add the switchboot in binary 

 

i know you say the sistem is sell in dis moment but in romania is posted for free

when i want to compile si get dis erorr 

uG7NGLJ.png

 

auto& it2 = it->second.find(table.apply_num);

change to

const auto& it2 = it->second.find(table.apply_num);

Link to comment
Share on other sites

  • 2 weeks later...
  • Active Member
1 hour ago, xLerii said:

Hello I'm having kind of problem, that when I choose a character - the game instantly turn off and I have syserr:

0808 23:45:12721 :: Unknown packet header: 171, last: 126 4

Any idea on how to fix it ?

https://metin2.dev/topic/30430-upgraded-reference-tmp4-base-by-ulthar/?do=findComment&comment=155818&_rid=211

  • Good 1
Link to comment
Share on other sites

  • 4 weeks later...

Here are some cool stuff:

I installed this files on a Freebsd 64 VPS Server. Its working now after:
 

  • some problem with libIL.so.1 fixed by applying on /usr/lib32 from metin2.download

 

 

Where I change login image from client-side? (I'm a little rusted)

  • maybe create a href just to use one login and select.jpg on all languages from clientside?
Edited by porexemplo
Link to comment
Share on other sites

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.