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

Skrypt Wyświetlający


EferenTM

Rekomendowane odpowiedzi

Opublikowano

Witam, dziś oddaję Wam mój skrypt pobierający przedmioty danej postaci i wyświetlający je na stronie:

 

Nie mam czego pokazywać na screen'ie, ponieważ jest to czysty kod, gotowy do wszczepienia go na stronę.

Za pomocą tego skryptu można pobierać przedmioty postaci (wraz z bonusami) oraz same postacie bezpośrednio przez $_GET.

 

Standardowo dostępne odwołania:

getPlayerPlayers($acc_id)
showItems($playerid)
ShowItems('account')->showOutput()
ShowADV->getItemImage($item_id)
ShowItems('account') [KLASA!]
ShowADV [KLASA!]

i wiele, wiele więcej. Wystarczy poszperać w kodzie :)

 

Jeśli chcecie aby zamiast nazw były wyświetlane przedmioty z bonusami, musicie uzupełnić plik weapons.class.php korzystając z przykładu zamieszczonego w tym pliku.

 

 

Skan:

https://www.virustotal.com/pl/file/24ebc89f2cf79cdd8c0856ec96beccba1143fc195e5b085515604ce7e289a9b0/analysis/1428230803/

Download jako załącznik.

 

Skrypt jest mojego autorstwa, publikuję go gdyż nie mam już czasu i ochoty na rozwijanie go :)

Zezwalam na używanie/przerabianie mojego skryptu. Nie wymagam stopki!

Metin2-Items-By-EferenTM.rar

wE1yDhT.png

Opublikowano

Tak z tym się nieźle głowiłem :)

Nawet nie wiedziałem iż taka strona wgl. istnieje :D

 

Dzięki, edytuje to dla innych osób i wrzucę tutaj V2 :)

wE1yDhT.png

Opublikowano

Jedno przyznać trzeba, patent z pobieraniem ikonek jest po prostu z*******y xD

możesz też zapisać ikonki do katalogu i pobierać ich nazwy po id, podmieniasz ostatnią liczbę 0-9 [ W Przypadku broni ] i na samo 0 i już :p

EWOLUCJA : ]


 


84440201455649434251.jpg


 

Opublikowano

Polecam koledze zrobić dokładną instrukcję dla dzieci neo bo nie będą umiały tego podczepić pod swoją stronę i polecą Hejty xD Ale Plus za wstawkę pracy :)

EWOLUCJA : ]


 


84440201455649434251.jpg


 

Opublikowano

Jedno przyznać trzeba, patent z pobieraniem ikonek jest po prostu z*******y xD

możesz też zapisać ikonki do katalogu i pobierać ich nazwy po id, podmieniasz ostatnią liczbę 0-9 [ W Przypadku broni ] i na samo 0 i już :P

Nie da rady w przypadku połowy itemów ;/

wipek.pl

Opublikowano

Nie da rady w przypadku połowy itemów ;/

 

if(item->id() >= 10 and item->id() <=19)

:D

 

w sumie wypisywanie ifów nie ma sensu, lepiej z array pobierać wrtości od ... do i do pętli ładować :)

EWOLUCJA : ]


 


84440201455649434251.jpg


 

Opublikowano

Co do if'ów to nie miałem bladego pojęcia jak rozwiązać tą kwestię, zrobiłem to łopatologicznie :)

Lepszym wyjściem będzie zastosowanie bazy do tego celu (lecz nie chciałem wprowadzać żadnych dodatkowych zmian w bazie danego użytkownika.

 

Co do @PanTroian pomysłu - array raczej odpada, gdyż jak chcesz pobrać z tablicy np.:

$array = [
10 => 'Miecz +0',
11 => 'Miecz +1',
12 => 'Miecz +2',
13 => 'Miecz +3',
14 => 'Miecz +4',
15 => 'Miecz +5',
16 => 'Miecz +6',
17 => 'Miecz +7',
18 => 'Miecz +8',
19 => 'Miecz +9'
];

Jak chcesz z tego wyciągnąć ID od-do?

array_search();

Odpada, ponieważ musiałbym zastosować ich aż 9.

Co nie sprawdziłoby się w wielu innych przypadkach.

wE1yDhT.png

Opublikowano

Oj z kolegą się nie dogadaliśmy :D co do Id chodziło mi o pobieranie ikonek tylko ^_^

 

wartości od - do z array(), Pan mi wytłumaczy jak mogę pobrać wartości od - do z array? :)

 

Z bazą byłoby łatwiej tylko nie chcę pakować użytkownikowi kolejnej tabeli do istniejących już dosyć sporych baz danych :)

wE1yDhT.png

Opublikowano

Albo coś zmyślam, ale przecież można dać, że ikonki pobiera normalnie od ID,i dać jednego if'a, ze w przypadku, gdy type= i tu wypisać type Broni, zbroji, tarczy, hełmu itd tych co maja ulepszanie do +9. Wtedy zamienia ostatnia cyfrę na 0.

Będzie wiadomo kilkanaście przedmiotów dodatkowo, które maja ta sama ikonkę do kilku przedmiotów, ale w takim przypadku każdy sobie wrzuci ikonkę do katalogu z odpowiednim ID.

 

PS. Jesli cos pojebalem to sorki. xD

Opublikowano

Albo coś zmyślam, ale przecież można dać, że ikonki pobiera normalnie od ID,i dać jednego if'a, ze w przypadku, gdy type= i tu wypisać type Broni, zbroji, tarczy, hełmu itd tych co maja ulepszanie do +9. Wtedy zamienia ostatnia cyfrę na 0.

Będzie wiadomo kilkanaście przedmiotów dodatkowo, które maja ta sama ikonkę do kilku przedmiotów, ale w takim przypadku każdy sobie wrzuci ikonkę do katalogu z odpowiednim ID.

 

PS. Jesli cos pojebalem to sorki. xD

 

Tak tylko ID takich itemów jak np miecz 10-19 będziesz miał, aby pobierać ikonki trzeba by dopisać aby w przypadku itemów type = Miecz, Tarcza itp odcinało ostatnią liczbę i zastępowało ją 0 :) Wtedy można sobie całe icon przekonwertować i wgrać na serwer a aby pobierało ikonki,

 

wartości od - do z array(), Pan mi wytłumaczy jak mogę pobrać wartości od - do z array? :)

 

Z bazą byłoby łatwiej tylko nie chcę pakować użytkownikowi kolejnej tabeli do istniejących już dosyć sporych baz danych :)

 

Zaraz ci podeślę tylko pogrzebie na dysku bo też to pisałem i ja własnie mam za pomocą tablicy to zrobione :P

 

Edit

 

Tamtego nie mogłem znaleźć, wiec wybazgrałem coś takiego [Nie jest idealnie xD]

function nazwa($echoID)
{
    $plik = "itemy.txt"; 
    $open =  file($plik);
    $ilosc = count($open);
    $item = $echoID;
    for($x=0;$x<$ilosc;$x++)
    {
        $load = $open[$x];
        $echo = explode('|',$load);
        if($item>=$echo[0] && $item<=$echo[1])
        {
            return $echo[2];
        }
    }
}

w pliku itemy.txt piszesz sobie:

10|19|Miecz

20|29|Długi Miecz

itd...

 

Możesz sobie dopisać aby pobierało ostatnią liczbę z $item i uzupełaniało return wartość itemu +

Trzeba by to przerobić aby nie generowało pełnej listy itemów, tylko np wybranych bo jak bd np 5k wpisów to może troszkę lagować go :P

EWOLUCJA : ]


 


84440201455649434251.jpg


 

Opublikowano

I tak według mnie najlepszą metodą jest db. Tabelkę można dać do cache na długi czas i nie będzie obciążać.

wipek.pl

Opublikowano

I tak według mnie najlepszą metodą jest db. Tabelkę można dać do cache na długi czas i nie będzie obciążać.

Jest wiele metod rozwiązania tego :D Ja napisałem tak coś na szybko, najwięcej zależy od tego na jakim typie danych działa serwer, jeżeli na sql to nie ma problemu pobierasz nazwę itemu z item_proto i problem rozwiązany, jeżeli jednak działasz na txt no to już odrobinę więcej zabawy.

EWOLUCJA : ]


 


84440201455649434251.jpg


 

Opublikowano

Wreszcie znalazł się ktoś korzystający z PDO, a nie jak przystało na profesjonalnych webmasterów z branży Metina przestarzałego mysql.

Panie tu już poszli o krok do porzdu i z mysql na mysqli przeszli xD

 

pdo jest ciekawą biblioteką jednak chyba nie kiedy mysqli jest szybszy :P chociaż nie testowałem które z nich szybciej pobierze np 10k rekordów.

EWOLUCJA : ]


 


84440201455649434251.jpg


 

Opublikowano

Panie tu już poszli o krok do porzdu i z mysql na mysqli przeszli xD

 

pdo jest ciekawą biblioteką jednak chyba nie kiedy mysqli jest szybszy :P chociaż nie testowałem które z nich szybciej pobierze np 10k rekordów.

 

Może i szybsze, jednak mniej bezpieczne.

W sumie korzystam z filtrów globalnych, ale gdyby ktoś jednak filtrował każdą wartość która jest zawarta w zapytaniu do bazy to mógłby coś przeoczyć, a przy PDO nawet nie musisz tego robić.

Opublikowano

Może i szybsze, jednak mniej bezpieczne.

W sumie korzystam z filtrów globalnych, ale gdyby ktoś jednak filtrował każdą wartość która jest zawarta w zapytaniu do bazy to mógłby coś przeoczyć, a przy PDO nawet nie musisz tego robić.

Racja jednak można wykonać prostą funkcję której zadaniem jest sprawdzanie czy w polu wejścia zostały podane same znaki z przedziału a-Z 0-9 :P

EWOLUCJA : ]


 


84440201455649434251.jpg


 

Opublikowano

Racja jednak można wykonać prostą funkcję której zadaniem jest sprawdzanie czy w polu wejścia zostały podane same znaki z przedziału a-Z 0-9 :P

 

No wiadomo, zawsze można zrobić coś na styl:

foreach ($_GET as $name => $value) {
 if (!empty($value)) {
  // tutaj nasz zestaw filtrów
  $_GET[$name] = $value;
 }
}

To samo z POST, jednak myślę, że dopiero po opublikowaniu tego posta ludzie zaczną gadać, że od zawsze z tego korzystali.

 

// Poprawiłem stopkę, bo łatwo się w sumie pomylić - wada programowania w wielu językach na raz.

Opublikowano

Lub coś takiego xD

function clear($value) 
{
 $value = trim($value);
 $value = htmlspecialchars($value);
 $value = stripslashes($value);
 return $value;
}
Nie no żartuje sobie z tym xD

EWOLUCJA : ]


 


84440201455649434251.jpg


 

Opublikowano

function clear, klasyka xD

Nie no jak już ktoś by chciał się tak bawić to lepiej użyć:

ctype_alnum

Lepiej przysiąść i napisać porządne reguły filtrujące jeżeli na mysql/mysqli się leci :P

EWOLUCJA : ]


 


84440201455649434251.jpg


 

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...