←  Pluginy AMXX

AMXX.pl: Support AMX Mod X i SourceMod

»

Ruletka

Gość_21977_* 24.12.2012

Ruletka
Pewnie nieraz chciałeś zainstalować na swojego 4funa ruletkę, ale nie mogłeś odnaleźć?
Odnalazłeś, ale mimo to nie podoba Ci się konfiguracja? Udało Ci się skonfigurować kod,
ale ruletka okazała się niewypałem? Gracze blokowali się w ścianie? Tracili kasę, nie mając jej?
Bomba znikała z mapy, przez co nie mogłeś wykonać celów mapy? A może po prostu edycja
Twojej ruletki z dziesiątkami tysięcy linijek Cię przerasta i czujesz duży dyskomfort w edycji?

Nadchodzi Ruletka od Benia :)
Od teraz każda nagroda w twojej ruletce, to osobny plugin.
Przyjemne API pozwoli kompleksowo i w czytelny sposób edytować nagrody.
Dowolnie możesz konfigurować swoją ruletkę, ustalając cvary nagród czy ruletki,
a instalacja nowej nagrody ogranicza się jedynie do instalacji nowego pluginu.
Stworzenie i dodanie własnej nagrody nie sprawi Ci żadnego problemu.

Nie! dla powtarzających się nagród
Możesz już zapomnieć o losowaniu co chwilę tej samej nagrody dzięki zaawansowanemu
systemowi ograniczania losowania tej samej nagrody w krótkich odstępach czasu.

Nie! dla bezcelowych nagród
Nie otrzymasz już więcej nagrody, która nie przyniesie skutku, jak strata pieniędzy, których
nie masz, a wszystko dzięki ustawionym wymaganiom w SMA dla poszczególnych nagród.

Większe szanse dla wybranych nagród
Każda nagroda może posiadać swoją własną moc, czyli
iloczyn szansy na wylosowanie wobec innych nagród.

System karmy
Ciągłe otrzymywanie dobrych bądź złych nagród zostanie dzięki karmie odwrócone,
do czasu wyrównania karmy. Koniec z ciągle złymi bądź ciągle dobrymi nagrodami.

opis
Ruletka to plugin, który pozwala na wylosowanie przez graczy nagrody po wpisaniu na say /ruletka

Komendy, które aktywują ruletkę, umieszczone są w pliku amxmodx/configs/roulette_keywords.ini
W każdej linii należy umieścić jedną komendę, średnik na początku linijki, nie bierze jej pod uwagę.
Komendy będą działać zarówno wpisane wprost w konsolę, jak i przepisane, bądź poprzedzone slashem
na sayu lub team_sayu. Zmiany dokonane w tym pliku konfiguracyjnym będą widoczne po zmianie mapy.

Dziecinnie proste
W celu ułatwienia edycji i możliwości kompleksowego zarządzania nagrodami, każda nagroda
pisana jest jako osobny plugin, zwyczajowo nazwany jako roulette_nazwa_nagrody.amxx

Multizadaniowość
Każdy gracz może użyć ruletki maksymalnie raz na rundę.
Wielu graczy może grać równocześnie w ruletkę.

(Nie)Odpłatność ruletki
Ustawienie cvaru roulette_prize na dodatnią kwotę, pozwoli na ustalenie odpłatności
ruletki, czyli gra w ruletkę będzie obarczona opłatą w wysokości ustalonej tym cvarem.

Deweloperskie Menu nagród
Ruletka automatycznie dodaje do Menu Administracyjnego (amxmodmenu) Menu "Ruletka".
Menu pozwala na testowanie nowych nagród na Twoim serwerze. Wystarczy wybrać daną
nagrodę i zostanie ona przyznana bez sprawdzania wymogów ani bez odbierania pieniędzy.

screenshot
2012-12-25_00009.jpg

Przykładowe, automatycznie wygenerowane menu deweloperskie w amxmodmenu:
http://youtu.be/VT-pa4L6YSk

Gdy nie żyjemy, bądź oglądamy grę jako obserwatorzy, wywołanie danej nagrody
z menu, spowoduje przyznanie jej graczowi, którego właśnie obserwujemy.

Wywołanie nagrody "Bandyci" na widzu z przykładowego menu deweloperskiego:
http://youtu.be/WyHyKYKgObw

cvary
roulette_prize 1000 // <0|cena> koszt zagrania w ruletkę (w dolarach) Ustawienie tego cvaru na 0, wyłączy odpłatność ruletki
roulette_ban 20 // <0|liczba> liczba najbliższych losowań, dla których wylosowana nagroda nie będzie brana pod uwagę w losowaniu
roulette_sv_speed 1 // <0|1> jeśli ustawione na 1, ustawiony zostanie cvar sv_maxspeed na 1000, umożliwiając stosowanie bonusów szybkości
roulette_cl_speed 1 // <0|1> jeśli ustawione na 1, cvary prędkości graczy zostaną ustawione na 1000, umożliwiając stosowanie bonusów szybkości
roulette_karma 250 // <-1|liczba> poziom karmy, po przekroczeniu którego zostanie wylosowana nagroda o przeciwnej karmie. -1 wyłącza system karmy


wymagane moduly
amxmodx
amxmisc
celltrie
colorchat
cstrike
fakemeta
hamsandwich
tutor


inne informacje
Autor: Paweł "benio101" Benetkiewicz
Licencja: PAL

download
Załączony plik  roulette.rar   1,65 MB   858 Ilość pobrań
Opcjonalne pliki do wstawienia na fastDL
Załączony plik  fastDL.rar   1,12 MB   409 Ilość pobrań
instalacja
Instalacja ruletki
Copy & Play: Wypakowujemy zawartość paczki do katalogu cstrike. Gotowe!
Nie trzeba robić nic ponadto, nawet dopisywać pluginu do plugins.ini. Wystarczy zmienić mapę.

Instalacja nagród (tylko dla dodatkowych nagród spoza tej paczki)
Wszystkie pliki nagród (*.amxx) kopiujemy do katalogu addons/amxmodx/plugins
Do pliku addons/amxmodx/configs/plugins-roulette.ini dodajemy ich nazwy wraz z końcówką .amxx
Jeśli korzystasz z WinSCP i chcesz pobrać listę nazw plików do skopiowania, wystarczy, że
zaznaczysz pliki nagród do ruletki, klikniesz PPM › File Names › Copy to Clipboard. Wtedy
wystarczy wkleić gotową listę nagród do ruletki do pliku addons/amxmodx/configs/plugins-roulette.ini

Istotna kolejność (tylko przy instalacji dodatkowych nagród spoza tej paczki)
Zwróć uwagę, by główny plugin roulette.amxx był wpisany na samej górze w pliku konfiguracyjnego plugins-roulette.ini
Dopiero pod wpisem roulette.amxx umieszczaj wpisy plików z nagrodami do ruletki, inaczej się one nie załadują.

Ruletka.WinSCP.png

Spadochron do ruletki
Standardowy spadochron jest niekompatybilny z większością pluginów i modyfikacji związanych z grawitacją.
Zastąpienie dotychczasowego spadochronu, pluginem Spadochron by H.RED.ZONE, rozwiąże ten problem.
Grawitacja nie będzie się resetowała po użyciu spadochronu, a spadochron graczy niewidzialnych także będzie niewidzialny.

komendy
Poniżej przedstawiam opis dla programistów, którzy chcieliby edytować / tworzyć własne nagrody.
Informacje deweloperskie:
Spoiler


Changelog
Spoiler

(24.12.2012 22:31):
Wybaczcie, że w 2 postach, ale się w jednym nie zmieściło O:)

Użytkownik Benio101 edytował ten post 06.03.2013 16:08
update do v. 6.3.2
Odpowiedz

Gość_21977_* 24.12.2012

Opis domyślnych nagród:
Spoiler

Użytkownik Benio101 edytował ten post 06.03.2013 15:56
drobne techniczne
Odpowiedz

  • +
  • -
Droso - zdjęcie Droso 24.12.2012

Najdłuższy post ever? :D, ale myślałem, że to jeden post.
Na prawdę kawał dobrej roboty, teraz trzeba tworzyć :)
Dobra trochę się zapoznałem, największy plus to chyba MOC i wymagania, roxx ;P
@edit 2 Niektóre opisy też rządzą ;P
@edit 3 Przydałby się może natyw wysyłający wiadomość w ColorChat i Tutor razem, ale np. do wszystkich oprócz jakiegoś id (jak dajemy nagrode) i też może do określonego id (lub grupy Teamu), bo tak to trzeba pętle ciągle tworzyć ;P
(24.12.2012 22:38):
No właśnie w jednym się nie zmieściło, musiałem podzielić :(
(25.12.2012 00:45):
Ad. edit3. Pomyślę nad tym, myślę, że byłoby to dość
funkcjonalne, postaram się w wolnym czasie dopisać,
choć nie wiem jeszcze, czy w formie natywu. Bardziej
bym to widział jako stock dołączany do pliku INC.

Użytkownik HubertTM edytował ten post 24.12.2012 22:51
Odpowiedz

  • +
  • -
EnerQ - zdjęcie EnerQ 24.12.2012

Dobra robota.

Fajnie zrobione ponieważ każdy los jest innym pluginem dlatego nie trzeba wgrywać wszystkiego. Tylko można wybrane.

Łap + za robotę.
Odpowiedz

  • +
  • -
QuahodronN - zdjęcie QuahodronN 24.12.2012

Brawo, takiej ruletki to świat nie widział :D
Idealny prezent na święta :^D
Odpowiedz

  • +
  • -
TakiJedenPan - zdjęcie TakiJedenPan 25.12.2012

Ohoho.. ;d Nawet Chuck Norris by się zawstydził. Brawo.
Odpowiedz

  • +
  • -
Fili:P - zdjęcie Fili:P 25.12.2012

Wtedy dochodzi do próby zresetowania mocy odznak.

Odznak ?
(25.12.2012 09:09):
Za dużo BF2 edytuję, widać :)
BTW. Poprawione.
Odpowiedz

  • +
  • -
Split - zdjęcie Split 25.12.2012


benio101, ile ci to zajeło?
Dni czy godziny?

(25.12.2012 18:23):
Temat pisałem ok. 6 godzin.
Licząc przerwy, 2.5 doby.
Odpowiedz

  • +
  • -
freetu - zdjęcie freetu 26.12.2012

wooow świetna robota. Dużo pracy musiałeś w ten plugin włożyć.
gratuluje, na pewno sprawdzę ;)
dzięki
Odpowiedz

  • +
  • -
Andrzejek - zdjęcie Andrzejek 26.12.2012

Łap +

Należy Ci się :D
Odpowiedz

  • +
  • -
sharkowy - zdjęcie sharkowy 27.12.2012

Nie wiem co to jest i ile bajerów, bo jak spojrzałem na długość postów to odechciało mi się czytać, więc za to dałem RePóTaCjE :crazy:
Odpowiedz

  • +
  • -
Harsay - zdjęcie Harsay 04.01.2013

Brawo! Brawo! Brawo! Jestem pod wrażeniem :D
Odpowiedz

  • +
  • -
Batonik - zdjęcie Batonik 10.01.2013

Nagród z ruletki (plików .amxx) nie da się ściągnąć wyskakuję błąd.
(10.01.2013 14:16):
Nagrody trzeba kompilować lokalnie.
Odpowiedz

  • +
  • -
Harsay - zdjęcie Harsay 15.01.2013

Zastanawiam się czemu nie zrobiłeś opisów w stałych wewnątrz nagród a odczytywania ich z poziomu głównego pluginu? Byłaby możliwość włączenia/wyłączenia tutora itp.
Odpowiedz

Gość_21977_* 15.01.2013

Zamierzam w następnej wersji ruletki (a jestem w trakcie tworzenia wersji wielojęzycznej) dodać taką obsługę zgodnie z sugestią Huberta.
A teraz nie będę za bardzo rozpisywał się, bo o 18. mam zajęcia na uczelni, a po lodzie się ciężko rowerem jedzie, więc muszę śmigać, Na razie.
Odpowiedz

  • +
  • -
Harsay - zdjęcie Harsay 18.01.2013


L 01/18/2013 - 17:09:39: [AMXX] Run time error 10 (plugin "ruletka.wygrane.zycie.amxx") (native "message_begin") - debug not enabled!
L 01/18/2013 - 17:09:39: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 01/18/2013 - 17:10:18: Plugin called message_begin with an invalid message id (0).
L 01/18/2013 - 17:10:18: [AMXX] Run time error 10 (plugin "ruletka.cichobiegi.amxx") (native "message_begin") - debug not enabled!
L 01/18/2013 - 17:10:18: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 01/18/2013 - 17:10:49: Plugin called message_begin with an invalid message id (0).
L 01/18/2013 - 17:10:49: [AMXX] Run time error 10 (plugin "ruletka.blyskawica.amxx") (native "message_begin") - debug not enabled!
L 01/18/2013 - 17:10:49: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 01/18/2013 - 17:10:56: Plugin called message_begin with an invalid message id (0).
L 01/18/2013 - 17:10:56: [AMXX] Run time error 10 (plugin "ruletka.rany.amxx") (native "message_begin") - debug not enabled!
L 01/18/2013 - 17:10:56: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
L 01/18/2013 - 17:11:26: Plugin called message_begin with an invalid message id (0).
L 01/18/2013 - 17:11:26: [AMXX] Run time error 10 (plugin "ruletka.schabowy.amxx") (native "message_begin") - debug not enabled!
L 01/18/2013 - 17:11:26: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).

Większość wygranych wywala ten error
(18.01.2013 19:56):
Mógłbyś, proszę, podać logi błędów po dopisaniu "debug" za nazwą nagród w nagrodach?
Odpowiedz

  • +
  • -
Harsay - zdjęcie Harsay 19.01.2013

Wybacz mi, to errory przez moją modyfikację aby obsługiwało natywy pluginu unlimited money. Plugin ten był umiejscowiony w złym miejscu co powodowało errory.
Ale przy okazji zaproponuję abyś wprowadził obsługę tego pluginu (unlimited_money.amxx) tylko nie wiem czy tutaj na forum jest wersja z natywami.

Cóż namieszałem teraz w temacie.
Dzieje się tak:
Przez dłuższy czas serwer działa normalnie. Po kilku godzinach BAM error logi i crash serwera.
Przy każdym pluginie nagrody jest taki error

L 01/19/2013 - 14:56:21: Plugin called message_begin with an invalid message id (0).
L 01/19/2013 - 14:56:21: [AMXX] Displaying debug trace (plugin "ruletka.slon.amxx")
L 01/19/2013 - 14:56:21: [AMXX] Run time error 10: native error (native "message_begin")
L 01/19/2013 - 14:56:21: [AMXX]    [0] tutor.inc::tutorMake (line 55)
L 01/19/2013 - 14:56:21: [AMXX]    [1] ruletka.slon.sma::execute_nagroda (line 35)
L 01/19/2013 - 14:56:21: [AMXX]    [2] ruletka.slon.sma::execute_nagroda (line 34)

Wygląda na to że jest problem z tutorem i colorchatem.
linia 34 i 35 z pluginu

ColorChat(id, GREY, "Slon. Nisko skaczesz ^x01[^x04RULETKA^x01]");
tutorMake(id, TUTOR_BLUE, 10.0, "Nisko skaczesz")

Linia 55 tutora:
message_begin(MSG_ONE_UNRELIABLE,g_MsgTutor,_,id);

(29.01.2013 08:11):
Problemem jest zapewne pobieranie numeru identyfikacyjnego wiadomości Tutora w funkcji plugin_natives, gdzie numer wiadomości nie zawsze jest już znany, przez co zwracana jest wartość 0 i próba jej wywołania kończy się niepowodzeniem wysłania wiadomości i takimi właśnie logami.

Najbliższa aktualizacja będzie zawierała poprawioną wersję, na chwilę obecną sugeruję przenieść tutorInit() z plugin_natives do plugin_init
Odpowiedz

  • +
  • -
Harsay - zdjęcie Harsay 21.01.2013

Usunąłem tutor, teraz edytowałem żeby sprawdzało czy wysyła do gracza podłączonego oraz czy nie jest hltv ponieważ wywalało errory Index out ouf bound 4

Znalazłem błąd w formatowaniu tekstu w pluginie kasyno.
ColorChat(i, RED, "%s prazegral w kasynie %d dolarow ^x01[^x04RULETKA^x01]", get_pcvar_num(c_kasyno));

Zjadłeś name :)

ColorChat(i, RED, "%s prazegral w kasynie %d dolarow ^x01[^x04RULETKA^x01]", name, get_pcvar_num(c_kasyno));

I przez taki błąd mój serwer szlak trafiał :)

@edit

Błąd podobny w pluginie granaty:

ColorChat(i, GREEN, "%s ma teraz %d HE, %d FB i %d SG ^x01[^x04RULETKA^x01]", he, fb, sg);

Znowu zjadłeś name

ColorChat(i, GREEN, "%s ma teraz %d HE, %d FB i %d SG ^x01[^x04RULETKA^x01]", name, he, fb, sg);

Prawdopodobnie w kilku innych też tak może być.
Użytkownik Harsay edytował ten post 21.01.2013 12:23
Odpowiedz

  • +
  • -
rhm - zdjęcie rhm 24.01.2013

No ja wgrałem i crashuje serwer.

Logi amxx
http://wklejto.pl/147170

Prosił bym o pomoc bo naprawdę fajny plugin :)
(29.01.2013 08:12):
wgraj plugin get_seconds_left, załączony na końcu pierwszego posta w temacie.
Odpowiedz

  • +
  • -
Assasinek - zdjęcie Assasinek 31.01.2013

Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team

ruletka.awp.sma(6) : fatal error 100: cannot read from file: "ruletka"
(31.01.2013 20:12):
Wgraj plik ruletka.inc do katalogu scripting/include i skompiluj lokalnie.
Albo poczekaj na gotową paczkę do pobrania.
Odpowiedz