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
 

FeelMySkill - zdjęcie

FeelMySkill

Rejestracja: 04.07.2012
Aktualnie: Nieaktywny
Poza forum Ostatnio: 26.07.2012 18:21
-----

#436045 Moj pierwszy plugin.

Napisane przez d0naciak w 25.07.2012 07:52

new bool:wpisano_komende[33];


stworzono nową zmienną, której wartość można zmieniać a potem np. wykorzystywać do warunków.
wartosc 33 elementowa ponieważ maksymalna ilość ludzi na serwerze jest ( a raczej może ) równa 32.
Najlepiej poczytaj se to
http://amxx.pl/topic...ienne-co-i-jak/
  • +
  • -
  • 1


#435991 Moj pierwszy plugin.

Napisane przez Gość w 24.07.2012 22:22

Stwórz globalną tablicę 33elementową typu boolowskiego.
W momencie rozpoczęcia nowej rundy
register_logevent("logevent_round_start", 2, "1=Round_Start")
zmień wszystkim graczom wartość na false jako niewykorzystaną komendę w tej rundzie.
Po wpisaniu komendy, jeśli dla danego gracza wartość wynosi false, to znaczy, że w tej rundzie jeszcze nie grał i możesz mu śmiało dodać przedmioty, pamiętając o zmianie wartości tablicy dla danego gracza na true.
Jeśli wartość wynosi true, to nie pozwól na dodanie przedmiotów, możesz także dodać stosowny komunikat. Gotowego kodu chyba nie muszę przedstawiać? ;)


#436003 Moj pierwszy plugin.

Napisane przez Gość w 24.07.2012 22:40

Mam nadzieję, że zrozumiesz, postarałem się dodać przyjazne komentarze
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"

new bool:wpisano_komende[33];

public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say /nic","tekst");
register_logevent("logevent_round_start", 2, "1=Round_Start"); // rejestrujemy zdarzenie nowej rundy (koniecznie!)
}

public tekst(id){
if(is_user_alive(id)){
if(wpisano_komende[id]){ // dodatkowy warunek, ktowy sprawdza, czy uzyto juz kkomendy w tej rundzie
client_print(id,print_chat, "Juz wpisales raz komende w tej rundzie"); // uzyto komendy, wiec nie wykonujemy jej
} else { // nie wykonano komendy, wiec mozemy dodac arsenal
set_user_health(id, 200);
set_user_gravity(id, 0.50);
set_user_armor(id, 67);
give_item(id, "weapon_m4a1");
give_item(id, "ammo_556nato");
client_print(id,print_chat, "To moj pierwszy plugin");
wpisano_komende[id]=true; // nie zapomnijmy ustawic, ze komende juz wykonano, zeby zapobiec kolejnym jej wykonaniom
}// az do czasu nowej rundy (logevent_round_start), kiedy na nowo ustawimy wszystkim wpisano_komende na false
} else {
client_print(id,print_chat,"Musisz byc zywy");
}
}

public logevent_round_start(){ // tutaj wykonywane jest to zdarzenie (zdarzenie nowej rundy, zarejestrowane w plugin_init)
for(new id=1;id<=32;++id){ // dla kazdego gracza (id wynosza od 1 do max. 32)
wpisano_komende[id]=false; // zmieniamy wartosc na false, czyli, ze nie wpisywano komendy jeszcze w tej rundzie
}
}



#435980 Moj pierwszy plugin.

Napisane przez Blood Angel w 24.07.2012 21:51

Poprawił bym.

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"


public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /nic","tekst")
// Add your code here...
}
public tekst(id)
{
if(is_user_alive(id)) {
set_user_health(id, 200)
set_user_gravity(id, 0.50)
set_user_armor(id, 67)
give_item(id,"weapon_m4a1")
give_item(id,"ammo_556nato")
client_print(id,print_chat,"To moj pierwszy plugin")
}
else
client_print(id,print_chat,"Musisz byc zywy")
}