[Tutorial dla początkujących] Ruletka
dasiek
10.12.2010
Siemanko
Chciałbym wam pokazać jak w łatwy sposób każdy może napisać własną Rultekę na serwer.
Więc na początku :
Definiujemy biblioteki z których mają być pobierane komenty. W amxx studio z automatu jest to
jednak nie wystarczą nam one więc dodamy jeszcze
Polecam:
początek Pluginu (dla tych co korzystają z notatnika w amxx studio jest z automatu to) :
Bez public_init plugin nam nie będzie działał więc nie usuwamy go
Zaczynamy główne pisanie
w public_init() dodajemy linijke która będzie nam przywoływać ruletke gdy gracz wpisze w
say'u np /rulecia
Dodajemy:
W pierwszych cudzysłowiach określamy co dany gracz musi wpisać W KONSOLI żeby uruchomić rulecie
(dlatego piszemy say /rulecia gdyż mamy ten sam efekt jakbyśmy pisali w czacie)
dla lepszego działania określimy to żeby odpalało naszą rulecie jak gracz będzie pisał do teamu
i oto jakieś 10 % roboty
czas na pisanie głównego programu
zamykającej klamerze ("}") dajemy ENTER żeby nasz plugin ładniej wyglądał
i piszemy funkcje rulecia
Gdybyśmy Tego nie zrobili nie zapisalibyśmy bo ponieważ nie znalazłoby funkcji "rulecia" którą zadeklarowaliśmy
gdy gracz wpisze w czacie /rulecia.
dopisaliśmy (id) po to, by ruletka była losowana dla pojedyńczego gracza a nie dla całego serwera.
Teraz element Losowania. Służy do tego komenda:
w ten oto sposób nasza ruletka będzie miała 4 elementy
aby dodać więcej elementów piszemy np dla 500 elementów:
czas opisać co ma losować.
po klamerkach otwierających piszemy numer i dalej co ma robić jeśli go wylosuje.
Opiszemy Teraz że jedną z naszych atrakcji na ruletce jest ustawienie HP do 1
Jak nie ma błędów przy zapisywaniu jest dobrze
teraz coś o Dodawaniu czegoś. Robimy to za pomocą komendy
np przy wyborze numeru 2 gracz dostanie m4
Kod:
c
i gracz po wylosowaniu dostanie M4.
Gdy napiszemy
gracz nie dostanie nic. Wyskoczy mu na chacie że ma pecha.
na 4 rzecz wpadniecie sami
Teraz zakończymy losowanie klamrą
i cały public rulecia też. Nasz plugin wygląda tak
Nie wiem jak wam ale mi się Skompilowało bez błędów.
aby ruletke rozbudować polecam poczytać o operacjach na graczu naprawde jest z Tym fajna zabawa.
Tutorial Wykonany przez CheQ. (Hakuna Matata )
Kopiowanie i rozpewszechnianie dozwolane jedynie z podpisem autora.
Jest to mój pierwszy tutorial więc proszę nie pisać rzeczy w stylu "po co to i dlaczego" czy coś. Komuś to się może przydać
Chciałbym wam pokazać jak w łatwy sposób każdy może napisać własną Rultekę na serwer.
Więc na początku :
Definiujemy biblioteki z których mają być pobierane komenty. W amxx studio z automatu jest to
#include <amxmodx>
#include <amxmisc>
jednak nie wystarczą nam one więc dodamy jeszcze
Polecam:
#include <fun> <-Sprawy związane z graczem (jego życiem,kamizelką,grawitacją,szybkością itp)
#include <cstrike> <-Podobne co wyżej tylko "Trudniejsze" xd
początek Pluginu (dla tych co korzystają z notatnika w amxx studio jest z automatu to) :
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <fakemeta>
#include <engine>
#define PLUGIN "Ruletka_Tutek" //<-Nazwa Pluginu
#define VERSION "1.28" //<-Wersja (tak dla szpanu dodany że niby zpachowana itp)
#define AUTHOR "CheQ" //<- Autro pluginu
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR); // <- To jest po to by 2 raz nie wprwoadzac Danych o Pluginie
}
Bez public_init plugin nam nie będzie działał więc nie usuwamy go
Zaczynamy główne pisanie
w public_init() dodajemy linijke która będzie nam przywoływać ruletke gdy gracz wpisze w
say'u np /rulecia
Dodajemy:
register_clcmd("say /rulecia","rulecia");
W pierwszych cudzysłowiach określamy co dany gracz musi wpisać W KONSOLI żeby uruchomić rulecie
(dlatego piszemy say /rulecia gdyż mamy ten sam efekt jakbyśmy pisali w czacie)
dla lepszego działania określimy to żeby odpalało naszą rulecie jak gracz będzie pisał do teamu
register_clcmd("say_team /rulecia","rulecia");
i oto jakieś 10 % roboty
czas na pisanie głównego programu
zamykającej klamerze ("}") dajemy ENTER żeby nasz plugin ładniej wyglądał
i piszemy funkcje rulecia
public rulecia(id)
{
//Tu będzie kod naszej funkcji rulecia
}
Gdybyśmy Tego nie zrobili nie zapisalibyśmy bo ponieważ nie znalazłoby funkcji "rulecia" którą zadeklarowaliśmy
gdy gracz wpisze w czacie /rulecia.
dopisaliśmy (id) po to, by ruletka była losowana dla pojedyńczego gracza a nie dla całego serwera.
Teraz element Losowania. Służy do tego komenda:
switch(random_num(1, 4)) // swich()-wybierz, Random_num()-spomiędzy
{
//kod
}
w ten oto sposób nasza ruletka będzie miała 4 elementy
aby dodać więcej elementów piszemy np dla 500 elementów:
switch(random_num(1, 500))
{
//kod
}
czas opisać co ma losować.
po klamerkach otwierających piszemy numer i dalej co ma robić jeśli go wylosuje.
switch(random_num(1, 4))
{
case 1 :
{
//Kod
}
}
Opiszemy Teraz że jedną z naszych atrakcji na ruletce jest ustawienie HP do 1
switch(random_num(1, 4))
{
case 1 :
{
client_print(id,print_chat,"Masz 1 HP"); // Client print i print chat ustawia nam że
graczowi zostaje (w tym przypadku) wypisanie
Masz 1 HP
set_user_health(id,1); // ustawia graczowi HP na 1 (pierwsza wartość-konkretny gracz a nie
cały serwer a druga to ilość HP
}
Jak nie ma błędów przy zapisywaniu jest dobrze
teraz coś o Dodawaniu czegoś. Robimy to za pomocą komendy
give_item(id,"przedmiot");
np przy wyborze numeru 2 gracz dostanie m4
Kod:
c
ase 2:
{
client_print(id,print_chat,"Dostajesz M4");
give_item(id,"weapon_m4a1");
//dodajmy tez magazynek xd
give_item(id, "ammo_556nato");
}
i gracz po wylosowaniu dostanie M4.
Gdy napiszemy
case 3:
{
client_print(id,print_chat,"Masz Pecha");
}
gracz nie dostanie nic. Wyskoczy mu na chacie że ma pecha.
na 4 rzecz wpadniecie sami
Teraz zakończymy losowanie klamrą
switch(random_num(1, 4))
{
case 1 :
{
client_print(id,print_chat,"Masz 1 HP"); // Client print i print chat ustawia nam że
graczowi zostaje (w tym przypadku) wypisanie
Masz 1 HP
set_user_health(id,1); // ustawia graczowi HP na 1 (pierwsza wartość-konkretny gracz a nie
cały serwer a druga to ilość HP
}
case 2:
{
client_print(id,print_chat,"Dostajesz M4");
give_item(id,"weapon_m4a1");
//dodajmy tez magazynek xd
give_item(id, "ammo_556nato");
}
case 3:
{
client_print(id,print_chat,"Masz Pecha");
}
} // <-o Ta!
i cały public rulecia też. Nasz plugin wygląda tak
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <fakemeta>
#include <engine>
#define PLUGIN "Ruletka_Tutek"
#define VERSION "1.28"
#define AUTHOR "CheQ"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say /rulecia","rulecia");
register_clcmd("say_team /rulecia","rulecia");
}
public rulecia(id)
{
switch(random_num(1, 4))
{
case 1 :
{
client_print(id,print_chat,"Masz 1 HP");
set_user_health(id,1);
}
case 2:
{
client_print(id,print_chat,"Dostajesz M4");
give_item(id,"weapon_m4a1");
give_item(id, "ammo_556nato");
}
case 3:
{
client_print(id,print_chat,"Masz Pecha");
}
case 4:
{
client_print(id,print_chat,"Masz 100 HP");
set_user_health(id,100);
}
}
}
Nie wiem jak wam ale mi się Skompilowało bez błędów.
aby ruletke rozbudować polecam poczytać o operacjach na graczu naprawde jest z Tym fajna zabawa.
Tutorial Wykonany przez CheQ. (Hakuna Matata )
Kopiowanie i rozpewszechnianie dozwolane jedynie z podpisem autora.
Jest to mój pierwszy tutorial więc proszę nie pisać rzeczy w stylu "po co to i dlaczego" czy coś. Komuś to się może przydać
MaDaFaKa 10.12.2010
Przecież to jest zwykłe rozebranie pluginu "Ruletka" na części. Nie wiem czemu/komu miał pomóc Twój poradnik, ale jak dla jest on bezużyteczny, ponieważ sam pierwotny plug jest o wiele lepszy i bardziej udoskonalony niż podany w tym temacie.
fejkens
10.12.2010
I ten nic nie umiejący teraz dziękuje . Przydało się bardzo, bo w końcu ogarnąłem o co chodzi w tym.
Zuy Człowiek
11.12.2010
Pewien błąd:
dałeś takie moduły
Po co engine, po co fm, po co cstrike? Początkujący nie zrozumie co to oznacza i będzie dodawał wszystko nawet jak nie potrzebuje ;d
dałeś takie moduły
#include <amxmodx> #include <amxmisc> #include <fun> #include <cstrike> #include <fakemeta> #include <engine>
Po co engine, po co fm, po co cstrike? Początkujący nie zrozumie co to oznacza i będzie dodawał wszystko nawet jak nie potrzebuje ;d
Marox44
20.02.2011
Tutek super, ale ja mam pytanko. Da się zrobić żeby case dotyczył zakresu liczb? Tzn. mam random 0,1000 a w od 0 do 100 ma byc to samo, to mozna jakoś to jedną komenda zalatwić, zamiast pisac 100 takich samych osobno?
DarkGL
02.08.2011
Automatyczna wiadomość
Ten temat został przeniesiony z forum:
Scripting -> Tutoriale
do
Scripting -> Tutoriale -> Modyfikacje pluginów
Ten temat został przeniesiony z forum:
Scripting -> Tutoriale
do
Scripting -> Tutoriale -> Modyfikacje pluginów
Lumik
28.02.2012
Jestem nowy i przydało mi się tylko 1 ale skąd mam wziąć np
client_print(id,print_chat,"Dostajesz M4");
give_item(id,"weapon_m4a1");
give_item(id, "ammo_556nato");
I np chce dodac ak i tp i zkd mam wziąć kod na ammo itp ?? ;D
client_print(id,print_chat,"Dostajesz M4");
give_item(id,"weapon_m4a1");
give_item(id, "ammo_556nato");
I np chce dodac ak i tp i zkd mam wziąć kod na ammo itp ?? ;D
nokiaclass
09.07.2012
tutek bardzo mi się przydał, chociaż brakuje mi tu jeszcze dostawania czegoś na określoną ilość czasu, np. chodzenie jak staruszek przez 15 sekund i dodatkowo do tego muzyczka. Jak to zrobić?
dasiek
10.07.2012
Był to mój pierwszy tutorial - wielu rzeczy nie umiałem zrobić.
Coś czasowo to polecam zapoznać się z tutorialem http://amxx.pl/topic...unkcje-czasowe/
Coś czasowo to polecam zapoznać się z tutorialem http://amxx.pl/topic...unkcje-czasowe/
luki3507
12.07.2012
niby fajny tutek ale , trochę ta ruletka niedopracowana po można zrobić sobie binda i co sekundę spamować tym
QuahodronN
12.07.2012
@UP po 1 można zrobić aby ruletka kosztowała a po 2 żeby można było użyć np raz na rundę
a poradnik przedstawia od czego zaczynać z ruletką.
a poradnik przedstawia od czego zaczynać z ruletką.
Jakemajster 20.07.2012
Świetny tutorial, przejrzyste, łatwe dla początkujących. Czekam na więcej.
Lem^oN 02.02.2013
Dzięki CheQ naprawdę przydatny Ogarnełem mniej więcej o co chodzi, teraz umiem korzystać z bibliotek amxx i robie proste pluginy