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
 

Zdjęcie

[Tutorial dla początkujących] RuletkaJak w łatwy sposób napisać Ruletke


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
19 odpowiedzi w tym temacie

#1 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 10.12.2010 15:44

*
Popularny

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

#2 MaDaFaKa

    Zaawansowany

  • Zbanowany

Reputacja: 59
Pomocny

  • Postów:96
  • Imię:Damian
  • Lokalizacja:Warszawa
Offline

Napisano 10.12.2010 17:38

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.

#3 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Autor tematu
  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 10.12.2010 18:06

Napisałem go dla ludzi którzy NIC nie umieją w te klocki.
  • +
  • -
  • 0

#4 fejkens

    Nowy

  • Nowy

Reputacja: 0
Nowy

  • Postów:1
  • Imię:no
  • Lokalizacja:no
Offline

Napisano 10.12.2010 23:13

I ten nic nie umiejący teraz dziękuje ;). Przydało się bardzo, bo w końcu ogarnąłem o co chodzi w tym.
  • +
  • -
  • 0

#5 Zuy Człowiek

    Pomocny

  • Użytkownik

Reputacja: 23
Życzliwy

  • Postów:48
  • Imię:Mateusz
  • Lokalizacja:Kraków
Offline

Napisano 11.12.2010 21:04

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
  • +
  • -
  • 0
Posted Image

#6 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Autor tematu
  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 14.12.2010 09:41

aaaaa masz racje mój błąd :)
  • +
  • -
  • 0

#7 Sharkmen

    Pomocny

  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:70
  • GG:
  • Imię:Przemek
  • Lokalizacja:Byczyna
Offline

Napisano 29.01.2011 10:43

wystarczy <fun> i koniec ;D a tutek nawet nawet ;D
  • +
  • -
  • 0

Dołączona grafika


#8 Marox44

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:16
  • Imię:Marek
  • Lokalizacja:Gliwice
Offline

Napisano 20.02.2011 17:49

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?
  • +
  • -
  • 0

#9 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Autor tematu
  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 21.02.2011 14:39

bodajrze

case 1..100 :

  • +
  • -
  • 0

#10 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 02.08.2011 12:56

Automatyczna wiadomość


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

  • +
  • -
  • 0

#11 Dominik590

    Nowy

  • Nowy

Reputacja: 0
Nowy

  • Postów:2
  • Lokalizacja:Aleksandrów Łódzki
Offline

Napisano 09.08.2011 19:10

Dobry tutorial pobawię się z tym potem trochę :) +
  • +
  • -
  • 0

#12 Lumik

    Życzliwy

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:26
  • Lokalizacja:Bydgoszcz
Offline

Napisano 28.02.2012 14:49

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
  • +
  • -
  • 0
Dołączona grafika

#13 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 28.02.2012 15:45

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

#14 Lumik

    Życzliwy

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:26
  • Lokalizacja:Bydgoszcz
Offline

Napisano 28.02.2012 15:55

dzięki Dzuebju leci + a poradnik naprawdę fajnyy
  • +
  • -
  • 0
Dołączona grafika

#15 nokiaclass

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:11
  • Imię:Michał
  • Lokalizacja:Gdańsk
Offline

Napisano 09.07.2012 23:35

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ć?
  • +
  • -
  • 0

#16 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Autor tematu
  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 10.07.2012 08:12

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/
  • +
  • -
  • 0

#17 luki3507

    Zaawansowany

  • Użytkownik

Reputacja: 19
Początkujący

  • Postów:120
  • Lokalizacja:częstochowa
Offline

Napisano 12.07.2012 18:46

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

#18 QuahodronN

    Godlike

  • Power User

Reputacja: 230
Wszechwidzący

  • Postów:1 262
  • GG:
  • Steam:steam
  • Imię:Olo
  • Lokalizacja:Śląsk
Offline

Napisano 12.07.2012 22:11

@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ą.
  • +
  • -
  • 0

| CPU: I7-6700K @4.7GHz | Cooling: Corsair H110 | GPU: MSI GTX 1080 Gaming X | MOBO: Asus Maximus VIII Hero | RAM: Kingston Savage 16GB DDR4 @2800MHz |

| SSD: Samsung 840 Pro 128GB | SSD2: Samsung 840 Pro 256GB  |  PSU: Be Quiet L8 630W | Case: Gladius M40 | Mouse: Gigabyte M6980X | Keyboard: Sharkoon SHARK ZONE K20 Headphones: HyperX HX Cloud Black Display: Triple LG 24MP67VQ-P |

 

TS3: ts.kreedzmania.pl - 512 Slotów - Darmowe Kanały ;)


#19 Jakemajster

    Banned

  • Zbanowany

Reputacja: -3
Nowy

  • Postów:9
  • Imię:Kuba
  • Lokalizacja:Zacharzyn
Offline

Napisano 20.07.2012 00:32

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

#20 Lem^oN

    Życzliwy

  • Zbanowany

Reputacja: -1
Nowy

  • Postów:22
  • Imię:Łukasz
  • Lokalizacja:Ngd
Offline

Napisano 02.02.2013 23:17

Dzięki CheQ naprawdę przydatny ;) Ogarnełem mniej więcej o co chodzi, teraz umiem korzystać z bibliotek amxx i robie proste pluginy ^^




Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych