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
 

GmbH - zdjęcie

GmbH

Rejestracja: 25.03.2012
Aktualnie: Nieaktywny
Poza forum Ostatnio: 03.09.2013 14:45
-----

#195217 [Tutorial dla początkujących] Ruletka

Napisane przez dasiek w 10.12.2010 15:44

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ć ;)
  • +
  • -
  • 25


#469422 Fast Download

Napisane przez Makale w 19.10.2012 17:53

Polecam Ci zrobić zewnętrze FastDL. Jest pełno od tego poradników. Polecam Ci ugu.pl (robisz tam konto, wgrywasz na serwer pliki i dopisujesz do server.cfg sv_downloadurl "http://twoja.strona.ugu.pl").

Polecam :) A gdy masz większe pliki to polecam cba.pl
  • +
  • -
  • 1