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

[TuT] Zakładanie sklepu tylko na mapie handlowej.


Rekomendowane odpowiedzi

Opublikowano

Cześć!

Poniżej ukazane jest co zrobić by móc w swoim kliencie zablokować zakładanie sklepów na innej mapie niż wasza handlowa.

Jest to banalne ale kilka osób kiedyś takie coś planowała i jakoś jeszcze na żadnym polskim serwerze tego nie widziałem.

Do rzeczy:

 

Otwieramy interfacemodule.py.

Szukamy: def OpenPrivateShopInputNameDialog(self):

Pod tym dajemy enter i wklejamy:

if "metin2_map_c1" != background.GetCurrentMapName(): ## metin2_map_c1 to przykład

chat.AppendChat(chat.CHAT_TYPE_INFO, locale.MAPA_HANDLOWA)

return

 

Ma to wyglądać mniej więcej tak:

1355087006-U552838.jpg

 

 

W locale_game.txt dodajemy:

MAPA_HANDLOWA[TAB]Sklep można otworzyć jedynie na mapie handlowej!

 

To chyba tyle.

Tak jest to gówniana sprawa bo ktoś wbije na kamerze i już może zakładać sklep ale zawsze coś...

Zapraszam serdecznie na moją  nową stronę: https://przeglad-internetu.pl. Znajdziesz tam sporo śmiesznych treści z internetu w celu zapewnienia Ci najlepszego contentu i zaoszczędzeniu czasu! 🙂

Opublikowano

Już mogłeś sobie podarować ten wpis do locali i zrobić to tak ;)

chat.AppendChat(chat.CHAT_TYPE_INFO, "Sklep można otworzyć jedynie na mapie handlowej!")

 

Niemniej jednak tak jak napisałeś, nie bardzo się to sprawdzi bo wystarczy nawet rozpakować naszego klienta i wywalić ten warunek.

 

P.S. Dodaj, że KONIECZNE są tabulatory, inaczej nawet nam klient nie wystartuje

Koniec z MPCForum.pl i ogółem z metinem

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

Szczerze patrzyłem po plikach i częsciej widziałem odniesienie do locale i tam tekst, a tak jak ty napisałeś nie mogłem znaleźć.

No wiadomo że lepiej by było mieć to po stronie serwera bo wtedy się tego nie da ominąć ale ja po prostu nie mam o tym pojęcia.

Głównie robiłem to dla zabawy i treningu, a może akurat komuś się przyda nawet i w tak ubogiej wersji.

Zapraszam serdecznie na moją  nową stronę: https://przeglad-internetu.pl. Znajdziesz tam sporo śmiesznych treści z internetu w celu zapewnienia Ci najlepszego contentu i zaoszczędzeniu czasu! 🙂

Opublikowano

Przerobić tobół na item questowy, w game.py dodać komendę do otwierania sklepu. Questem sprawdzasz czy jestesmy na dobrym indexie mapy, jeżeli tak to cmdchat("komenda-z-game.py")

Łatwiej dodać warunek w game.

Opublikowano

Niby można tak zrobić przez cmdchat ale i tak będzie to do obejścia...

Zapraszam serdecznie na moją  nową stronę: https://przeglad-internetu.pl. Znajdziesz tam sporo śmiesznych treści z internetu w celu zapewnienia Ci najlepszego contentu i zaoszczędzeniu czasu! 🙂

Opublikowano

Jestem ciekaw twoich znajomosci Asma, skoro est dla ciebie łatwiejszy od skopiowania funkcji na otwarcie sklepu z uishop(chyba) i wkleic do game.py i pobranie indexu mapy w lua.

Liczą się zabezpieczenia których nikt nie ominie, a nie te które "łamie" się w 5 sekund.

 

@down:

mov	esi, [ebp+arg]
mov	eax, [esi+32]
mov	[esp], eax
call	0x00 (IS_BOTARYABLE_ZONE - sprawdzanie mapy, czy jest w m1)
test	al, al
jz	short gdziestam

Opublikowano

Liczą się zabezpieczenia których nikt nie ominie, a nie te które "łamie" się w 5 sekund.

Takie zabezpieczenia nie istnieją. Swoją drogą, do tych map to można zrobić tablicę ;d

ePc0b.jpg

mcn_cc.pl - banda złodziei

;)

Piszę questy na zamówienie - Zostanę questerem na serwerze dedykowanym - Na zlecenie napiszę questy - Zakoduję stronę HTML5/CSS3

Opublikowano

Niby można tak zrobić przez cmdchat ale i tak będzie to do obejścia...

Jestem ciekaw jak? Zmieniasz tobołek na przedmiot questowy (type 18, subtype 10) i on wykonuje questa. Jeśli nie masz odpowiedniego klienta to sklep Ci się po prostu nie otworzy. Gdyby tak po prostu dało się obejść tobołek to by każdy sobie podmienił za inny przedmiot bądź dorobił button i otwierał sklepy wtedy kiedy chce.

Koniec z MPCForum.pl i ogółem z metinem

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

Jestem ciekaw twoich znajomosci Asma, skoro est dla ciebie łatwiejszy od skopiowania funkcji na otwarcie sklepu z uishop(chyba) i wkleic do game.py i pobranie indexu mapy w lua.

 

 

poszedłem tym tropem już w chuj czasu temu gdy chciałem zmienić wygląd sklepu po otwarciu go Szpulą Jedwabiu i wynik jest taki: Okienko się pokazało, itemy możesz dodać, ale po kliknięciu okej sklep się nie otwiera.

57199140501148694665.png

Opublikowano

Jestem ciekaw jak? Zmieniasz tobołek na przedmiot questowy (type 18, subtype 10) i on wykonuje questa. Jeśli nie masz odpowiedniego klienta to sklep Ci się po prostu nie otworzy. Gdyby tak po prostu dało się obejść tobołek to by każdy sobie podmienił za inny przedmiot bądź dorobił button i otwierał sklepy wtedy kiedy chce.

Istnieje też chyba opcja zrobienia sklepu bez tobołka:

onPressKeyDict[app.DIK_PRZYCISK]   = lambda : self.FunkcjaOtwórzSklep()

I jak Endy mówił, pobranie funkcji otworzenia sklepu:

def __FunkcjaOtwórzSklep(self):
 funkcja

ePc0b.jpg

mcn_cc.pl - banda złodziei

;)

Piszę questy na zamówienie - Zostanę questerem na serwerze dedykowanym - Na zlecenie napiszę questy - Zakoduję stronę HTML5/CSS3

Opublikowano

Quest:

quest shop_cmd begin
   state start begin
       when 50200.use begin
           if pc.get_map_index() == 21 then
               syschat("Nie możesz otworzyć sklepu w tym miejscu")
               return
           end
           cmdchat("OpenShop")
       end
   end
end

 

game.py:

w def __ServerCommand_Build(self): dodajemy:

"OpenShop" : self.__OpenShop,

a na samym końcu:

def __OpenShop(self):
	self.interface.OpenPrivateShopInputNameDialog()

 

item_proto:

UPDATE `item_proto` SET `type`='18', `subtype`='10' WHERE `vnum`='50200';

 

To wszystko

 

up. Patrząc na to, jak łatwo przyszło mi przerobienie tobołka pod quest to serio się zastanawiam, czy do tego wszystkiego w ogóle potrzebny jest tobołek

Koniec z MPCForum.pl i ogółem z metinem

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Opublikowano

Teraz dodać do ekwipunku button "Sklep", co nie jest takie trudne.

ePc0b.jpg

mcn_cc.pl - banda złodziei

;)

Piszę questy na zamówienie - Zostanę questerem na serwerze dedykowanym - Na zlecenie napiszę questy - Zakoduję stronę HTML5/CSS3

Opublikowano

Nie wiem jak na nowych clientach. Na pewno działało to za czasów gdy każdy z nas używał plików Raina, bo sam tak robiłem sklepy jako "Taborety".

 

 

 

Do tego dodaj

pc.polymorph(30000, 60*60*24) -- 30000 to id "Taboretu"

Nie jestem pewien czy przy tym co dałeś będzie działać zamykanie sklepu poprzez button w okienku sklepu.

Zamykanie sklepu działa normalnie, nawet zabiera nam tobołek z automatu

Koniec z MPCForum.pl i ogółem z metinem

:D

 

sunp.png

Sygnatura wykonana przez

Isuribi aka Amelka.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...