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

PAWN/AMXX - Totalny początekJak zacząć?


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

#1 ADRIANq ^^

    Zaawansowany

  • Zbanowany

Reputacja: 30
Życzliwy

  • Postów:99
  • GG:
  • Steam:steam
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 22.10.2011 20:11

Cześć,
Jestem totalnie zielony w pawnie/amxx i nie umiem napisac nawet prostego pluginu.

Od czego powinienem zacząć. Znacie jakieś kursy programowania w pawn (nawet płatne) ?
Zakupiłem kurs C++ bo wiem że pawn wywodzi się z tego języka, są jakieś większe powiązania ?
Coś co od totalnego 0 pozwoli mi wybrnąć i tworzyć chociaż proste pluginy.

Dodam że fajnie by było gdyby to był wideokurs.

Użytkownik Uszaty Kundel edytował ten post 22.10.2011 20:20


#2 Onyke

    Godlike

  • Przyjaciel

Reputacja: 708
Guru

  • Postów:2 178
Offline

Napisano 22.10.2011 20:42

http://amxx.pl/forum/16-tutoriale/
http://amxx.pl/topic...zebny-tutorial/
http://amxx.pl/dokumentacja/
http://www.amxmodx.org
http://forums.alliedmods.net/

Patrz w kody innych pluginów itp
  • +
  • -
  • 1

#3 ^Grzyboo

    Wszechobecny

  • Użytkownik

Reputacja: 246
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

Napisano 22.10.2011 21:23

Proponuję serwer codmod, wszelakie próby jego edycji. Dziecinnie prosta budowa moda sprawia, że jest świetnym materiałem na naukę. Chodzi o starego CODa!
  • +
  • -
  • 1

#4 stepdub

    Profesjonalista

  • Użytkownik

Reputacja: 43
Pomocny

  • Postów:207
  • Lokalizacja:Kobyłka
Offline

Napisano 22.10.2011 22:38

ale mimo wszystko to dużo linijek do ogarnięcia, proponuje ogarnąć jakiś prostszy plugin, a później kolejne i uczyć się ich funkcji stopniowo :)
  • +
  • -
  • 0

#5 mlekowita

    Wszechpomocny

  • Zbanowany

Reputacja: 91
Zaawansowany

  • Postów:398
  • Lokalizacja:Polska
Offline

Napisano 22.10.2011 23:21

Ja też w tym byłem zielony. Kupiłem serwer bawiłem się szukałem tutoriali co jak samemu zrobić i buch. Trochę już umie :D Dzisiaj napisałem prosty plugin do resetu rundy :D

#6 A może sma?

    Godlike

  • Power User

Reputacja: 546
Wszechwiedzący

  • Postów:1 464
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 22.10.2011 23:23

Zasadniczo to PAWN jest na bazie C, a nie C++ :D
Znaczy ma taką samą składnię :P Prawie.
  • +
  • -
  • 1

#7 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

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

Napisano 23.10.2011 08:17

większość języków programowania ma podobną składnię , nie chodzi o to żeby nauczyć się składni bo to każdy potrafi ale zrozumieć jak działa programowanie
  • +
  • -
  • 1

#8 ADRIANq ^^

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 30
Życzliwy

  • Postów:99
  • GG:
  • Steam:steam
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 23.10.2011 08:42

Dzięki za rady, jakbyście mieli albo znali jakieś wideoarty to tez piszcie. Na pewno się skusze.

@Edit:

Czy ktoś byłby na tyle dobry aby zrobić jakiś prosty plugin dla mnie i wyjaśnić mi poprzez "//" co do czego ?

Użytkownik Uszaty Kundel edytował ten post 23.10.2011 09:36


#9 mlekowita

    Wszechpomocny

  • Zbanowany

Reputacja: 91
Zaawansowany

  • Postów:398
  • Lokalizacja:Polska
Offline

Napisano 23.10.2011 10:16

Wyjaśnię na moim pluginie :D Jest to prosty plugin polegający na wpisaniu rr lub /rr i pokazuje menu pod 1 są zasady a pod 2 funkcja Restart Rundy :)


/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "RestartRound"
#define VERSION "1.0"
#define AUTHOR "Kacper"


public plugin_init() {   // rozpoczynamy plugin
	register_plugin(RestartRound, 1.0, Kacper)
	register_clcmd("say /rr","funkcja")  // pod jaka komenda ma byc wyswietlane menu
	register_clcmd("say rr","funkcja") // up mozna dodac dwie komendy


}
// Wyglad menu i kto ma do niego dostep.
public funkcja(id){
	new menu = menu_create("RestartRound Menu","sterowanie") // główna nazwa naszego menu

	menu_additem(menu," Zasady","1",ADMIN_MENU)  // 1 opcja w naszym menu . ADMIN_MENU czyli admin który ma dostęp do amxmodmenu
	menu_additem(menu," Restart Rundy","2",ADMIN_PASSWORD) // 2 opcja w naszym menu. ADMIN_PASSWORD czyli admin który ma dostęp do amx_cvar

	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) // opcja do zamknięcia menu
	menu_display(id,menu,0)
}
// uczymy plugin co i jak
public sterowanie(id,menu,item){
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	new data[6], iName[64]
	new acces, callback
	menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)
	new key = str_to_num(data)
	switch(key)
	{
		case 1:{
			show_motd(id,"zasady.txt","Zasady") // case 1:{ oznacza 1 opcje w menu. show_mot(id,"zasady.txt","Zasady") - czyta plik zasady.txt z cstrike
		}
		case 2:{
			client_cmd(id,"sv_restart 1") // client_cmd(id,"sv_restart 1") wywołuje komende u admina w consoli
		}
	}
	menu_destroy(menu)
	return PLUGIN_HANDLED
}

Mi ten plugin działa tak jak sobie to wyobrażałem. :) Mam nadzieję, że już wiesz coś więcej o pisaniu pluginów.
PS. Nie wiem czy dobrze wytłumaczyłem, bo w tłumaczeniu nie jestem zbytnio dobry :D

Użytkownik Kacper357 edytował ten post 23.10.2011 10:18


#10 ADRIANq ^^

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 30
Życzliwy

  • Postów:99
  • GG:
  • Steam:steam
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 23.10.2011 10:42

Dzięki, zaraz coś pokombinuje

Oto moje wypocinki na podstawie pluginu kacpera

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Update Menu"
#define VERSION "1.0"
#define AUTHOR "Uszaty"

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /update","funkcja") // pod jaka komenda ma byc wyswietlane menu
register_clcmd("say update","funkcja") // up mozna dodac dwie komendy
register_clcmd("say upd@te","funkcja") // up mozna dodac trzy komendy
register_clcmd("say /upd@te","funkcja") // up mozna dodac cztery komendy
}
// Wyglad menu i kto ma do niego dostep.
public funkcja(id){
new menu = menu_create("Menu Updatow","sterowanie") // główna nazwa naszego menu
menu_additem(menu,"y Update 22 Pazdziernik","1",ADMIN_USER) // 1 opcja w naszym menu . ADMIN_USER czyli gracz.
menu_additem(menu,"y Update 10 Pazdziernik","2",ADMIN_USER) // 2 opcja w naszym menu. ADMIN_USER czyli gracz.
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) // opcja do zamknięcia menu
menu_display(id,menu,0)
}
// uczymy plugin co i jak
public sterowanie(id,menu,item){
if(item == MENU_EXIT)
{
menu_destroy(menu) /* To akurat z PHP znam destroy, zamknij */
return PLUGIN_HANDLED
}
new data[6], iName[64] // Tych linijek od tej do 3 w dół nie kumam
new acces, callback
menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)
new key = str_to_num(data)
switch(key)
{
case 1:{
show_motd(id,"uptodate2310.txt","Update 22 Pazdziernik") // Otworz plik uptodate2310.txt
}
case 2:{
show_motd(id,"uptodate1010.txt","Update 10 Pazdziernik") // Otworz plik uptodate1010.txt
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}


Są jakieś błędy ?

Użytkownik Uszaty Kundel edytował ten post 23.10.2011 10:43


#11 mlekowita

    Wszechpomocny

  • Zbanowany

Reputacja: 91
Zaawansowany

  • Postów:398
  • Lokalizacja:Polska
Offline

Napisano 23.10.2011 11:07

Z tego co widzę są to dzienniki zmian na serwerze ? :)


menu_additem(menu,"y Update 22 Pazdziernik","1",ADMIN_USER)  // 1 opcja w naszym menu . ADMIN_USER czyli gracz.
				menu_additem(menu,"y Update 10 Pazdziernik","2",ADMIN_USER)  // 2 opcja w naszym menu. ADMIN_USER czyli gracz.

Tutaj dodałeś y więcj efekt jest taki jaki jest. + dałeś ADMIN_USER czyli gracze będą mogli z tego korzystać a admini nie :)

http://amxx.pl/uploa...451__update.png

Ale brawo. Napisałeś swój 1 plugin :)

Użytkownik Kacper357 edytował ten post 23.10.2011 11:09


#12 ADRIANq ^^

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 30
Życzliwy

  • Postów:99
  • GG:
  • Steam:steam
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 23.10.2011 11:25

Ok, dzięki. Jak zrobić żeby gracze i admini (wszyscy) mogli patrzeć ?
y trzeba wywalić.

Tak to dziennik zmian co było na serwerze. Możesz mi jeszcze powiedzieć jak zrobić drugą stronę czy robi się ona automatycznie ? Np. mam już 7 dzienników i 8 chcę żeby był już na 2 stronie.

#13 mlekowita

    Wszechpomocny

  • Zbanowany

Reputacja: 91
Zaawansowany

  • Postów:398
  • Lokalizacja:Polska
Offline

Napisano 23.10.2011 12:03

Na przykład.

menu_additem(menu," Update 10 Pazdziernik","2",ADMIN_USER,ADMIN_CHAT)  // 2 opcja w naszym menu. ADMIN_USER czyli gracz i ADMIN_CHAT czyli admin który może użyć say@

Powinny się same dorobić strony. Jeżeli nie to napisz. Coś wykombinujemy. ;P

Użytkownik Kacper357 edytował ten post 23.10.2011 12:17


#14 ADRIANq ^^

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 30
Życzliwy

  • Postów:99
  • GG:
  • Steam:steam
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 23.10.2011 12:26

Ok

#15 mierzwi

    Banned

  • Zbanowany

Reputacja: 235
Wszechwidzący

  • Postów:651
  • Lokalizacja:Polska
Offline

Napisano 23.10.2011 14:26

jak chcesz żeby wszyscy mogli to wpisujesz 0

jeśli masz fejsa i chcesz mi pomóc to wejdź tutaj: Zaproś kumpla by lubił nasz sklep | Facebook

na pewno jakoś C się odwdzięczę!


#16 Droso

    Dawniej HubertTM

  • Support Team

Reputacja: 1 291
Godlike

  • Postów:2 371
  • Steam:steam
  • Imię:Hubert
  • Lokalizacja:Wrocław
Offline

Napisano 23.10.2011 15:03

#include <amxmodx>
#include <hamsandwich>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Administrator"

public plugin_init() {   // plugin_int poczatek mapy
		register_plugin(PLUGIN, VERSION, AUTHOR)  // rejestrowanie pluginu
		RegisterHam(Ham_Spawn, "player", "respawn", 1)   // ham_spawn respawn gracza nie jest to nowa runda bo moze gracz tez sie odrodzic w polowie rundy (reconnect <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/biggrin.png' class='bbc_emoticon' alt=':D' />)

server_print("Poczatek mapy:D");
}

public plugin_end()
// koniec mapy wywolywane tez przed zmiana
{



server_print("Zmiana mapy <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/biggrin.png' class='bbc_emoticon' alt=':D' />");  // kiedy jest koniec mapy w konsoli serwera wsyswietli wiadomosc <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/biggrin.png' class='bbc_emoticon' alt=':D' />

}

public respawn(id){  // respawn gracza (zajesestrowany w register ham)

if(is_user_alive(id)  // sprawdzamy czy gracz zyje pewnie spytasz po co to skoro to respawn gracza <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/biggrin.png' class='bbc_emoticon' alt=':D' /> ? Ale gracz tez moze byc na spect a wtedy nie zyje <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/biggrin.png' class='bbc_emoticon' alt=':D' />
client_print(id, print_chat, "Juz zyjesz <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/biggrin.png' class='bbc_emoticon' alt=':D' />")  // wiadomosc do gracza

// id to id gracza jezeli wpiszesz 0 wiadomosc wyswietli sie kazdemu
}

Zajrzyj do dokumentacji naucz sie warunków (if)
Potem już tylko poradniki
Polecam ci popatrzeć w kod cod moda starego bo jest napisany po polsku :DD

Użytkownik HubertTM edytował ten post 23.10.2011 15:04

  • +
  • -
  • 1

Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!

Na zlecenie i bez zlecenia zresztą też!


#17 Toldi

    Czempion

  • Power User

Reputacja: 259
Wszechwidzący

  • Postów:841
  • Imię:Mateusz
  • Lokalizacja:wies
Offline

Napisano 04.02.2016 21:34

/* Plugin generated by AMXX-Studio */


#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <colorchat>


#define PLUGIN "Hp & armor"
#define VERSION "1.0"
#define AUTHOR "Toldi"




public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /hparmor","zycie"); // rejestruje komende jaka gracz musi wpisac aby wylowac funkcje zycie 
}


public zycie(id){ // przygotowuje plugin do wykonania funkcji zycie 


if(!is_user_alive(id)) //sprawdza czy gracz zyje
client_print(id, print_chat, "Jestes nie zywy. Nie mozesz uzyc tej komendy") //Pokazuje informacje ze gracz jest nie zywy.


{
set_user_health(id, 120); // jesli gracz jest zywy dodaje mu 120 hp
set_user_armor(id, 200); // jesli gracz jest zywy dodaje my 200 armora
ColorChat(id, GREEN, "^x01 Dostales^x04 120 ^x03hp^x01 i^x04 200^x03 armora!") // Pokazuje informacje graczowi w kolorze ze dostal 120 hp i 200 armora.


//^x01 -  Standardowy kolor czyli taki jaki jest na sayu
//^x03 - Kolor druzyny
//^x04 -  Kolor zielony
ColorChat(id, GREEN, "^x01 Plugin zostal napisany przez^x04 Toldi") // Informuje gracza  kto napisal plugin


return PLUGIN_HANDLED;
}
}

Jest to moj 1 plugin ale działa tak jak chciałem :) Łap i patrz. Sam sb popisałem te komentarze zeby mi sie to utrwalało. Plugin naprawdę łatwy. Mam zamiar go ulepszać ciągle różnymi rzeczami gdy tylko naucze się czegoś.

#define <colorchat>

 ten moduł musisz sb sciągnąc z neta bo nie ma go wgranego w amx studio. 

 


Użytkownik Toldi edytował ten post 04.02.2016 21:36

  • +
  • -
  • 0

#18 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 08.02.2016 22:24

Mamy chyba rekordowy odkop na forum ^^


  • +
  • -
  • 1




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

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