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

Moj pierwszy plugin.


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

#1 FeelMySkill

    Nowy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:roas
Offline

Napisano 24.07.2012 21:44

Witam, dzis napisalem swój pierwszy prosty plugin, dziala i tu moje pytanie:
czy w kodzie wszystko jest okej?
i drugie: jak zrobić by komenda mogła być użyta raz na rundę?
Dzięki i proszę sie nie smiać, dzis zaczalem sie tym bawic dopiero ;)


/* Plugin generated by AMXX-Studio */

#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)
{
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")
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1250\\ deff0\\ deflang1045{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/


Użytkownik FeelMySkill edytował ten post 24.07.2012 21:58

  • +
  • -
  • 0

#2 Blood Angel

    Wszechwiedzący

  • Zbanowany

Reputacja: 130
Zaawansowany

  • Postów:540
  • Steam:steam
  • Lokalizacja:Dom
Offline

Napisano 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")
}

Znany jako oeN.


#3 FeelMySkill

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:roas
Offline

Napisano 24.07.2012 21:59

To co podales to bedzie dzialac tylko wtedy gdy gracz zyje? Potrzebuje wiedziec jak tez zrobic zeby bylo ze mozna raz na runde, oczywiscie @up masz+ za chęci .

Użytkownik FeelMySkill edytował ten post 24.07.2012 22:10

  • +
  • -
  • 0

#4 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 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ć? ;)

#5 FeelMySkill

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:roas
Offline

Napisano 24.07.2012 22:30

Chyba napisalem ze 1wszy dzien się z tym bawie :)
  • +
  • -
  • 0

#6 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 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
}
}


#7 FeelMySkill

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:roas
Offline

Napisano 25.07.2012 07:40

Okej czaje, jak są takie komentarze mozna latwo zrozumiec, dzięki, ale to "wpisano_komende" to jest jakas nowa funkcja czy coś? tego nie trzeba rejestrować?
Masz +-sy
  • +
  • -
  • 0

#8 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 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

#9 FeelMySkill

    Nowy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:7
  • Lokalizacja:roas
Offline

Napisano 25.07.2012 08:13

Okej dzięki, poczatkowo nie zauwazylem tego :P poczytam, poczytam:_)
  • +
  • -
  • 0




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

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