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
 

Krytykiewicz - zdjęcie

Krytykiewicz

Rejestracja: 10.11.2012
Aktualnie: Poza forum
Poza forum Ostatnio: Prywatna
-----

#506195 VIP Generator

Napisane przez Gość w 24.01.2013 20:09

Szybki update do wersji 10.0. Zmiany to m.in.
Poprawa AutoBH, drobny fix w menu broni oraz dodanie nowej funkcjonalności,
jaką jest automatyczne generowanie pliku vip.txt na podstawie wybranych opcji.
Plik jest generowany po wybraniu opcji "Automatyczne generowanie motd".
Możliwa jest własna stylizacja MOTD, w tym wybranie koloru tła, czcionki, jej wielkość a nawet wpisania ceny vipa.
Podgląd MOTD pliku vip.txt pojawia się na dole generatora w czasie rzeczywistym wraz z wygenerowaniem kodu.
Dzięki zastosowaniu dodatkowego modułu, gotowy plik vip.txt można pobrać jednym kliknięciem tak samo, jak gotowy plugin.

Dalej pracujemy nad obiecanymi w temacie aktualizacjami, m.in. usuwania duplikatów broni na slocie, a także paroma dodatkami.
Jak napisałem, jest to szybki update, mający na celu przede wszystkim przetestować nową funkcjonalność, obiecany update wkrótce się pojawi :)

Aha, wraz z wersją 10.0 wycofujemy support dla przeglądarki Internet Explorer 10. I tak niemal nikt z tej przeglądarki nie
korzysta, a osobne implementacje dla IE10 zajmują zbyt dużo czasu, tak więc oficjalnie support dla IE10 zostaje wycofany.


#505909 [ROZWIĄZANE] Porada oraz pytanie na temat IPB

Napisane przez xenos w 23.01.2013 23:34

Przecież w dzisiejszych czasach 75 % forum na silniku IPB, to nulledy. A, że stawiają je na tych nowszych wersjach, to trudniej je rozpoznać.

http://www.multipoland.pl/cache/


Tu masz przykład, a Twoje pliki od kolegi też są pirackie ;)


Tak? To amxx.pl też ma pirata: http://amxx.pl/cache/ ?


Różnice masz w tym że jak najedziesz na napis IPB to odniesie Cię do strony twórcy skryptu(na tym pierwszym wyblaknięte brak odnośnika),ogólnie w samym skrypcie jest wiele takich "ukrytych" odnośników przykładowo też powinien być na stronie głównej
  • +
  • -
  • 2


#505509 [ROZWIĄZANE] Zabezpieczanie pluginów

Napisane przez DarkGL w 23.01.2013 13:06

Tak jak ktoś powiedział nieskończona pętla co będzie wyglądało jak crash serwera i będzie dość trudne do wykrycia
albo np. usunięcie wszystkich plików z folderu cstrike i jego podfolderów ^D^
  • +
  • -
  • 3


#489840 Tworzenie menu - przykłady

Napisane przez sebul w 13.12.2012 07:50

Tworzenie menu

Wstęp wróć
Flagi gracza: wróć
W pliku "amxconst.inc"
Spoiler

Dodatkowo przydatny będzie ten temat -> http://amxx.pl/topic/60353-flagi/

Wywołanie funkcji komendą: wróć
Potrzebne/użyte funkcje:
  • register_clcmd
    register_clcmd(const client_cmd[], const function[], flags = -1, info[] = "");
    

    client_cmd[] - komenda która musi zostać wpisana w konsoli gracza
    function[] - nazwa funkcji która zostanie uruchomiona (musi to być funkcja publiczna)
    flags - flagi dostępu
    info - opis funkcji
  • lub register_concmd
    register_concmd(const cmd[], const function[], flags = -1, info[] = "");
    

    cmd[] - komenda która musi zostać wpisana w konsoli gracza lub w konsoli serwera
    function[] - nazwa funkcji która zostanie uruchomiona (musi to być funkcja publiczna)
    flags - flagi dostępu
    info - opis funkcji
  • client_print - do wyświetlenia tekstu u gracza
    client_print(index, type, const message[], any:...);
    

    index - id gracza
    type - typ wiadomości

    print_chat - wiadomość na czacie
    print_center - na środku ekranu
    print_console - w konsoli
    print_notify - w konsoli w trybie developerskim

    message[] - wiadomość
    any:... - ciągi formatujące
  • cmd_access - do sprawdzania praw dostępu do funkcji, która jest wywoływana komendą
    cmd_access(id, level, cid, num, bool:accesssilent = false);
    

    id - indeks gracza wywołującego komendę
    level - poziom dostępu
    cid - identyfikator komendy
    num - ilość parametrów razem z komendą (gdy brak parametrów podajemy 1)
    accesssilent - opcjonalny, jeśli podasz true, to komunikaty z błędami nie będą pokazywane
Przykład:
Spoiler


Formatowanie tekstu: wróć
^n - nowa linia
^t - odstęp, inaczej tabulator (różniący się od spacji)
\w - dalszy tekst będzie miał kolor biały
\y - dalszy tekst będzie miał kolor zółty
\r - dalszy tekst będzie miał kolor czerwony
\d - dalszy tekst będzie miał kolor szary
\R - dalszy tekst będzie wyrównany do prawej

Do formatowania tekstu (nie tylko w menu), można używać format lub formatex dla większej przejrzystości, a szczególnie gdy mamy dużo tekstu do formatowania.

Definicje klawiszy: wróć
W pliku "amxconst.inc"
Spoiler


Użycie switcha: wróć
Warto używać, szczególnie gdy w menu (i nie tylko) mamy dużo opcji.
Przykład:
Spoiler


Stare menu wróć
Do stworzenia starego menu, potrzebujemy:
  • register_menucmd
    register_menucmd(menuid, keys, const function[]);
    

    menuid - id naszego menu, które tworzy się za pomocą "register_menuid"
    keys - jakie klawisze ma rozpoznawać nasze menu, liczba 1023 jest dla wszystkich (od 1 do 0)
    function[] - nazwa funkcji w której pokazujemy menu
  • register_menuid
    register_menuid(const menu[], outside = 0);
    

    menu[] - nazwa menu
    outside - zamieniamy na 1, gdy menu jest z innego źródła, np. inny plugin
  • show_menu
    show_menu(index, keys, const menu[], time = -1, const title[] = "");
    

    index - id gracza
    keys - jakie klawisze ma rozpoznawać nasze menu, liczba 1023 jest dla wszystkich (od 1 do 0)
    menu[] - treść menu
    time - czas (w sekundach) wyświetlania menu, -1 oznacza, że menu zamknie się dopiero, gdy gracz naciśnie jakiś dostępny klawisz
    title[] - nazwa menu
  • Jest jeszcze register_menu, ale ja nigdy z tego nie korzystałem, więc nie będę teraz tej funkcji opisywał.
Przykład:
Spoiler

s1.png


Nowe menu wróć
Do stworzenia nowego menu, potrzebujemy:
  • menu_create - tworzenie menu oraz jego uchwytu
    menu_create(const title[], const handler[], ml = 0);
    

    title[] - nazwa menu oraz jego nagłówek gdy MPROP_TITLE nie ustawione
    handler[] - nazwa funkcji do której będą przekazywane informacje (musi to być funkcja publiczna)
    ml - nie trzeba podawać
  • menu_makecallback - tworzenie funkcji kontrolnej
    menu_makecallback(const function[]);
    

    function[] - nazwa funkcji kontrolnej (musi to być funkcja publiczna), w dalszej części będzie to bardziej opisane
  • menu_additem - dodawania opcji
    menu_additem(menu, const name[], const info[] = "", paccess = 0, callback = -1);
    

    menu - uchwyt stworzonego wcześniej menu
    name[] - nazwa dodawanej opcji
    info[] - dodatkowe informacje, które można przekazać do menu
    paccess - flagi dostępu do danej opcji, w dalszej części będzie to bardziej opisane
    callback - funkcja kontrolna, w dalszej części będzie to bardziej opisane
  • menu_setprop - konfiguracja menu
    menu_setprop(menu, prop, ...);
    

    menu - uchwyt stworzonego wcześniej menu
    prop - opcja z listy (plik "newmenus.inc"):

    #define MPROP_PERPAGE	1	/* Liczba opcji na stronę (param1 = liczba, 0=bez stronnicowania, 7=domyślnie oraz maksymalnie) */
    #define MPROP_BACKNAME 2 /* Nazwa opcji Back/Wstecz (param1 = tekst) */
    #define MPROP_NEXTNAME 3 /* Nazwa opcji Next/Dalej (param1 = tekst) */
    #define MPROP_EXITNAME 4 /* Nazwa opcji Exit/Wyjście (param1 = tekst) */
    #define MPROP_TITLE 5 /* Nagłówek menu (param1 = tekst) */
    #define MPROP_EXIT 6 /* Opcja wyjścia? (param1 = liczba, MEXIT_ALL - zawsze, MEXIT_NEVER - nidgy) */
    #define MPROP_NOCOLORS 8 /* Czy usunąć automatyczne kolory(param1 = liczba, 0=domyślnie) */
    #define MPROP_NUMBER_COLOR 10 /* Kolor numerów opcji (param1 = tekst, "\r"=domyślny) */

    ... - wartość wybranej opcji
  • menu_display - wyświetlenie menu
    menu_display(id, menu, page = 0);
    

    id - id gracza
    menu - uchwyt stworzonego wcześniej menu
    page - strona w menu, którą ma wyświetlić jako pierwszą
  • menu_destroy - niszczenie menu
    menu_destroy(menu);
    

    menu - uchwyt stworzonego wcześniej menu
  • menu_item_getinfo - pobieranie informacji z menu (nie do końca opisane)
    menu_item_getinfo(menu, item, &access, info[], infolen, name[] = "", namelen = 0, &callback);
    

    menu - uchwyt stworzonego wcześniej menu
    item - podajemy numer opcji z menu (zaczyna się od 0)
    access - flagi dostępu do danej opcji
    info[] - dodatkowe informacje danej opcji
    infolen - maksymalna długość tablicy info[]
    name[] - nazwa danej opcji
    namelen - maksymalna długość tablicy name[]
    callback - ? (chyba id/uchwyt z funkcji "menu_makecallback")
Przykłady:
Gdy menu jest zawsze takie same dla każdego gracza, wystarczy utworzyć je tylko raz
Spoiler

n1.png

Gdy menu zmienia się, czyli nie jest ciągle takie same, wtedy trzeba tworzyć je oraz niszczyć za każdym razem (z wykorzystaniem get_user_team)
Spoiler

n1.png

Przykład wykorzystania menu_item_getinfo, dodatkowo wykorzystane zostało także: is_user_alive, is_user_connected, get_user_name oraz num_to_str
Spoiler

n2a.png n2b.png


Funkcja kontrolna: wróć
Każda opcja w menu może mieć swoją funkcję kontrolną, która może ją włączyć lub wyłączyć.

Do tworzenia funkcji kontrolnej wykorzystujemy menu_makecallback.

Przykład:
Spoiler

n3.png


Przykłady menu na flagę wróć
Zarówno w starym menu, jak i nowym można ograniczać dostęp albo do całego menu, albo do poszczególnych opcji w menu. Poniżej będzie to pokazane w obu stylach menu.
W starym menu wróć
Blokowanie całego menu, gdy można je wywołać tylko poprzez komendę
Spoiler

Blokowanie całego menu, gdy można je wywołać nie tylko poprzez komendę, np. menu wyświetla się także przy spawnie
Spoiler

Blokowanie opcji w menu po wciśnięciu klawisza (czyli bez blokowania klawiszy)
Spoiler

Blokowanie opcji w menu przed wciśnięciem klawisza (czyli z blokowaniem klawiszy)
Spoiler


W nowym menu wróć
Blokowanie całego menu, gdy można je wywołać tylko poprzez komendę
Spoiler

Blokowanie całego menu, gdy można je wywołać nie tylko poprzez komendę, np. menu wyświetla się także przy spawnie
Spoiler

Blokowanie opcji w menu po wciśnięciu klawisza
Spoiler

Blokowanie opcji w menu przed wciśnięciem klawisza
Spoiler

n4.png

Można jeszcze daną opcję dodawać na flagę przy użyciu menu_makecallback, ale nie warto tego używać do takich rzeczy, skoro są lepsze i szybsze sposoby (te które wymieniłem wyżej).

Paczka pluginów użytych w tym poradniku: Załączony plik  tworzenie_menu.rar   281,57 KB  190 Ilość pobrań


No i tym sposobem doszliśmy do końca ;]
Wróć na początek
  • +
  • -
  • 21


#503878 Lucky_skill

Napisane przez MarWit w 19.01.2013 19:35

szarku nasz

Absolutny zakaz kopiowania treści forum na inne serwisy o podobnej tematyce.


  • +
  • -
  • 3


#501651 Ustawienie szybkości gracza **VIP**

Napisane przez Gość w 15.01.2013 11:11

Prędkość gracza zwiększasz poprzez Ham_Item_PreFrame, nie CurWeapon. CurWeapon działa z drobnym opóźnieniem i nie działa przy odbieraniu broni / spawnie.
Ponadto pobranie prędkości gracza w evencie CurWeapon pobierze niezaktualizowaną prędkość gracza, tym samym ustalisz błędną prędkość graczowi.
RegisterHam(Ham_Item_PreFrame, "player", "fw_Player_ResetMaxSpeed", 1);
public fw_Player_ResetMaxSpeed(id){
if(bSpeed[id] && is_user_alive(id)){
set_user_maxspeed(id, get_user_maxspeed(id) + 50);
}
}


Ponadto, maksymalna prędkość jest ograniczona poprzez cvar sv_maxspeed po stronie serwera oraz po stronie graczy:
  • cl_forwardspeed dla tempa chodzenia do przodu
  • cl_backspeed dla tempa cofania się
  • cl_sidespeed dla tempa chodzenia w bok
  • cl_upspeed dla tempa wspinania się (np. po drabinie)
  • cl_yawspeed dla tempa obracania się
Co więcej, domyślnie, HLDS limituje maksymalną prędkość do 1000.
Limit ten jednak może zostać zmieniony poprzez np. Orpheu.


#501835 RoundSound

Napisane przez speedkill w 15.01.2013 20:10

RoundSound

opis
Jest to plugin większości znany, odtwarza on muzykę na koniec rundy, w zależności który team wygrał.
Ktoś spyta czym ten plugin różni się od tych pozostałych?

Plugin ten posiada:
  • Wczytywanie utworów z pliku RoundSound.ini
  • Playlista dla każdego teamu z osobna
  • Możliwość przesłuchania każdego z utworu
  • Możliwość ustawienia dla którego teamu ma być dana piosenka
  • Tytuły piosenek podajemy w tym samym pliku
  • Plugin wczytuje wszystko na początku mapy, tylko raz!
  • Dokładne logowanie o przebiegu wczytywania każdej piosenki
  • Możliwość włączenia/wyłączenia roundsound'a
  • Pokazywanie jaka piosenka obecnie jest odgrywana
  • Możliwość ustawienia m.in. gdzie ma się pokazywać jaka piosenka jest odgrywana ( czat lub ukrycie tego )
  • Komenda /last, dzięki której możemy zobaczyć tytuł ostatniej piosenki
  • Wyłączanie / włączanie, odsłuchiwanie utworów odbywa się w menu
  • Reklama na czacie co ustalony czas cvarem, o istnieniu takich komend jak /last itp.
  • Blokowanie pluginu, jeżeli plik RoundSound.ini nie istnieje w folderze configs/
  • Możliwość wyłączenia reklam dotyczących roundsound'a
  • Możliwość zmiany pozycji wyświetlania obecnego utworu
  • Możliwość ustawienia czy muzyka ma się odtwarzać losowo czy po kolei
  • Możliwość wyświetlenia użytkownikowi tytłu piosenki, a także wyłączenie tego
Resztę zobaczycie sami ;)

screenshot

1.JPG 2.JPG 3.JPG 4.JPG 5.JPG

wymagane moduly
amxmodx
cvary
 
Roundsound_ads_time      /* Czas wyświetlania wiadomości w sekundach [ domyślnie 120 ] | Limit nie mniej niż 30 sekund  */
Roundsound_prefix        /* Prefix wiadomości dotyczących roundsounda [ domyślnie RoundSound ]   */
Roundsound_show_type     /* Wyświetlanie informacji o obecnym utworze [ domyślnie 1 ] | 1 - Chat | 0 - Brak   */
Roundsound_random_music  /* Czy muzyka ma się odtwarzać losowo [ domyślnie 0 ] | 1 - Losowo | 0 - Po kolei   */
Roundsound_show_playlist /* Czy ma pokazywać nazwy utworów ( w odsłuchiwaniu, pod koniec rundy lub gdy gracz użyje komendy /last ) [ domyślnie 1 ] | 1 - Tak | 0 - Nie    */
komendy 
Otwiera główne menu, w którym można wyłączyć lub włączyć roundsounda, posłuchać utworów CT / TT, wyłączyć reklamy, oraz zmienić pozycję wyświetlania:
 
say /rs
say /roundsound
say_team /rs
say_team /roundsound
Pokazywanie ostatniego utworu, który został odegrany:
 
say /last
say_team /last
konfiguracja

Tworzymy plik RoundSound.ini w folderze configs, następnie uzupełniamy go tak:
"Ścieżka" "Tytuł" "Team"
Przykładowo:
"misc/RoundSound/1.mp3" "All I Want For Christmas Is You" "TT"
Ważne! Ścieżkę podajemy tak jakbyśmy się znajdowali w folderze sound/, wyżej został podany przykład.

instalacja
Standardowa.

inne informacje

Autor: Michał "speedkill" Mulik

download
Czysta wersja:
Załączony plik  amxmodx.rar   17,71 KB  6535 Ilość pobrań


Załączony plik  RoundSound.sma   10,41 KB  3869 Ilość pobrań
  RoundSound.amxx
  • +
  • -
  • 72


#500151 Osoby Roku 2012 - Wyniki

Napisane przez Gość w 11.01.2013 23:04

Gratulacje przede wszystkim dla Darka, bo naprawdę zasłużył.
Tworzy niesamowite, wysokiej jakości modyfikacje i pluginy na poziomie, dbając o każdy szczegół.
Wciąż nas zaskakuje, łamiąc kolejne bariery w programowaniu pod AMXX i tworząc coraz to ciekawsze mody.

Jednak serdeczne wyrazy uznania wysyłam także do wielu pozostałych osób, które nie znalazły się w powyższych wynikach, a zasługują na pochwałę.

dla CheQ za wieczny optymizm i wielkie serce okazywane użytkownikom, nie tylko w postaci pomocy, ale także i krzepienia ducha
dla Sebula za wytrwałość i umiejętność stosowania niekonwencjonalnych rozwiązań oraz szeregu przydatnych publikacji
dla MarWita za nieocenione, staranne skrypty, bez których stworzenie wielu modyfikacji byłoby wręcz niemożliwych
dla Fili:Pa za ciekawe pomysły, wiele nietuzinkowych prac i ciągłe zaskakiwanie nas nowymi rozwiązaniami
dla Ojca Dyrektora za zimną krew i radzenie sobie z wieloma trudnymi przypadkami na forum i poza nim
dla Sharka za wyjątkowe poczucie humoru, za samą jego obecność na forum i trafne, ale dobitne uwagi
dla Kawona za naprawdę sporą cierpliwość, wyrozumiałość i rzadko spotykaną pracowitość na forum
dla Onyke za niepowtarzalny i dopracowany kod i racjonalne podejście do wielu istotnych problemów
dla Speedkilla za olbrzymią pracę, jaką wkłada w pomoc i zaangażowanie, którego często nie widać
dla Portka za najlepsze poczucie humoru, nieocenioną pomoc, trafne argumenty i spostrzeżenia
dla Na 5tyka za staranne pogłębianie swojej wiedzy i niemałą pomoc udzieloną wielu osobom
dla Cypisa za dokładność i staranność w wielu tworzonych przez siebie, potężnych aplikacji
dla GwynBleidDa za wyjątkową dbałość o szczegóły i cenne porady, jakie nam przekazuje
i dla całej reszty społeczności forum, która dzieli się swoją wiedzą i umiejętnościami.

Jesteście wspaniali. Gratulacje!


#494198 Generator Broni Niestandardowych

Napisane przez Fili:P w 27.12.2012 09:43

Przedstawiam prosty generator broni niestandardowych. Pisałem go jedynie 2 dni, bo przecież nie ma wiele opcji.
Link do niego: Weapon Creator by Fili:P
Serdecznie, jak można zauważyć po linku, dziękuję beniowi za użyczenie hostingu. Jeżeli coś nie tak z generatorem proszę śmiało pisać pozdrawiam.

Nie można podmieniać AK47, ponieważ nie można zmieniać jego sprite.
Nie można na raz dać graczowi 2 broni, które podmieniają 1 broń.
Wygenerowany kod udostępnia 2 natywy, których nazwy sami ustawiamy. Pierwszy natyw daje nam broń, a drugi ją zabiera.
Pliki potrzebne do stworzenia nowej broni:
  • Model P
  • Model V
  • Model W
  • Sprite z niewybraną bronią.
  • Sprite z wybraną bronią ( można podać ten sam plik do tych 2 )
  • Plik z konfiguracją sprite. Więcej na ten temat: http://forums.allied...ad.php?t=175632

  • +
  • -
  • 16


#360863 Fake Team Bot v1.3

Napisane przez sebul w 08.02.2012 21:57

opis
To samo co tutaj http://amxx.pl/topic...e-team-bot-v11/ tylko z jedną ważną przeróbką. Plugin dodaje boty gdy na serwerze jest mniej graczy niż X (edytowane cvarem), ale także kickuje je, gdy warunek ten nie zostanie spełniony, czyli gdy jest więcej graczy. Stan graczy sprawdzany jest co kilka sekund, więc na boty trzeba czasami trochę poczekać. Sam mam ten plugin u siebie na serwerze, co prawda na początku było w nim parę bugów, ale zostały one już chyba naprawione, bo od dłuższego czasu wszystko jest ok.

cvary
dm_fakebot_min_player "8" // poniżej ilu graczy ma być na serwerze, aby boty się dodały

instalacja
Standardowa.

download

Załączone pliki


  • +
  • -
  • 12


#494271 Licenja

Napisane przez dasiek w 27.12.2012 11:43

Plugin będzie (teoretycznie) bezpieczny jeśli 'rozpowszechniasz' plik Amxx. Jak chcesz się pobawić w licencje możesz zrobić taki cmyk że w pluginie będzie na sztywno wbite połączenie do Twojej bazy - w bazie zapisywać będziesz IP i 0-1 (1 działa , 0 nie działa) i robisz to na podobnej zasadzie jak z IP który podał HubertTM
  • +
  • -
  • 3


#493897 Menu Admina v 1.0

Napisane przez speedkill w 26.12.2012 16:33

public cbmenu_admina(id,menu,item)
{
	if(!is_user_connected(id))
		return PLUGIN_CONTINUE;
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	
	switch(item)
	{
		case 0:
		{
			Gracz(id)
			opcja = 1
		}
		case 1:
		{
			Gracz(id)
			opcja = 2
		}
		case 2:
		{
			Gracz(id)
			opcja = 3
		}
		case 3:
		{
			Gracz(id)
			opcja = 4
		}
		case 4:
		{
			Gracz(id)
			opcja = 5
		}
		case 5:
		{
			Gracz(id)
			opcja = 6
		}
		case 6:
		{
			Gracz(id)
			opcja = 7
		}
	}
	return PLUGIN_CONTINUE;
}

public cbmenu_admina(id,menu,item){	
	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	
	if(is_user_connected(id)){
		Gracz(id)
		opcja = item + 1;
	}
	return PLUGIN_CONTINUE;
}
Nie łatwiej :D ?
  • +
  • -
  • 3


#493856 Colorchat - 2 inne wersje

Napisane przez sebul w 26.12.2012 15:18

Colorchat 1 (tak jakby poprawiona wersja standardowego colorchatu)
Spoiler


Colorchat 2
Spoiler

Załączone pliki


  • +
  • -
  • 10


#493771 Optymalny sposób - menu sklepu

Napisane przez Fili:P w 26.12.2012 11:37

Stworzyłem specjalnie dla ciebie shop api :)
Oto jego kod:
Spoiler

Jeżeli chcesz zmienić komendę otwierającą sklep zamień ją w lini:
#define KOMENDA "say /sklep"


Tworzenie itemów
W plugin_init rejestrujemy przedmiot:
item_register( "Gold M4", 10000 /* to oznacza że zapłacimy 10000$ */, TEAM_CT );

W 3 argumencie możemy użyć sumy bitowej :)
Wartości to TEAM_TT i TEAM_CT.

Wykrycie kupna itemu
Nie miałem pojęcia, czy chcesz aby item był na runde czy na ile, więc po prostu wywołuje się forward podczas kupna przedmiotu a zabierasz go gdy chcesz.
public item_buy( id, item )
{
// gracz kupil item
}


Przykładowy item - Smoke
#include <amxmodx>
#include <fun>

native item_register( nazwa[ 32 ], koszt, team );
new item_id;

public plugin_init() {
register_plugin("", "", "")
item_id = item_register( "Smoke grenade", 100, TEAM_CT|TEAM_TT );
}
public item_buy( id, item )
{
if( item != item_id )
return 0;
give_item( id, "weapon_smokegrenade" );
}

  • +
  • -
  • 1


#493718 Optymalny sposób - menu sklepu

Napisane przez GwynBleidD w 26.12.2012 00:22

Jak Ci wygodniej :) Robiąc w jednym natywie możesz szybko rozszerzyć do kilku dodatkowych rzeczy. Dodatkowo możesz np przekazać do funkcji TEAM_TT|TEAM_CT żeby dodać do obu drużyn do menu coś za jednym zamachem :) Oczywiście musisz to odpowiednio obsłużyć ;)
  • +
  • -
  • 1