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

Programista na zlecenie - napiszę plugin


Rekomendowane odpowiedzi

Opublikowano

@mate1337 To już raczej prywatna kwestia w jaki sposób udaje mi się odzyskać pieniądze, ale jeśli nie otrzymałeś zakupionego towaru nie ma z tym mniejszego problemu. :)

 

Zapraszam serdecznie wszystkich do współpracy. :)

 Nie wypowiem się na temat kupowania od ciebie pl bo tego nie robiłem, ale doradzę ci. Na twoim miejscu poświeciłbym te kilka godzin(czy ile tam napisales) i dokończył ten plugin, nawet podstawe czyli 1vs1 z arenami i tyle. Wtedy pewnie znajdzie się kilka osób którzy ci powiedzą co źle zrobiłeś(jesli coś źle zrobiłeś), wtedy ty to poprawisz i dzięki temu.

1. Dostaniesz na tacy błedy które robiłeś i będziesz mógł je poprawić

2. Masz jakis plugin który obrazuje twoje umiejtność

3. Masz większe prawdopodobieństwo ze ktoś coś od ciebie kupi :) 

Co ja tutaj robie...

  • Odpowiedzi 187
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

@mate1337

 

"Przecież niezależnie czy concurent coś tam, czy zwykła mapa - jak asynchronicznie coś do niej dodasz bądź synchronicznie w trakcie internowania mapy, to operacja nigdy sie nie wykona na nowych elementach..."

 

Oj duzo jeszcze przed Toba : )

 

Skroo juz gotofinal "hejtuje" nie krytykuje to musi byc zle.

 

Tak jak wszyscy wyzej, nie polecam tego pana, programista go nie nazwe.

A mógłbyś rozwinąć? xD

Bo tak... nie czaje

Opublikowano

Kurde, pisząc z Hamerem i udowadniając, że jesteście lepsi, zniżacie sie do jego poziomu, który na prawdę mnie już przeraża...

Po co wchodzicie z nim w kłótnie , każdy z tego forum wie, że ta osoba nic nie potrafi, zwykłe z3r0.

 

@AntyWarn

 

https://github.com/HAMMERxPL/cpvpDuel/blob/master/src/pl/centrumpvp/cpvpduel/managers/UserManager.java#L25

 

A jak ktoś sprawdzi gracza, którego nie ma na serwerze? Myśl pisząc.

To już było omawiane, plugin nie jest skończony i nie wiem PO CO GO OCENIACIE. Poza tym jak ktoś, kto sam sprzedaje kradzione i lekko przerobione pluginy może mówić takiej osobie jak ja, że nic nie potrafię?  ^^ Jedyne co ty potrafisz robić to lekko modyfikować już gotowe pluginy.

 

@dekros123 Jak tylko będę miał więcej czasu to ogarnę ten plugin, na razie mam strasznie dużo pracy.

 

Update pluginu: https://github.com/HAMMERxPL/cpvpDuel

Nie do końca wiem jak dokładnie operować Githubem, także nie wińcie mnie za to.  :v

Plugin wymaga cpvpAPI, jeśli ktoś będzie chciał wgrać cpvpDuel do siebie, to dodam klasy z API bezpośrednio do pluginu.

4L0M4l0.png

Opublikowano

To jest śmieszne, że ta cała administracja tego mpcforum nic nie robi z tymi deb**ami którzy 24/7 siedzą na profilu hammera i spamią f5 sprawdzając czy nie utworzył nowego tematu bo przecież trzeba go "ośmieszyć". I tak chodzą jak psy do pana komentując i szczekając... aż krew się wzbiera. Szkoda, że same negatywne opinie ma cały czas od tych samych osób które nigdy nie zakupiły u niego usługi a z tego co się orientuję żeby coś/kogoś ocenić to powinniście mieć do tego jakieś podstawy - mowa o jego usługach. Więc jeśli nie macie nic ciekawszego do powiedzenia niż wasza bezpodstawna krytyka to lepiej wyjdźcie bo zniżycie się do takiego poziomu, że przez lunetę ciężko was będzie dojrzeć.

 

@topic 

 

Jak najbardziej polecam chłopak zna się na rzeczy ;>

Opublikowano

@HAMMERxPL

 

 

Jeśli płacę komuś powiedzmy 400 zł za plugin, a ta osoba ignoruje wiadomość i nie wykonuje zlecenia, to chyba oczywiste, że zwracam pieniądze? 

 

Akurat jeżeli o to chodzi to jestem po twojej stronie, ale zastanawia mnie fakt SKĄD i JAKIE masz dowody, np. na to że ktoś cię oszukał? Przecież na PayPal'u masz uprzednio wypełnić formularz, a dopiero potem kaska... przecież jako dowód w takim formularzu nie wrzucisz rozmowy z MPC, Skype czy nagrania ts'a xD

 

@GotoFinal

 

 

 

  1. Pakowanie wszędzie concurrentmap to nie jest magiczny sposób na lepszy kod, ConcurrentHashMap działa inaczej, i trzeba o tym zawsze pamiętać, po 1: więcej pamięci, po drugie (ważniejsze) nie masz gwarancji że iterując przez elementy wykonasz operacje na wszystkich, np jeśli podczas iterowania dodasz nowy element do mapy... to albo potem też do niego dotrzesz, albo nie, zależy gdzie funkcja hashująca go umieści.

 

Przecież niezależnie czy concurent coś tam, czy zwykła mapa - jak asynchronicznie coś do niej dodasz bądź synchronicznie w trakcie internowania mapy, to operacja nigdy sie nie wykona na nowych elementach...

przetestuj zanim powiesz :P

Do tego są też inne różnice, np ConcurrentHashMap nie może mieć wartości nulla w sobie, a HashMap może.

 

zaraz klepne przykładzik, mam nadzieję że nie będę mieć pecha do hashowania.

public class Class1 {
    public static void main(String[] args) throws Throwable {
        {
            Map<Character, Character> map = new ConcurrentHashMap<>(5);
            map.put('a', '0');
            map.put('b', '1');
            map.put('c', '2');
            map.put('d', '3');
            int i = 0;
            Collection<Character> done = new LinkedList<>();
            for (Map.Entry<Character, Character> entry : map.entrySet()) {
                if (++i == 2) {
                    map.put('y', '4');
                    map.put('f', '5');
                    map.put('z', '6');
                }
                done.add(entry.getKey());
            }
            // no i teraz co jest w done? a,b,c,d? a,b,c,d,e,f,g? czy "c**j wie co"?
            System.out.println(done); // poprawna odpowiedz to... c**j wie co! w typ wypadku [a, b, c, d, f], jednak jest to zależne od ustawień JVM i implementacji JVM, kolejność jest w miarę taka sama głównie ze względu na hashowanie takiego prostego typu.
        }

        {
            // dla pewności przykład z danymi bardziej losowymi: (by pokazać że kolejność nie jest taka oczywsita)
            UUID uuidA = UUID.nameUUIDFromBytes("#OnlyDiorite".getBytes());
            UUID uuidB = UUID.nameUUIDFromBytes("Ciastka z majonezem i keczupem".getBytes());
            UUID uuidC = UUID.nameUUIDFromBytes("Nah".getBytes());
            UUID uuidD = UUID.nameUUIDFromBytes("hue hue hue".getBytes());
            UUID uuidE = UUID.nameUUIDFromBytes("Costam".getBytes());
            UUID uuidF = UUID.nameUUIDFromBytes("( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°)".getBytes());
            UUID uuidG = UUID.nameUUIDFromBytes("Goteu".getBytes());
            UUID uuidH = UUID.nameUUIDFromBytes("Wincyj przykładów".getBytes());
            UUID uuidJ = UUID.nameUUIDFromBytes("Żodyn nie wie że jo przyklad".getBytes());
            UUID uuidK = UUID.nameUUIDFromBytes("Konczą mi się pomysły bo cały czas trafian na hashe które lądują w poprzednim buckecie....".getBytes());
            System.out.println("UUID-A: " + uuidA);
            System.out.println("UUID-B: " + uuidB);
            System.out.println("UUID-C: " + uuidC);
            System.out.println("UUID-D: " + uuidD);
            System.out.println("UUID-E: " + uuidE);
            System.out.println("UUID-F: " + uuidF);
            System.out.println("UUID-G: " + uuidG);
            System.out.println("UUID-H: " + uuidH);
            System.out.println("UUID-J: " + uuidJ);
            System.out.println("UUID-K: " + uuidK);
            Map<UUID, Boolean> map = new ConcurrentHashMap<>(5); // można by użyć Collections.newSetFromMap ale co by nikt sie nie czepiał że to niby "inny typ"
            map.put(uuidA, Boolean.FALSE);
            map.put(uuidB, Boolean.FALSE);
            map.put(uuidC, Boolean.FALSE);
            map.put(uuidD, Boolean.FALSE);
            int i = 0;
            Collection<UUID> done = new LinkedList<>();
            for (Map.Entry<UUID, ?> entry : map.entrySet()) {
                if (++i == 2) {
                    map.put(uuidE, Boolean.FALSE);
                    map.put(uuidF, Boolean.FALSE);
                    map.put(uuidG, Boolean.FALSE);
                    map.put(uuidH, Boolean.FALSE);
                    map.put(uuidJ, Boolean.FALSE);
                    map.put(uuidK, Boolean.FALSE);
                }
                done.add(entry.getKey());
            }
            System.out.println(done);
            // na mojej maszynie wynik to:
            // [81d97198-80b4-3390-b45f-60adc75c8a63, e05046d6-d3f8-3b1f-8159-7637ad3daf27, 90c4a243-b792-3ca1-83c4-c47588b6d635, fa6150a6-ddf1-3d5c-8de2-494d372448a7, 09566e24-ddfe-35c9-a5d9-ebb544a320c5
            // czyli
            // [D, B, A, H, C]
        }
    }
}

Ideone: 

http://ideone.com/rsGrda

 

 

@HAMMERxPL oceniamy by inni wiedzieli że nie powinni się na ciebie zdecydować.

1438614356923701010629.png

 

Opublikowano

Na gicie widze:

 

1.0 pojecia o finalnych zmiennych, BO PO CO TO KOMU  :yay:  :yay: 

2.Statyczne managery, idiotyzm.

3. PLACZE K***A PLACZE.

Player player = Bukkit.getPlayer(name);
users.remove(player.getUniqueId());
4. Jestem w klasie arena, i po nazwach zmiennych ucieklem. Naprwade, nie zartuje.
5. O C**J
 class PlayerJoinQuitListener
 
Nazewnictwo 1 klasa, to co? 
PlayerQuitJoinMoveEntityAttackDeathSuperUberJestemProEloProgramistaListener <-- Inc, 21 wiek.
 
6.Jak mozna kodzic bez lomboka? (Jezu, wracamy 30 lat wstecz)
 
Nie polecam wciaz, ten czlowike nie zna podstaw javy, daje sobie reke obciac ze on nawet nie wie czemu dal tam concurrent hash mapke 
 
Cos oceniac musimy, a na twoja osobe szkoda czasu, wiec zabralismy sie za ten "kod" bo pluginem tego nazwac nie mozna, a przynajmniej urazilbym swoje.
 
 
Eh.. przepraszam najlepszy JVM za czytanie jego kodu.. niech twoja dusza odejdzie w spokoju :(

<18:17:02> "MarmarukHD" został zablokowany permanentnie na serwerze przez "Otek" (Teamspeak przeznaczony dla ludzi.)

Opublikowano

 

Kurde, pisząc z Hamerem i udowadniając, że jesteście lepsi, zniżacie sie do jego poziomu, który na prawdę mnie już przeraża...

Po co wchodzicie z nim w kłótnie , każdy z tego forum wie, że ta osoba nic nie potrafi, zwykłe z3r0.

 

@AntyWarn

 

https://github.com/HAMMERxPL/cpvpDuel/blob/master/src/pl/centrumpvp/cpvpduel/managers/UserManager.java#L25

 

A jak ktoś sprawdzi gracza, którego nie ma na serwerze? Myśl pisząc.

 

To już było omawiane, plugin nie jest skończony i nie wiem PO CO GO OCENIACIE. Poza tym jak ktoś, kto sam sprzedaje kradzione i lekko przerobione pluginy może mówić takiej osobie jak ja, że nic nie potrafię? ^^ Jedyne co ty potrafisz robić to lekko modyfikować już gotowe pluginy.

 

@dekros123 Jak tylko będę miał więcej czasu to ogarnę ten plugin, na razie mam strasznie dużo pracy.

 

Update pluginu: https://github.com/HAMMERxPL/cpvpDuel

Nie do końca wiem jak dokładnie operować Githubem, także nie wińcie mnie za to. :v

Plugin wymaga cpvpAPI, jeśli ktoś będzie chciał wgrać cpvpDuel do siebie, to dodam klasy z API bezpośrednio do pluginu.

Jak mamy go nie oceniać to na c**j podajesz gita jak nic innego tam nie masz? XDDDDDDD

 

I tutaj widać jak Hammer zaczyna plątać się we własnych odpowiedziachodpowiedziach

 

1. https://github.com/HAMMERxPL/cpvpDuel/blob/master/src/pl/centrumpvp/cpvpduel/commands/DuelCommand.java#L50 Lepiej już Nir mogłeś tej zmiennej od Confgu nazwać? Trochę za krótka i zbyt czytelna jest ta nazwa :v

 

2. https://github.com/HAMMERxPL/cpvpDuel/blob/master/src/pl/centrumpvp/cpvpduel/managers/UserManager.java#L33 po co definiujesz tą zmienną jak jej i tak potem nie używasz? Nie lepiej put(p, new User(p)); ?

 

3. https://github.com/HAMMERxPL/cpvpDuel/blob/master/src/pl/centrumpvp/cpvpduel/data/Arena.java

Nie skomentuje nazw tyxh zmiennych XDDDDD

 

4. https://github.com/HAMMERxPL/cpvpDuel/blob/master/src/pl/centrumpvp/cpvpduel/listeners/PlayerJoinQuitListener.java#L16 patrz pkt 2

 

5. https://github.com/HAMMERxPL/cpvpDuel/blob/master/src/pl/centrumpvp/cpvpduel/Main.java#L32

 

WOW! Jak umisz takie kody robić (albo skopiować z dekompilatora xD) to prawdziwy z cb programista!

 

6. Wytłumasz dlaczego wszędzie używasz ConcurrentHashMap

Pisane na szybko z tel. Gdybym miał więcej czasu było by tego 2 razy więcej :3


sygnatura_mpc.png

 

Opublikowano

 

Na gicie widze:

 

1.0 pojecia o finalnych zmiennych, BO PO CO TO KOMU :yay: :yay:

2.Statyczne managery, idiotyzm.

3. PLACZE K***A PLACZE.

Player player = Bukkit.getPlayer(name);

users.remove(player.getUniqueId());

4. Jestem w klasie arena, i po nazwach zmiennych ucieklem. Naprwade, nie zartuje.

5. O C**J

class PlayerJoinQuitListener

 

Nazewnictwo 1 klasa, to co?

PlayerQuitJoinMoveEntityAttackDeathSuperUberJestemProEloProgramistaListener <-- Inc, 21 wiek.

 

6.Jak mozna kodzic bez lomboka? (Jezu, wracamy 30 lat wstecz)

 

Nie polecam wciaz, ten czlowike nie zna podstaw javy, daje sobie reke obciac ze on nawet nie wie czemu dal tam concurrent hash mapke

 

Cos oceniac musimy, a na twoja osobe szkoda czasu, wiec zabralismy sie za ten "kod" bo pluginem tego nazwac nie mozna, a przynajmniej urazilbym swoje.

 

 

Eh.. przepraszam najlepszy JVM za czytanie jego kodu.. niech twoja dusza odejdzie w spokoju :(

. uzywanie lomboka - idiotyzm.
Opublikowano

Śmieszne są te wasze komentarze. xD Czepiacie się nazewnictwa zmiennych (które tak naprawdę nie mają żadnego znaczenia), nie znaleźliście żadnego błędu (oprócz Otka, ale ten mały błąd miałem poprawiony już wczoraj).

 

ConcurrentHashMap używam, bo gdzieś przeczytałem, że jest szybsza od zwykłej, poza tym to też raczej nie ma większego znaczenia.

 

Przypominam, to nie jest temat do oceny pluginu.

4L0M4l0.png

Opublikowano

Śmieszne są te wasze komentarze. xD Czepiacie się nazewnictwa zmiennych (które tak naprawdę nie mają żadnego znaczenia), nie znaleźliście żadnego błędu (oprócz Otka, ale ten mały błąd miałem poprawiony już wczoraj).

ConcurrentHashMap używam, bo gdzieś przeczytałem, że jest szybsza od zwykłej, poza tym to też raczej nie ma większego znaczenia.

Przypominam, to nie jest temat do oceny pluginu.

Nie oceniamy pluginu tylko Twoje umiejętności.

Jak wrzucasz kod na gita nazywaj te zmienne normal ie bp nie lażdy jest tak elitarnym programistą jak Ty i nie każdy ogarnie takie nazwy.


sygnatura_mpc.png

 

Opublikowano

@ __AHA__

Milej pracy w corpo, gdy zostaniesz wyjebany po 2 dniach, jak zobacza ze robisz gettery czy settery recznie xD

@ mikigal

Bylem pierwszy, nie kopiuj moich jego bledow hahaha <3

@HAMMERxPL

Concurrent nie jest szybszy i nigdy nie bedzie.

 

Jeszcze sobie pozwolilem:

https://github.com/HAMMERxPL/cpvpDuel/blob/master/src/pl/centrumpvp/cpvpduel/managers/ArenaManager.java

 

Metoda registerArena, nie nie robimy w ten sposob "registerow" po prostu 

1. Nie wypada

2. Brzydko to wyglada

3. Nazwa areny w obiekcie moze byc pokolorowana, a wtedy nie bedzie tak ladnie to w mapce : >

 

Dopowiem jeszcze za ten kod nie nalezy sie zadna zlotowka, naprawde wolalbym se strzelic w noge niz miec taki kod na serwerze.

<18:17:02> "MarmarukHD" został zablokowany permanentnie na serwerze przez "Otek" (Teamspeak przeznaczony dla ludzi.)

Opublikowano

@de76 @__AHA__

Nah, lombok jest kwestią sporną, nie każdy go lubi, nie każdy go chce, nie każde korpo używa.

 

Więc to że nie używa lub używa lomboka... nic nie znaczy, to tylko preferencja programisty, a lombok w takich projektach jest wręcz zbędny, bo nie ma tutaj za dużo data obiektów, w webie jest ich masa i tam częściej się widuje - ale często tylko w data obiektach - ale to znowu zależy od projektu/korpo/blablabla

 

Ja sam preferuje bez, wolałbym już np kotlina użyć, ale kotlin boli ze względu na brak package scope... Ale jak gdzieś mi powiedzą że mam używać (lomboka), to będę.

 

Więc o to hammera się czepiać nie zamierzam

 

@HAMMERxPL

Co do wydajności concurrent:

source:

http://stackoverflow.com/questions/1378310/performance-concurrenthashmap-vs-hashmap

 

 

 

XRbrk.pngGLb0o.pngPvgjO.png

 

 

Ale też wydajność takich operacji w tak małej skali jak w takim pluginie nie ma znaczenia.

Ale jest różnica w działaniu tych mapek co już opisałem wyżej, no i z pamięcią też bywa różnie, ale to też za mało obiektów by coś poczuć. 

1438614356923701010629.png

 

Opublikowano

No jestem bardzo ciekawy co takiego możesz mi zarzucić...

Co do projektu, gitignore jest, a plików class nie ignoruje, .project i .classpath też jest. Hmmm wiesz po co to jest?
Brak build managera, bez tego nie możesz nazwać się dobrym programistą. Trafnym porównaniem będzie żołnierz bez karabinu. No tak, jest, ale nie tak się to powinno robić.

Jak robisz projekt do prezentacji to na miłość boską zrób to porządnie.

u5niwrQ.png

Opublikowano

No jestem bardzo ciekawy co takiego możesz mi zarzucić...

 

Co do projektu, gitignore jest, a plików class nie ignoruje, .project i .classpath też jest. Hmmm wiesz po co to jest?

Brak build managera, bez tego nie możesz nazwać się dobrym programistą. Trafnym porównaniem będzie żołnierz bez karabinu. No tak, jest, ale nie tak się to powinno robić.

 

Jak robisz projekt do prezentacji to na miłość boską zrób to porządnie.

Ja nie chronię ewidentnych oszustów i nie próbuję nikogo naciągać na kasę. No i powtarzam, że to nie jest temat o tobie, jak chcesz dyskutować na takie tematy to nie tutaj.

 

Miałem udostępnić kod i to zrobiłem, nie miałem robić niczego więcej z tym pluginem. Czepiacie się takich rzeczy, że głowa mała. Złe nazewnictwo, sposób pisania, wcześniej nawet formatowanie ( xD). Rozumiem, że możecie mieć kompleksy, jak patrzycie na kogoś takiego jak ja, ale gdzie jest granica? 

 

P.S. To nie jest temat o prezentacji pluginu, też ciężko wam to zrozumieć. Poza tym na githubie chyba można dodawać commity, więc jak tak bardzo was interesuje ten plugin, to droga wolna.

4L0M4l0.png

Opublikowano

"Ja nie chronię ewidentnych oszustów i nie próbuję nikogo naciągać na kasę." Prosiłbym bez fałszywych oskarżeń. Albo zaczynasz temat i go kończysz, albo morda w kubeł.

Tak jeszcze przeglądam ten twój plugin, na github:

 

https://github.com/HAMMERxPL/cpvpDuel/blob/master/src/pl/centrumpvp/cpvpduel/data/User.java#L30 Tego nie rozumiem. Brak kontroli danych. 
 

Tak samo setUUID, tego nie powinno tutaj być. Kolejny brak kontroli danych.

 

UUID uid = ...
UserManager.getUser(uid).getUUID() takie wykonanie zawsze powinno zwrócić to samo uuid, a przez setUUID może być inaczej. Zrobiłeś gettery i settery z automatu dla wszystkiego co nie jest dobre!

 

https://github.com/HAMMERxPL/cpvpDuel/blob/master/src/pl/centrumpvp/cpvpduel/data/User.java#L54 Tutaj lepiej by było jakbyś wykonał metodę addRequest(player.getUniqueId());

 

UserManager też mamy getter dla mapy, kolejny brak kontroli danych.

Klasa Arena też mi się nie podoba. Jakoś tak dziwnie łączysz dane z funkcjonalnością.

Gdzie SQL albo coś bardziej zaawansowanego? W temacie napisałeś bardzo dużo. A tutaj mamy 2 mapki i 2 klasy z danymi. 
 

2,5/10

u5niwrQ.png

Opublikowano

@ kamcio96

Bez sensu, odpowiem CI za niego

"PRZECIEZ TO NIE TEMAT DO ROZMAWIANIA O GITHUBIE! JA GO TYLKO PODALEM NO BO MOWILISCIE ZE NIE SKOMPILUJE PLUGINU, BLA BLA BLA BLA "

 

@Rayso

Zamknij ten temat w koncu, bo to juz jest jeden wielki zart

 

 

Nie polecam tego czlowieka, strasznie falszywy toksczyny czlowiek.

<18:17:02> "MarmarukHD" został zablokowany permanentnie na serwerze przez "Otek" (Teamspeak przeznaczony dla ludzi.)

Opublikowano

Odświeżam ocenę programisty. 2/10

Bardzo niepewne źródło pluginu. Autor tematu używa często kodu którego nie rozumie, nie wie co robi.

u5niwrQ.png

Opublikowano

Odświeżam ocenę programisty. 2/10

Bardzo niepewne źródło pluginu. Autor tematu używa często kodu którego nie rozumie, nie wie co robi.

 

Odśwież swój mózg bo Ci go chyba brakuje...

 

 

@topic

 

Polecaaaaaaaam wykonał zlecenie solidnie tanio i szybko

Opublikowano

Odświeżam ocenę programisty. 2/10

Bardzo niepewne źródło pluginu. Autor tematu używa często kodu którego nie rozumie, nie wie co robi.

Podaj choć skrawek kodu, którego nie rozumiem. "Niepewnym źródłem pluginu" nazwałbym raczej ciebie i twoich małpich kolegów.

 

 

Odświeżam ocenę programisty. 2/10

Bardzo niepewne źródło pluginu. Autor tematu używa często kodu którego nie rozumie, nie wie co robi.

 

Odśwież swój mózg bo Ci go chyba brakuje...

 

 

@topic

 

Polecaaaaaaaam wykonał zlecenie solidnie tanio i szybko

 

Dzięki, gość nie ma co odświeżać.  ;)

4L0M4l0.png

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...