←  Pluginy AMXX

AMXX.pl: Support AMX Mod X i SourceMod

»

Testowy VIP [integracja z VIP Generatorem]

  • +
  • -
MocnyAmper - zdjęcie MocnyAmper 12.04.2022

WItajcie,

Chciałbym Wam przedstawić drugi plugin, który zmodyfikowałem na swoje potrzeby. Jest to dość mocno przerobiony plugin speedkill'a z tego tematu: https://amxx.pl/topi...58-testowy-vip/

 

Co zostało zmienione?

- Plugin przyznaje VIP-a na STEAM_ID (lub VALVE_ID, jeśli ns)

- Plugin "pamięta" kiedy zaczeliśmy testowanie VIP-a więc reconnect nie przerywa tego procesu, choć czas leci dalej nawet gdy ktoś się rozłączy

- Kiedy wpiszesz ponownie komendę /viptest, plugin rozróżnia czy aktualnie posiadasz już VIP-a (testowego lub zwykłego) czy Twój okres testowy się skończył

- Plugin może wyświetlać reklame nakłaniającą do przetestowania VIP-a (treść i okres czasu do ustawienia w cvarach)

- Reklama o której mowa punkt wyżej przestaje być wyświetlana graczowi gdy wykorzysta (rozpocznie) swój okres próbny

- Plugin współpracuje z VIP Generatorem - ustawia i odbiera przywileje VIP-a bez konieczności przeładowania mapy czy reconnectu gracza

- Plugin wyświetla komunikat informujący ile czasu do końca okresu testowego pozostało graczowi (owy komunikat dostosowuje się do ilości czasu, tzn, jeśli zostało 15 minut i 10 sekund to tyle wyświetli, jeśli tylko 30 sekund to nie będzie już wyświetlał ilości minut, etc. - maksymalna długość to tygodnie).

 

Cvary:

amx_viptest_czas "900.0" //czas w sekundach, na który VIP zostanie przyznany

amx_viptest_prefix "[TwojaNazwa] " //prefix, który będzie się pojawiał przed wiadomościami wysyłanymi przez plugin

amx_viptest_store "adressieci.pl/sklep" //adres sklepu, pod którym gracz może kupić vipa

amx_viptest_adson "1" //1 - włącza reklamy na czacie, 0 - wyłącza

amx_viptest_adstime "90.0" //co ile sekund plugin ma wyświetlać reklame (treść reklamy to: amx_viptest_prefix  + amx_viptest_advtresc)

amx_viptest_advtresc "przetestuj pan vipa /viptest" //treść reklamy - tutaj podaj bez prefixu

amx_viptest_timeron "1" //1 - włącza timer, który pokazuje ile czasu pozostało do końca testowania VIP-a

amx_viptest_timertime "75" //co ile sekund pokazywać informacje ile sekund pozostało do końca VIP-a?

 

Integracja z VIP Generatorem:

Należy przerobić plik SMA wygenerowany przez VIP Generator i dodać dwa natywy, np nad linijką public client_authorized(id , const authid[]){

public plugin_natives(){
	register_native("start_vip", "StartVIP", 1);
	register_native("stop_vip", "StopVIP", 1);
}
public StartVIP(id){
	client_authorized(id,"")
}
public StopVIP(id){
	client_disconnect_vip(id)
}

Teraz kompilujemy na nowo plugin VIP-a i wgrywamy na serwer. Osoby korzystające z AMX-a w wersji < 1.8.3 powinny w miejsce client_authorized(id,"") wstawić client_authorized(id) .

 

Plugin przeszedł u mnie na serwerze wstępne testy, ale ręki sobie nie dam uciąć, że jest całkowicie pozbawiony błędów :D Testujcie, zobaczymy ;)

 

 

Załączone pliki

Odpowiedz

  • +
  • -
MocnyAmper - zdjęcie MocnyAmper 12.04.2022

Drobna poprawka kosmetyczna, niech moderator zastąpi plik ;)

Załączone pliki

Odpowiedz

  • +
  • -
Deus Vult - zdjęcie Deus Vult 13.04.2022

Na wstepie widze ze w kompilatorze zostanie wywalony error. Co robi funkcja start_vip skoro nie jest nawet zaimplementowana?

Odpowiedz

  • +
  • -
MocnyAmper - zdjęcie MocnyAmper 13.04.2022

Gdzie widzisz ten error? Zmodyfikowałeś plugin VIPa?

Odpowiedz

  • +
  • -
Deus Vult - zdjęcie Deus Vult 13.04.2022

Fakt nie zauważyłem kodu. Zastanawia mnie po co natyw do funkcji client_authorized, która jest wywoływana zawsze jak gracz dołączy do serwera. Jaki jest w tym cel?
Odpowiedz

  • +
  • -
MocnyAmper - zdjęcie MocnyAmper 13.04.2022

Czytałeś mój post? :D
Tak jakoś wyszło, że wywołuję akurat client_authorized, ale to bez większego znaczenia, możnaby się gdzieś indziej "podłączyć". A po co? A no po to, żeby zmusić plugin VIPa do przeładowania vipów i nadania uprawnień vipa użytkownikowi, który chce to przetestować, bez zmiany mapy (najpierw plugin ustawia użytkownikowi flage T).
Tak samo z tym drugim natywem - ale ten akurat odbiera użytkownikowi uprawnienia vipa.
Odpowiedz

  • +
  • -
Deus Vult - zdjęcie Deus Vult 13.04.2022

Od tego używamy forwardów. Oczywiście plugin jest poprawny ale nieoptymalny. Zdecydowanie jeżeli ktoś używa większej ilości plugów (np. do modów jak jb/csgo) to odradzam korzystanie z tego kodu.


Użytkownik Devastator edytował ten post 13.04.2022 16:16
Odpowiedz

  • +
  • -
Jeden z Anonimowych - zdjęcie Jeden z Anonimowych 13.04.2022

Od tego używamy forwardów. Oczywiście plugin jest poprawny ale nieoptymalny. Zdecydowanie jeżeli ktoś używa większej ilości plugów (np. do modów jak jb/csgo) to odradzam korzystanie z tego kodu.

Deva, zamiast krytykować to jest jego pierwszy plugin ;). Sam nie lepsze robisz, a udowodniłeś to swoją paczka ,,Jailbreak" w której z tego co słyszałem są luki. Ale jak to się mówi hajs musi się zgadzac 

Odpowiedz

  • +
  • -
MocnyAmper - zdjęcie MocnyAmper 13.04.2022

Generalnie to taki sposób realizacji tego znalazłem na tutejszym forum, także.. :E
Pewnie można w nim to i owo poprawić, ale i tak działa lepiej niż jego pierwowzór, a na pewno jest mniej dziurawy i ma więcej funkcjonalności.
Odpowiedz

  • +
  • -
MocnyAmper - zdjęcie MocnyAmper 13.04.2022

I pozatym, jaka to właściwie różnica czy użyję natywu czy forwardu? Może pod względem "sztuki" faktycznie kogoś to kole w oczy, ale czy pod względem optymalizacji jest to aż taki problem że 'odradzasz używanie tego kodu'? Zwłaszcza, że nie jest to plugin z gatunku tych, które są ciągle w użyciu (jest to raczej opcjonalna funkcjonalność). Niemniej, jeśli potrafisz to zoptymalizuj ;)

Odpowiedz

  • +
  • -
Deus Vult - zdjęcie Deus Vult 13.04.2022

 

Od tego używamy forwardów. Oczywiście plugin jest poprawny ale nieoptymalny. Zdecydowanie jeżeli ktoś używa większej ilości plugów (np. do modów jak jb/csgo) to odradzam korzystanie z tego kodu.

Deva, zamiast krytykować to jest jego pierwszy plugin ;). Sam nie lepsze robisz, a udowodniłeś to swoją paczka ,,Jailbreak" w której z tego co słyszałem są luki. Ale jak to się mówi hajs musi się zgadzac 

 

To że paczki były sprzedawane przez osoby trzecie nie wnosi nic do mojej egzystencji. Osobiście dałem te paczkę jednej osobie (prosto z serwera gdzie nie występowały żadne bugi), a widziałem dziesiątki serwerów już z tą paczką.

Odpowiedz

  • +
  • -
Jeden z Anonimowych - zdjęcie Jeden z Anonimowych 14.04.2022

 

 

Od tego używamy forwardów. Oczywiście plugin jest poprawny ale nieoptymalny. Zdecydowanie jeżeli ktoś używa większej ilości plugów (np. do modów jak jb/csgo) to odradzam korzystanie z tego kodu.

Deva, zamiast krytykować to jest jego pierwszy plugin ;). Sam nie lepsze robisz, a udowodniłeś to swoją paczka ,,Jailbreak" w której z tego co słyszałem są luki. Ale jak to się mówi hajs musi się zgadzac 

 

To że paczki były sprzedawane przez osoby trzecie nie wnosi nic do mojej egzystencji. Osobiście dałem te paczkę jednej osobie (prosto z serwera gdzie nie występowały żadne bugi), a widziałem dziesiątki serwerów już z tą paczką.

 

Dokładnie z ,,Csowicze" chciałeś napisać, bo wydaję mi się że oni pierwsi zakupili twoją paczke, a przy sprzedaży dawałeś backup w której występowały bugi i zreszta na własne oczy widziałem konsole. Oczywiście nie mówie że to było wczoraj, czy dzisiaj.. Ale dobrze pamiętam co widziałem + dodam rownież że osoby kontaktowały się z toba w celu naprawienia tego to zero odzewu było z twojej strony. W sumie nie ma co się dziwić ale z amxx'a już nic nie bedzie nie wróci to do takiej formy jaka była kiedyś + te serwery które upadają coraz szybciej bo smieszne cssetti nie zmienią nic w kierunku limitu kwoty reklamy, a ludzie dalej beda pchać swoje cięzko zarobione pieniadze.. A oni tylko zacieraja rączki. 

Odpowiedz

  • +
  • -
MocnyAmper - zdjęcie MocnyAmper 14.04.2022

Panowie, załatwcie sobie to na PW ;)
Odpowiedz