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
 

Szymek^ - zdjęcie

Szymek^

Rejestracja: 17.12.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 15.07.2015 14:48
-----

#519798 motd/voice

Napisane przez Enson w 26.02.2013 18:03

Jezeli ktos ma jeszcze ten sam blad lub jaki kolwiek inny i ma tez steama niech sciagnie to:

http://www40.zippysh...24843/file.html

po sciagnieciu nalezy usunac cala zawartosc folderu Half-Life i wkleic to co pobraliscie z tego linku nastepnie wylaczyc i wlaczyc steama i mozna grac ;)

te pliki ktore sa tu do pobrania sa to pliki starej versji csa z 2009
  • +
  • -
  • 2


#486297 [ROZWIĄZANE] Prośba o przerobienie klasy Elitarny Snajper

Napisane przez Bulaj w 02.12.2012 23:24

Proszę.


edit:

Poprawiona leciutko wersja:

Załączony plik  codclass_ElitarnySnajper.sma   1,64 KB  12 Ilość pobrań
  codclass_ElitarnySnajper.amxx


#486311 Zamiana mapy de_dust2 na inną świąteczną de_dust2_christmas

Napisane przez Bulaj w 02.12.2012 23:35

Napisałem coś takiego, może będzie działać, nie jestem pewien.

#include <amxmodx>
#include <cstrike>

new bool: g_bInterMission = false;

public plugin_init()
{
register_plugin("Podmiana DD2", "0.1b", "Bulaj");
register_event("30", "InterMission", "a");
}

public plugin_end()
{
if(!g_bInterMission) // sprawdzamy czy sie funkcja wczesniej nie wywolala, czasem moze byc problem i sie funkcja nie wywola
{
PodmienMape();
}
}

public PodmienMape()
{
new m_MapName[126]
get_mapname(m_MapName, 125)

if( contain( m_MapName, "de_dust2" ) != -1 )
{
server_cmd("changelevel de_dust2_christmas")
}
}

public InterMission()
{
g_bInterMission = true;
PodmienMape();
}


Załączony plik  podmienmape.sma   612 bajtów  36 Ilość pobrań
  podmienmape.amxx


#486318 [ROZWIĄZANE] Komendy serwera

Napisane przez Bulaj w 02.12.2012 23:43

Wejdź w FTP
cstrike -> addons -> amxmodx -> configs

Otwórz plik cmds.ini.

Zamień to:
"Pause"  "amx_pause"  "ad" "u"
" "  "-"   "" "u"
"Restart Round" "sv_restartround 1" "a" "u"

Na to (zamień ostatni cudzysłów w każdej linijce!:
"Pause"  "amx_pause"  "ad" "tu wpisz flage, np a"
" "  "-"   "" "u"
"Restart Round" "sv_restartround 1" "a" "tu wpisz flage, np a"



#486330 Hp dla TT/Pobieranie pieniędzy $

Napisane przez Bulaj w 03.12.2012 07:54

1. TT HP (załącznik)

2. Postaram się zrobić później.

Załączony plik  tthp.sma   431 bajtów  29 Ilość pobrań
  tthp.amxx


#485254 "Zrozumieć Plugin."

Napisane przez dasiek w 30.11.2012 21:26

Na wstępnie - nie jestem jakiś pr0 - jednak chciałbym wam przybliżyć pisanie pluginów przez ten poradnik ponieważ żeby zacząć cokolwiek robić trzeba to zrozumieć ;)
Pragnę wam przedstawić mój sposób rozumienia pisania pluginów. Co prawda może być w nim wiele sprzeczności, nie dopowiedzeń i innych badziewów ale chcę uniknąć pisania regułek definicji i innych sformułowań których 98% z was (w tym i ja) nie zrozumie...

Zacznijmy stwierdzeniem ze plugin to 'opisany zestaw czynności' które serwer wykonuje. Nie jasne?
Wyobraźmy Sobie że człowiek to taki 'serwer' i ma ochotę na zupę chińską w 5 minut (który jest pluginem). Więc bierze opakowanie z zupką otwiera ją , wlewa do jakiegoś tam garnka z wodą miesza, gotuje, wlewa do miski , bierze łyżkę i je. Na opakowaniu mamy zestaw takowych instrukcji co mamy wykonać zeby zrobić zupkę - które człowiek rozumie. Tak samo nasz plugin - gdy chcemy np dać graczowi hp za zabójstwo musimy opisać w pluginie takowe dodawanie.

Do scriptingu nie wiele nam potrzeba. Wystarczy dowolne narzędzie do edycji plików tekstowych (tak jak nontatnik , notepad++ etc) otwieramy plik i piszemy. Jak wiadomo - plugin na serwer ma rozszerzenie amxx. Ale nasze kody mają rozszerzenie sma których serwer nie rozumie. Etap zmiany pliku sma na amxx to kompilacja (nie komplikacjia, konfrontacja, konwencja czy inne stwierdzenia z tego forum) czyli zamiana naszego pluginu na taką postać którą zrozumie nasz serwer. Odwołując się do przykładu wyżej. Zupa chińska jak sama nazwa wskazuje jest po chińsku i nie wszyscy rozumieją ten język. Więc ludzie z biedry (tu jako kompilator) przetłumaczyli instrukcje robienia takowej zupki tak żeby każdy polak ją zrozumiał.i Wuola.

Czas na trochę teori (tak tak, obiecałem że jej nie będzie ale cuż - niektórych rzeczy inaczej się wyjaśnić nie da) opisanej Łopatologicznie.
Na początku ważna rzecz. Nasz plugin (w innych językach programowania jest ta sama bajka) musi działać (to wiadomo), być jak najkrótszy (Plugin dłuższy nie oznacza że jest lepszy ale o optymalizacji Kodu powiem potem) i być jak najszybszy (i nie chodzi tu o to żeby zamiast czegoś na 5 sekund dawać na 3 - chodzi o szybkie działanie - To też przybliżę potem).

Patrząc na sam początek widzimy biblioteki. Są one zbiorem konkrenych funkcji z których będziemy korzystać aby nasz plugin działał tak jak chcemy. Bardzo Trudno mi to opisać więc odwołam się do naszego smakowitego przykładu - Zapakowana zupa chińska. Aby cokolwiek z nią zrobić trzeba ją najpierw otworzyć. Więc zaglądamy do szuflady i tam znajdujemy nożyczki. Bierzemy je i przecinamy opakowanie. Gdy chcemy wsypać jej zawartość szukamy naczynia, więc bierzemy miskę i do niej wsypujemy makaron z niej. Przydało by się wstawić gorącą wodę na nią i zalać miskę , więc bierzemy czajnik z kuchenki , podchodzimy do kranu, nalewamy wodę do niego i wstawiamy. W tym przykładzie Kolejno szuflada, Szafka z miskami, Kuchenka i Kran to biblioteki a w nich znajdują się konkretne rzeczy. Nie rozumiecie? Trochę wyobraźni. To teraz trzasnę kodzik do "przygotowania zupy" to co już tu opisałem :)

Uświadamiamy naszemu pseudo "serwerowi" żeby przygotował się na skorzystanie z tych rzeczy

#include <szuflada>
#include <szafka>
#include <kuchenka>
#include <kran>

No dobra. Czas na funkcje.

Głowna funkcją w naszych pluginach będzie plugin_init() . Służy on tak naprawdę do przygotowania serwera na pewne wydarzenia i rzeczy. W nim rejestrujemy moment śmierci, Obrażeń, startu rundy, odrodzeniu gracza i wszystkiego innego co dzieje się na serwerze (a jest tego naprawdę dużo). Rejestracje omówię na podstawie - czyli rejestracji wpisanej rzeczy w kosnoli.
register_clcmd (żeby zrozumieć przetłumaczę - rejestruj_klientakomende) uświadamiamy nasz plugin żeby zwrócił uwagę gdy gracz wpisze coś w konsoli. Po otwarciu nawiasów wpisujemy to na co ma plugin zwrócić uwagę - przecinek - co ma wykonać (funckje) po wpisaniu tego (złapaniu momentu).
Tyle chyba o tym. Brak takiej funkcji nie spodoba się serwerowi i odmówi on posłuszeństwa (plugin nie będzie działał).

Drugą funkcją z której często będziecie korzystać to plugin_precache. Łopatologicznie - w nim przygotowujemy pliki z których będziemy korzystać w pluginie tj. modele, dźwięki, spr'y i inne. Bez takiego przygotowania plików plugin Nie będzie działał a nawet wyłączy nam serwer. Znasz uczucie kiedy robisz Sobie płatki na mleku, wsypujesz płatki do miski a okazuje się że nie ma mleka? "Nasz serwer czuje to samo!" kiedy chce skorzystać z modelu/dźwięku na któy nie był przygotowany.

Dobra - żeby nie było że jesteśmy sadystami. Serwer ma swoje ograniczenia Większość może zapytać - jak to ? Czemu? A temu. Sytuacja jest podobna jak święta lub rodzinne spotkania u babci. Siedzisz , nigdzie nie wyjdziesz a na dodatek słyszysz miłe babcine "Może coś jeszcze? Na pewno nie jesteś głodny?" i mimo wyraźnego i stanowczego "Oj nie babciu" dostajesz porcje "dla pułku wojska". Wedle świętej zasady "nie czyń drugiemu co Tobie nie miłe" dotyczącej również naszych serwerów i stanowisk pracy nie mścimy się na nim po babcinych obiadach. Im serwer ma więcej modeli/dźwięków/Sprów/Plików/wadów itp do obsłużenia tym woliej pracuje i gracze są niezadowoleni. Oczywiście nie dotyczy się tylko i wyłącznie plików obsługiwanych. Również zmienne ( o których później ) mają swoje ograniczenia. Wszystko starajmy się robić jak najprościej.

To lecimy ze zmiennymi. Po co one? Bez nich ciężko cokolwiek pisać (aczkolwiek - można) Są to "rzeczy" którymi operujemy w pluginie żeby ułatwić sobie (i naszemu serwerowi) życie. Nie jasne? To teraz spróbuje to wyjaśnić.
Przyjmijmy że interesuje nas Życie gracza. Naszym pluginem pytamy o to serwer.
My - "Siema Serwer. Słuchaj - rzuć informacją o życiu Gracza o ID 1" (przypominam że (prawie) wszystko bazuje na liczbach)
Serwer - "Ty Stary no ja nie wiem."
Co w takim razie? W dokumentacji znajdujemy że w pewnej bibliotece jest możliwość zapytania o życie gracza. Więc dajemy znać serwerowi.

My - "Serwer słuchaj - amxmodx wie ile Gracz 1 ma hp. Weź go zapytaj bo ja nie umiem"
Serwer - "Te amxmodx Ile gracz 1 ma hp"
amxmodx - "100!"
Serwer - "Ma 100 Hp "
My - "dzięki"

W tym momencie mamy 5 operacji. Każemy serwerowi pytać o daną rzecz bibliotekę serwer wykonuję tą operacje, operacja zwraca wynik, wynik jest przejmowany przez serwer i serwer przekazuje go nam. No dobra Wszystko fajnie tylko to dla nas nie korzystne gdy robimy kilka operacji.

My - "Serwer rzuć hp gracza 2"
Serwer - "amxmodx daj hp gracza 2"
amxmodx - "95"
Serwer - "95"
My - "dzięki."
--Wykonuje operacje--
My - "Daj znowu hp gracza 2 bo nie pamiętam"
Serwer - amxmodx-serwer-my
-- operacja --
My - "daj znowu"

Serwer-amxmodx-serwer-my

Nie długo? Nie łatwiej byłoby Stworzyć zmienną w której zapamietamy takowe Hp? Wtedy wykonamy tylko jedno zapytanie - wykorzystamy serwer raz i wszyscy będą zadowoleni.


My - "Serwer rzuć hp 3 - ja zapiszę sobie ją"
Serwer - "amxmodx daj hp 3ki"
amxmodx - "50"
Serwer - "50!"
My - zapisujemy 50 do zmiennej.


Pomaga to też zautomatyzować plugin. wyobraź Sobie - że do życia mamy dodać 5. i co szybciej wykonać? Stworzyć zmienną i do niej dodać 5 czy sprawdzić każdą mozliwą kombinacje? Odpowiedź wiadoma ;)

Wracając do Funkcji. Z nimi jest zasada podobna jak ze zmiennymi - ułatwiamy Sobie nimi życie. Nie we wszystkich miejscach możemy operować konkretnymi danymi (sprawdzenie zadanych obrażeń gracza przy jego Respie - chyba ze w odpowiednim momencie Zapiszemy ją do zmiennej) ale przede wszystkim by zmienić nasze 100 linijek w 20. Jak? z Grubsza wyjaśnię to na zasadzie dodawania kilku broni do gracza.

Jeśli nasz gracz "Zrobi coś!" ma dodawać mu 3 bronie i ammo do nich. Za to jak gracz zrobi "Co innego!" ma mu dodać tamte 3 bronie , ammo do nich i dodatkowe dwie. Jak to wygląda?

if(Zrobi coś)
{
//Dodaje Bron1//Dodaje Ammo2

//Dodaje Bron2
//Dodaje Ammo2
//Dodaje Bron3
//Dodaje Ammo4
}
if(Coś innego!)
{

//Dodaje Bron1//Dodaje Ammo2

//Dodaje Bron2
//Dodaje Ammo2
//Dodaje Bron3
//Dodaje Ammo4

//Dodaje Bron_dodatkową1//Dodaje Ammo_dodatkową2

//Dodaje Bron_dodatkową2
//Dodaje Ammo_dodatkową2
}


Działa? No zadziała. Ale to nie to. Wykonamy jedna rzecz dla obu i kiedy będziemy chcieli zmienić musimy to robic w dwóch miejscach. A gdybyśmy uświadomili serwerowi żeby wykonał jedną rzecz w której będzie dodawanie 3 broni a w "Cos innego!" dodali dodatkowe dwie? Wygląda to tak


public nasza_funkcja()
{

//Dodaje Bron1//Dodaje Ammo2

//Dodaje Bron2
//Dodaje Ammo2
//Dodaje Bron3
}
if(Zrobi coś)
{
nasza_funkcja();
}
if(Coś innego!)
{

nasza_funkcja();
//Dodaje Ammo4

//Dodaje Bron_dodatkową1//Dodaje Ammo_dodatkową2

//Dodaje Bron_dodatkową2
//Dodaje Ammo_dodatkową2
}

Jakim Cudem To działa? :blink: Otóż w momencie kiedy gracz "Zrobi Coś!" Dajemy znak serwerowi żeby Wykonał nasza_funkcja() a jak już wykona to żeby dalej Działał od momentu wywołania Funkcji. Czyli w "Coś Innego!" doda bronie i doda Dodatkową. Tworzenie funkcji jest nam potrzebne w wyłapaniu momentów (Eventów) na serwerze - a w niej dajemy obsługę. Tadam :)


Mam nadzieję ze w pewnym sensie "Rozjaśniłem" wam Sprawę z Kodowaiem. Poradnik ten będzie Uzupełniany w miarę potrzeb (jak będzie kilka osób które czegoś nie rozumieją proszę pisać - swoimi sławami będe to dodawał o ile będe miał o tym pojęcie:D )

Niedługo zrobie na nim porządki - pogrupuję Poradnik tak żeby był przejrzysty. ;)

ZAKAZ KOPIOWANIA! Poradnik ma prawo być tylko tu i na moim blogu.
  • +
  • -
  • 49


#482253 [ROZWIĄZANE] Jakiej funkcji użyć?

Napisane przez d0naciak w 23.11.2012 21:50

taak, jezeli gracz nie bedzie mieal zresetowanego zooma (nie wiem o co w tym dokladnie chodzi, ale poczytaj to: http://amxx.pl/dokum...s-get-user-zoom ), lub nie bedzie mial wcale to funkcja nie zostanie uzyta (czyli zostanie uzyta jak bedzie mial)

Tylko jak cos to liczy tutaj takze zoom z kriega/auga
  • +
  • -
  • 1


#473570 Na slocie broni tylko 1 bron, mozliwosc ustawiania slotu broni

Napisane przez DarkGL w 31.10.2012 21:50

http://forums.allied...ad.php?t=175632
  • +
  • -
  • 1


#473578 Na slocie broni tylko 1 bron, mozliwosc ustawiania slotu broni

Napisane przez MarWit w 31.10.2012 21:58


public plugin_init( )
register_message( get_user_msgid( "WeaponList" ), "msgWeaponList" )

public msgWeaponList( )
{
switch( get_msg_arg_int( 8 ) )
{
case CSW_AWP: set_msg_arg_int( 6, ARG_BYTE, 1 ) // AWP bedzie w slocie 2'gim. Sloty liczone sa od 0
default: return PLUGIN_CONTINUE;
}

return PLUGIN_CONTINUE
}

  • +
  • -
  • 2


#472691 [ROZWIĄZANE] Podmiana na serwerze plików gfx

Napisane przez d0naciak w 29.10.2012 19:58

http://amxx.pl/topic...-file-replacer/
jako parametr daj "e" (pliki generic)
  • +
  • -
  • 1


#471226 [ROZWIĄZANE] Plugin nie chce sie skompilowac przy kompilacji bardzo dziwne ble

Napisane przez Gość w 25.10.2012 13:52

Dodaj


return PLUGIN_CONTINUE;
}
na końcu draw.inl


#469039 [ROZWIĄZANE] Czy ta funkcja będzie ustawiac ilosc amunicji i magazynku

Napisane przez Gość w 18.10.2012 16:20

cs_set_weapon_ammo ustawia liczbę amunicji dla danego bytu, nie typu broni.

W dokumentacji masz świetny przykład: http://amxx.pl/dokum...set_user_bpammo


#469053 [ROZWIĄZANE] Czy ta funkcja będzie ustawiac ilosc amunicji i magazynku

Napisane przez Droso w 18.10.2012 16:32

Odnowi się, oczywiście jeżeli funkcję CurWeapon zarejestrowałeś jako event zmiany broni (w plugin_init najczęściej się to rejestruje).
Jeżeli chcesz, żeby tylko raz dało magazynek to przy spawnie gracza (Ham_Spawn), dawaj graczowi broń i daj mu magazynki.
  • +
  • -
  • 1


#469010 Ultimate AFK

Napisane przez Droso w 18.10.2012 15:26

Witajcie!
opis

Autor: HubertTM
Dzień publikacji: 18 października 2012r.

Oto nowy Ultimate-AFK, czym różni się od innych afk-kickerów? Dokładnością. Ten plugin bierze pod uwage:

  • strzelanie;
  • poruszanie camera;
  • pisanie na chacie;
  • drobne ruchy;
  • kucanie;
  • skakanie;
  • patrzenie w tabele wyników;
  • przeładowanie;
  • kupowanie broni na respie;
  • wiele innych.

Oczywiście wszystko możemy Włączyć/Wyłączyć Cvarami, a w dodatku możemy dodać wyjątki dla kogo ma nie działać U-AFK:

  • dla Adminów;
  • tylko dla Head-Adminów;
  • U-AFK będzie działać tylko od określonej CVAR'em liczby graczy.

 

Możemy określić jak ma działać plugin czy od razu kickować z serwera, czy może najpierw przenieść do drużyny Obserwatorów, potem po upłynięciu X czasu, kickować go z serwera (Można oczywiście to wyłączyć, że tylko przenosi do drużyny Obserwatora i gracz sobie spokojnie czeka jako obserwator).
Możemy także ustalić po jakim czasie kickować z TT/CT i oddzielny czas kicku dla drużyny Obserwatora.
Możemy włączyć tylko kickowanie z drużyny Obserwatora.

Dodatkowo:
AFK na respie, jak wiadomo czasami chcemy, żeby AFK na respie było szybsze, tak też tu jest.
Jak działa plugin na respie?
Najpierw ustalamy ile razy gracz może być AFK (w pluginie zwie to się szanse [stand. 3])
Jeżeli gracz wykorzysta szanse [np. 3/3] to wtedy:
w zależności od CVAR'u:

  • kickuje;
  • przenosi do drużyny Obserwatora.

Możemy CVAR'em włączyć informowanie gracza, że jest AFK i nastąpi reakcja pluginu.
W pluginie jest pokazywanie ile graczy w CT i TT jest AFK [np. AFK CT: 1 AFK TT: 3] [można wyłączyć CVAR'em]

Mamy także wyrzucanie bomby, jeśli gracz jest AFK X sec..
Oczywiście możemy to wyłączyć, na przykład zamiast wyrzucania bomby możemy zainstalować to:
http://amxx.pl/topic...k-bomb-tranfer/

 

Więcej informacji w CVAR'ach ;)

cvary
Uwaga CVAR'y ustalamy w pliku ultimateafk.cfg, który możemy pobrać z załącznika i wrzucamy go do folderu
addons/amxmodx/configs

 

afk_mode 0
// 1 - Kickuje od razu, to znaczy - nie przenosi na spect!
// 0 - Najpierw przerzuca na Spect. Co dalej? Wybierz dalej w cvarach 


afk_timeafk 50
// Ile sekund mozna byc AFK w TT/CT, zanim... (cvar afk_mode)


afk_timespect 0
// Ile sekund mozna byc AFK w druzynie Obserwatorow, potem kickuje!
// 0 - Nieskonczonosc - nie kickuje.


afk_saychangeafk 2
// Czy pisanie na SAY/SAY_TEAM wplywa na czas AFK?
// 0 - Nie
// 1- Tylko w druzynach TT oraz CT
// 2 - Wszedzie TT/CT/Obserwatorzy.


afk_shootchangeafk 1
// Czy strzal bronia, lub jej zmiana wplywa na AFK?
// 1 - Tak.
// 0 - Nie.


afk_adminafk 0
// Czy traktowac adminow jako zwyklych graczy? Czytaj - Przerzucac oraz Kickowac?
// 0 - Bedzie kickowalo/przerzucalo adminow i graczy.
// 1 - Kickuje/przerzuca tylko graczy, admini maja spokoj.
// 2 - Kickuje/przerzuca graczy i adminow, ale nie kickuje adminow z immunitetem.


afk_warn 1
// ostrzegac gracza ze jest AFK? (Chat)
// 0 - Nie
// 1 - Tak (Domyslnie)


afk_minplayers 0
// od ilu graczy na serwerze dziala U-AFK.


afk_checkspawn 1
// Czy ma sprawdzac czy gracz jest AFK na respie? Takie AFK na respie dziala szybciej, przydatne bo sa szanse (patrz nizej).
// 1 - Tak
// 0 - Nie. Wylacza takze szanse (Zaraz sie dowiesz co to takiego)


afk_timekillspawn 25
// Jezeli gracz nie rusza sie na respie przez tyle sekund, oznacza to, ze jest AFK, i mozna go ... (CVAR nizej)


afk_killspawn 0
// Do cvaru wyzej
// 1 - Zabic
// 0 - Nic nie robi z graczem, ale pokazuje komunikat, ze gracz jest AFK.


afk_killspawnchance 5
// Jezeli zostanie zabity (Wiec dziala tylko kiedy cvar afk_killspawn 1) przez Ultimate AFK [TEN_CVAR] razy to zostanie wywalony, bo nie gra.
// Zalecane 3 w gore.
// Uwaga 0 nie wylacza ! (Od wylaczania jest m.in cvar afk_checkspawn!) 




afk_bombdroptime 20
// Po jakim czasie AFK ma wyrzucic bombe graczowi na ziemie.
// 0 - Wylacza.


afk_playersinfoafk 1 
// Czy ma pojawiac sie informacja? AFK TT : x AFK CT: x na chacie?
// 1 - Tak.
// 0 - Nie.

Plugin posiada multilanguage! Dzięki czemu obcokrajowcy zrozumieją, dlaczego np. zostali wyrzuceni z serwera :)
Na razie tylko PL i ANG. [Wersja ANG, możliwe lekkie błędy ;D]
 

Podziękowania:
- Dla autora/ów AFK-KISS, (zapożyczona funkcja: ta od rozpoznawania czy gracz ma bombe)


Changelog:
18 października 2012 r - publikacja;
28 października 2012 r - poprawa .txt;
20 grudnia 2012 r - poprawa małych bugów + "uczulenie" pluginu;

1.9b - 13 października 2013 r - "uczulenie" pluginu + poprawy błędów.

1.9f - 10 listopada 2013 r - Poprawienie kilku błędów - ładniejszy (czytelniejszy) plik .CFG :)

2.0 - 30 grudnia 2013 r -

  • Dodanie do AFK - Freezetime - czyli w tym czasie nie nalicza AFK :)
  • Wiele poprawek związanych z wyrzucaniem bomby.
  • Bugi i poprawki;
  • Dodanie komendy debugguj ;)
  • Poprawa jednego CVAR'a.

 

download

Załączony plik  AFK-Ultimate.sma   15,62 KB  1652 Ilość pobrań
  AFK-Ultimate.amxx

Załączony plik  ultimateafk.txt   2,29 KB  2171 Ilość pobrań

Załączony plik  ultimateafk.cfg   2,05 KB  1624 Ilość pobrań

 

 

instalacja
Standardowa czyli:

  • .amxx do plugins
  • .sma do scripting
  • ultimateafk.cfg do configs
  • ultimateafk.txt do data/lang

  • +
  • -
  • 48


#469041 [ROZWIĄZANE] Czy ta funkcja będzie ustawiac ilosc amunicji i magazynku

Napisane przez Droso w 18.10.2012 16:21

public CurWeapon(id)
{
                new weapon = read_data(2);

if(is_user_alive(id) && weapon == CSW_MP5NAVY)
{
cs_set_user_bpammo(id, CSW_MP5NAVY, 60);
new weapon_id = find_ent_by_owner(-1, "weapon_mp5navy", id) 
if(weapon_id)
	cs_set_weapon_ammo(weapon_id, 25)
   }
}
Mam nadzieje, że CurWeapon to event zmiany broni. (zarejestrowany już).
Nie jestem pewnien co do cs_set_weapon_ammo, ale to chyba ustawia liczbe ammunicji w magazynku, takie moje podejrzenia :D
  • +
  • -
  • 1