Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Maruda515 - zdjęcie

Maruda515

Rejestracja: 16.03.2013
Aktualnie: Nieaktywny
Poza forum Ostatnio: 07.04.2013 23:38
-----

#531115 [ROZWIĄZANE] Nie wyświetla tekstu.

Napisane przez K!113r w 03.04.2013 19:17

client_cmd() nic nie wypisuje na chacie, a "wpisuje" coś w konsolę gracza (dany łańcuch znaków), lecz po ostatniej aktualizacji może to nie działać (choć nie wiem, ale jeżeli tak to Dzięki Ci Panie Za Twe Hojne Dary! Ale nie będzie trollingu :( ), do wypisania czegoś na chacie masz client_print().
  • +
  • -
  • 1


#531137 [ROZWIĄZANE] Nie wyświetla tekstu.

Napisane przez MateuszKuCi w 03.04.2013 20:15

spróbuj tak:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Przywitanie"
#define VERSION "1.0"
#define AUTHOR "KuCi123"

public plugin_init() {
register_plugin("Przywitanko", "1.0", "KuCi123")
register_clcmd("say /hi", "Witam")
}

public Witam(id)
{
client_print(id, print_chat, "Witam :)")

}

  • +
  • -
  • 1


#529668 [ROZWIĄZANE] Problem z grawitacją

Napisane przez K!113r w 30.03.2013 15:10

http://amxx.pl/dokum...et-user-gravity

Drugi parametr to nie jest wartość grawitacji jaką ustawiasz graczowi, tylko stosunek do grawitacji ustawionej na serwerze (sv_gravity)
Przy sv_gravity 800, 0.5 to 400

Przy Twoim 500.0 to trochę duża (400000), co chcesz tym osiągnąć? Bo może jest lepszy sposób na osiągnięcie Twoich założeń.
  • +
  • -
  • 1


#529531 Speed na moment

Napisane przez Gość w 29.03.2013 21:39

Załączony plik  prone_position.sma   9,42 KB  35 Ilość pobrań
  prone_position.amxx


#529553 Speed na moment

Napisane przez Gość w 29.03.2013 22:56

A zaktualizowałeś offsety hamdata po lutowym updacie HLDS?


#529561 Speed na moment

Napisane przez Gość w 29.03.2013 23:22

No Steam = No support.
I to nie po złości.
Powodzenia.


#493342 Ruletka

Napisane przez Gość w 24.12.2012 22:18

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  831 Ilość pobrań

Opcjonalne pliki do wstawienia na fastDL
Załączony plik  fastDL.rar   1,12 MB  382 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



#493345 Ruletka

Napisane przez Gość w 24.12.2012 22:22

Opis domyślnych nagród:
Spoiler



#529509 Zmiana prędkości gracza

Napisane przez Gość w 29.03.2013 21:05

Istota prędkości u gracza
Prędkość, z jaką porusza się gracz to iloczyn jego maksymalnej prędkości oraz spowolnienia (np. po skoku, otrzymaniu niektórych obrażeń czy podczas używania spadochronu).
Jednakże chcąc dodać graczowi bonus prędkości, bądź go spowolnić, wystarczy się skupić na jego maksymalnej prędkości i tym się właśnie zajmiemy.

Prędkość standardowa
Standardowo, prędkość maksymalna gracza jest ustalana głównie w 3 sytuacjach (dla CS 1.6):
  • Przy aktywowaniu broni, gdzie wartość maksymalnej prędkości gracza jest ustalana w zależności od przyjmowanej broni (210 - 260):
    • 210: AWP, G3SG1, SG550
    • 220: M249
    • 221: AK47
    • 230: M3, M4A1
    • 235: SG552
    • 240: XM1014, Galil, Famas, AUG
    • 245: P90
    • 250: Glock, USP, P228, dEagle, Elites, FiveseveN, UZI, TMP, MP5, UMP ,Knife , HE, FB, SG, C4
    • 260: Scout
  • Przy rozpoczęciu podkładania bomby (0)
  • Przy rozpoczęciu rozbrajania bomby (0)
Ograniczenia górne prędkości maksymalnej
Maksymalna prędkość graczy jest ograniczona bezwzględnie:
  • do 1000 przez HLDS
  • przez cvar serwera sv_maxspeed
  • przez cvary każdego z graczy:
  • cl_forwardspeed dla biegu do przodu
  • cl_backspeed dla biegu do tyłu
  • cl_sidespeed dla biegu w bok
  • cl_upspeed dla szybkości wspinania się po drabinie
  • cl_downspeed dla szybkości schodzenia z drabiny
Jeśli chcemy zezwolić graczom na korzystanie z bonusów prędkości,
warto ustawić cvar serwera sv_maxspeed na 1000.

Do tego, możemy zmieść graczom limity ustalone przez nich samych:
public client_connect(id){
client_cmd(id, "cl_forwardspeed 1000");
client_cmd(id, "cl_backspeed 1000");
client_cmd(id, "cl_sidespeed 1000");
client_cmd(id, "cl_upspeed 1000");
client_cmd(id, "cl_downspeed 1000");
}


Zmiana prędkości gracza
Maksymalna prędkość gracza zapisana jest jako dana prywatna bytu (pdata) pod identyfikatorem pev_maxspeed.
Jednak dużo łatwiej będzie nam korzystać z gotowych natywów set_user_maxspeed i get_user_maxspeed.
jednakże, jak już wiemy, prędkość gracza zmienia się m.in. wraz z aktywowaniem broni, a więc samo przypisanie jej do gracza nie wystarczy.

W tym celu, poza zmianą prędkości gracza w miejscu, będziemy musieli oznaczyć go jako posiadacza
bonusu prędkości, by w momencie, gdy zaistnieje reset jego prędkości, ponownie nadać utracony bonus.

Event zmiany prędkości
Do wykrycia resetu maksymalnej prędkości u gracza, służy event HamSandwich: Ham_CS_Player_ResetMaxSpeed.
RegisterHam(Ham_CS_Player_ResetMaxSpeed, "player", "speed", 1);


Funkcja Ham_CS_Player_ResetMaxSpeed wyłapuje dokładnie i tylko reset prędkości gracza, czyli właśnie to, czego chcemy.
Ham_CS_Player_ResetMaxSpeed jest częścią HamSandwich od wersji 1.3. Jeśli korzystasz ze starszej wersji HamSandwich,
zalecam Ci zaktualizować go do najnowszej wersji 1.3, dzięki czemu zyskasz dość sporo nowych eventów do wykorzystania.

Jeśli jednak masz starą wersję i nie chcesz aktualizować modułu kanapki z szynką, zamiast eventu Ham_CS_Player_ResetMaxSpeed,
użyj eventu, który wykonuje się przy każdym procesie myślenia przedmiotów, czyli zawsze, gdy potrzeba, oraz
przy zmianie właściwości przedmiotów, zwłaszcza broni, podczas przeładowania, czy oddawania strzałów,
czyli Ham_Item_PreFrame. Dla wersji HamSandwich starszych, niż 1.3 jest to jedyne rozwiązanie.

WebKompilator na AMXX.pl posiada ham_const.inc w wersji 1.3, a więc obsługuje najnosze eventy HamSandwich.

Jeśli tworzysz uniwersalny plugin, bądź modyfikację i nie wiesz, czy Administrator korzysta z aktualnej wersji HamSandwich, czy nie,
warto sprawdzić, czy można wykorzystać event Ham_CS_Player_ResetMaxSpeed, czy będzie trzeba użyć Ham_Item_PreFrame.
RegisterHam(get_player_resetmaxspeed_func(), "player", "speed", 1);

Ham:get_player_resetmaxspeed_func(){
#if defined Ham_CS_Player_ResetMaxSpeed
return IsHamValid(Ham_CS_Player_ResetMaxSpeed)?Ham_CS_Player_ResetMaxSpeed:Ham_Item_PreFrame;
#else
return Ham_Item_PreFrame;
#endif
}
Autor funkcji get_player_resetmaxspeed_func: ConnorMcLeod.

Przykładowe zastosowanie
Przykład pluginu, który na początku każdej rundy, przyzna losowemu graczowi buff prędkości do 1000.0 wraz z komentarzami.
Spoiler


Dlaczego CurWeapon NIE JEST eventem od resetu prędkości
CurWeapon jest eventem, wywoływanym w momencie zmiany stanu broni.
Czyli m.in. po każdym strzale, zmianie broni, przeładowaniu czy zakupieniu.

Wiele osób BŁĘDNIE wykorzystuje event CurWeapon zamiast Ham_CS_Player_ResetMaxSpeed.
Wymienię tutaj kilka najważniejszych z negatywnych skutków tego tragicznego rozwiązania.

CurWeapon nie wykonuje się po spawnie graczy (choć powinien) i zmiana prędkości gracza
zachodzi w praktyce dopiero po zmianie broni, bądź oddanym strzale czy przeładowaniu.

CurWeapon zachodzi w momencie, kiedy zmienia się stan broni, jak wspomniałem, m.in.
podczas strzału, choć nie powinien. Jest to zdecydowanie niepotrzebne i wpływa zauważalnie
na zwiększenie lagów na serwerze. Używanie tego rozwiązania w połączeniu z wymagającymi
obliczeniami, znacząco zwiększa lagi gracza i potem na forum pojawiają się tematy "Zacina mi CS, jak strzelam".

CurWeapon wykonuje się dopiero pewien czas po evencie resetu prędkości gracza, przez co
możemy zauważyć dość irytujące "bujanie' postacią podczas strzelania, czy zmiany broni.

CurWeapon jest eventem zawodnym. Innymi słowy, może się nie wykonać, tym
samym, nie reustalić prędkości gracza po resecie jego maksymalnej prędkości.
Wystarczy bardzo szybko zmienić dokładnie czterokrotnie broń (z jednej na drugą),
by zyskał status zawodnego i nie wykonał się, nie przyznając nam buffu, czy antybuffu.

Dla standardowego połączenia, jest to okres ok. 1/4 sekundy. Czterokrotna zmiana
broni w tym czasie nie jest trudna, zapewne zgodzą się ze mną Ci, którzy odblokowali
labirynt w ukrytej krainie w Raymanie 2 bez wpisywania tajnego kodu w menu głównym.

Przykład nieskutecznego działania eventu CurWeapon dla przykładowego pluginu:
#include <amxmodx>
#include <fun>

public plugin_init(){
register_plugin("1000 speed", "1.0", "benio101");
register_event("CurWeapon", "CurWeapon", "be");
}

public CurWeapon(id){
set_user_maxspeed(id, 75.0);
}


http://youtu.be/ecZx0SFWqpg

Jeśli nie potraficie w ciągu ok. 1/4 sekundy czterokrotnie zmienić broni,
a chcielibyście się przekonać, że CurWeapon faktycznie NIE ZAWSZE działa,
załączam Wam config, który możecie sobie zbindować pod wodolny klawisz.
Po wciśnięciu klawisza, wasza prędkość wróci do podstawowej (zignoruje efekt
speed buffa, spowolnienia, czy unieruchomienia) o ile jest on nadawany przez CurWeapon.

Config z bindem pod klawisz "L", wymaga posiadania noża oraz pistoletu:
alias "waits" "wait; wait; wait; wait; wait; wait"
bind "l" "slot2; wait; slot3; waits; slot2; waits; slot3; waits; slot2;"

Jak widzicie, zmienia on broń dokładnie czterokrotnie w ok. 1/4 sekundy.
Pierwsza zmiana służy jedynie upewnieniu się, że rozpoczniemy zmiany od pistoletu.
Dla wolnego połączenia lub mulącego serwera / CSa, należy zmniejszyć liczbę
wait w aliasie z 6 do ok. 4. Zainteresowani zresztą trafią na to metodą prób i błędów.


#529452 Speed na moment

Napisane przez Gość w 29.03.2013 17:12

Podaj pełen kod, który użyłeś (łącznie ze sprawdzaniem, czy gracz ma bonus prędkości, czy nie).


#529428 Speed na moment

Napisane przez K!113r w 29.03.2013 16:29

Przy zmianie broni prędkość poruszania jest ustawiana na prędkość z daną bronią, możesz nadać swoją prędkość ponownie przy zmianie broni (zarejestruj event cur_weapon).
  • +
  • -
  • 1


#529434 Speed na moment

Napisane przez Gość w 29.03.2013 16:36

Jest to jak najbardziej prawidłowe działanie.

W celu zachowania prędkości, skorzystaj z hamowego eventu Ham_CS_Player_ResetMaxSpeed.
Jeśli masz starą wersję HamSandwich (poniżej v. 1.3), użyj eventu Ham_Item_PreFrame.
RegisterHam(Ham_CS_Player_ResetMaxSpeed, "player", "speed", 1);


Poza ustawieniem prędkości na 750.0, zapisz informację o tym, że gracz ma bonus prędkości.
Ustalaj prędkość dla gracza tak długo, jak posiada bonus prędkości poprzez:
public speed(id){
if(is_user_alive(id) && /* identyfikacja gracza z bonusem prędkości */){
set_user_maxspeed(id, 750.0);
}
}



#528083 Blokada kupna bronii

Napisane przez JabLuszko w 25.03.2013 19:14

Da radę, ale ani to optymalne, ani przydatne.
Do stripów już Ci linkowałem, jak chcesz KONIECZNIE zabrać mu jedną broń to powinieneś użyć czegoś w okolicach http://amxx.pl/topic...ip-user-weapon/ lub http://darkgl.amxx.p...broni-graczowi/
Usuń mu wszystkie bronie na początku rundy, potem daj nóż i niech sobie kupuje co chce - to jest "poprawne" podejście do tematu.
  • +
  • -
  • 1


#528044 Blokada kupna bronii

Napisane przez K!113r w 25.03.2013 17:35

Bo za to odpowiada te twoje drop? wywal

client_cmd(id, "slot1" );
client_cmd(id, "drop");

z Twojego kodu i będzie git, zresztą napisałem Ci o tym opisując dokładnie gdzie masz wkleić poprzedni kod.
  • +
  • -
  • 1


#528062 Blokada kupna bronii

Napisane przez K!113r w 25.03.2013 18:26

albo usuń mu jedną konkretną, albo usuń mu wszystkie, daj nóż(+ ewentualna bomba) i broń którą chcesz mu dać. Jak usunąć bronie/broń? Polecam zapuszczenie żurawia w bibliotekę fun jak i też wyszukać w dokumentacji funkcji z "strip" w nazwie.
  • +
  • -
  • 1