←  Modyfikacje pluginów

AMXX.pl: Support AMX Mod X i SourceMod

»

[Tutorial dla początkujących] Ruletka

  • +
  • -
dasiek's Photo 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
#include <amxmodx>
#include <amxmisc>

jednak nie wystarczą nam one więc dodamy jeszcze :D
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 xD

Zaczynamy główne pisanie :D

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 xD

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 :D

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 xD)
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ć ;)
Quote

MaDaFaKa's Photo 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.
Quote

  • +
  • -
dasiek's Photo dasiek 10.12.2010

Napisałem go dla ludzi którzy NIC nie umieją w te klocki.
Quote

  • +
  • -
fejkens's Photo 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.
Quote

  • +
  • -
Zuy Człowiek's Photo Zuy Człowiek 11.12.2010

Pewien błą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
Quote

  • +
  • -
dasiek's Photo dasiek 14.12.2010

aaaaa masz racje mój błąd :)
Quote

  • +
  • -
Sharkmen's Photo Sharkmen 29.01.2011

wystarczy <fun> i koniec ;D a tutek nawet nawet ;D
Quote

  • +
  • -
Marox44's Photo 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?
Quote

  • +
  • -
dasiek's Photo dasiek 21.02.2011

bodajrze

case 1..100 :
Quote

  • +
  • -
DarkGL's Photo DarkGL 02.08.2011

Automatyczna wiadomość


Ten temat został przeniesiony z forum:
Scripting -> Tutoriale
do
Scripting -> Tutoriale -> Modyfikacje pluginów
Quote

  • +
  • -
Dominik590's Photo Dominik590 09.08.2011

Dobry tutorial pobawię się z tym potem trochę :) +
Quote

  • +
  • -
Lumik's Photo 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
Quote

  • +
  • -
Nakupenda.'s Photo Nakupenda. 28.02.2012

http://amxx.pl/topic...d/<br /><br />następnym razem załóż osobny temat :)
Quote

  • +
  • -
Lumik's Photo Lumik 28.02.2012

dzięki Dzuebju leci + a poradnik naprawdę fajnyy
Quote

  • +
  • -
nokiaclass's Photo 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ć?
Quote

  • +
  • -
dasiek's Photo 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/
Quote

  • +
  • -
luki3507's Photo luki3507 12.07.2012

niby fajny tutek ale , trochę ta ruletka niedopracowana po można zrobić sobie binda i co sekundę spamować tym :>
Quote

  • +
  • -
QuahodronN's Photo 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ą.
Quote

Jakemajster's Photo Jakemajster 20.07.2012

Świetny tutorial, przejrzyste, łatwe dla początkujących. Czekam na więcej.
Quote

Lem^oN's Photo 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 ^^
Quote