←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Mini-pluginy dla poczatkującego.

Locked

Emulov.'s Photo Emulov. 02.09.2011

Na wstępie napisze że nie ma w forum "Scripting Help" działu Offtopic więc nie zbyt wypada gdzieś 'dyskutować' o scriptingu tam, więc zakładam tutaj - jeśli jest zle, proszę modka o przeniesienie, z góry dzięki.


Okej, o co mi chodzi w tym temacie ? Już mówie.

Jestem bardzo początkującym 'skrypterem' ze tak się nazwe i nie umiem dobrze pisać pluginów, pragnąłbym abyście mi jakoś pomogli, a dokładniej w sposób - dając mi do napisania jakis - mini pluginek. Ja go tutaj potem wklejam, wy oceniacie czy dobrze i dajecie następny, po prostu będe sobie utrwalał pewne rzeczy.

Ponieważ ogólnie rzecz biorąc po czytaniu tutoriali, czy przeglądaniu dokumentacji jutro nie zostaje mi prawie nic w głowie, lecz gdy będę miał do czynienia z tym w praktyce - łatwiej zapamietam wszystko.

Pozdrawiam :)
Edited by Emulov., 02.09.2011 23:04.
Quote

  • +
  • -
A może sma?'s Photo A może sma? 02.09.2011

No i masz już coś do oceny/poprawy? :D
Dokumentacja nie ma Ci zostawać w głowie - najważniejsze, żebyś umiał z niej korzystać. A tutki najlepiej czytać wtedy, gdy są potrzebne - np. robisz zapis nvalut - czytasz poradnik dotyczący tego...
Edited by A może sma?, 02.09.2011 23:12.
Quote

  • +
  • -
Hiroshima's Photo Hiroshima 02.09.2011

Automatyczna wiadomość


Ten temat został przeniesiony z forum:
InneOFF Topic
do
Scripting AMXXPytania

Quote

  • +
  • -
speedkill's Photo speedkill 03.09.2011

Powiem coś od siebie takiej dokumentacji ani tutków nie można przeczytać raz dwa to nie jest książka przygodowa żeby tutek się nam utrwalił najlepiej zrobić z nim plugin i sprawdzić czy działa tak samo z dokumentacją jak coś jest w dokumentacji co cię interesuje ( jakaś funkcja ) Też najlepiej zrobić z nią plugin wtedy się utrwala więcej niż tylko po przeczytaniu :)
Pozdrawiam
Quote

Emulov.'s Photo Emulov. 03.09.2011

speedkill, wlasnie o to mi w tym temacie chodzi, chciałbym abyście dawali mi jakieś mini-pluginy do napisania ... :S
Quote

  • +
  • -
Fili:P's Photo Fili:P 03.09.2011

Skoro chcesz to może ja zacznę.
Wymagane includy: fun, fakemeta,engine
Opis: Kiedy naciskamy spacje coś podrzuca nas do góry (nie grawitacja), coś typu flyhack (nie no clip)
Wskazówki: get_user_origin(id); set_pev(id, pev_origin, ...); get_user_buttons(id);
Quote

Dwdov's Photo Dwdov 03.09.2011

Ogólnie programowanie to nie tylko znajomość dokumentacji, ale też umiejętność planowania i wymyślania 'systemów', w jaki coś działa. Dlatego najlepiej wziąć sobie usiąść i pomyśleć nad czymś większym niż jakiś mini plugin. Jak masz już swój pomysł myślisz dalej co będzie potrzebne i wtedy sięgasz do dokumentacji/tutorialów po to co Ci się przyda. Imo w taki sposób łapie się najwięcej doświadczenia.
Edited by Dawedov, 03.09.2011 08:08.
Quote

Emulov.'s Photo Emulov. 03.09.2011

Fili, lap + lecz nie mam pojecia jak zastosowac te origin i w jaki sposob zrobić aby kogoś wywalalo do gory :S
Quote

  • +
  • -
Nomaf's Photo Nomaf 03.09.2011

To może coś prostszego.
Każdy skok to +1 hp ;)
Quote

  • +
  • -
speedkill's Photo speedkill 03.09.2011

Spróbuj zrobić to co ci Nomaf napisał ja ci podpowiem
że musisz użyć get_user_button(id)
i public client_PreThink(id) :)
Quote

Emulov.'s Photo Emulov. 03.09.2011

Przed przeczytaniem postu Speedkilla zrobilem to :

/* Plugin generated by AMXX-Studio */
 
#include <amxmodx>
#include <amxmisc>
#include <fun>
 
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Administrator"
 
 
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("+jump", "hpskok")
}
 
public hpskok(id)
{
	set_user_health(id,get_user_health(id) + 1);
	return PLUGIN_HANDLED
}

Moze mi ktoś powiedzieć co jest zle ? :D

Zaraz postaram sie zrobic to co mi speedkill podpowiedział.
Edited by Emulov., 03.09.2011 10:01.
Quote

  • +
  • -
speedkill's Photo speedkill 03.09.2011

Dałeś return PLUGIN_HANDLED
więc skok nie zostanie wykonany
teraz powinno zadziałać
/* Plugin generated by AMXX-Studio */

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

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


public plugin_init() {
	    register_plugin(PLUGIN, VERSION, AUTHOR)
	   
	    register_clcmd("+jump", "hpskok")
}

public hpskok(id)
{
	    set_user_health(id,get_user_health(id) + 1);
}
Quote

Emulov.'s Photo Emulov. 03.09.2011

No wlasnie, wiec po co sie meczyc z get_user_button czy client_PreThink skoro mozna tak ? :D
Quote

mierzwi's Photo mierzwi 03.09.2011

szczerze to nie wiem czy wykryje takie coś plugin -.- przeważnie się robi w client_prethinku get_user_button(id) & IN_JUMP
Quote

Emulov.'s Photo Emulov. 03.09.2011

W PreThinku takie coś :



/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fun>

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


public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
	   
}

public client_PreThink(id)
{
    if(get_user_button(id) & IN_JUMP && (get_user_oldbutton(id) & IN_JUMP)) set_user_health(id, get_user_health + 1)
}
Quote

mierzwi's Photo mierzwi 03.09.2011

to może teraz coś z naliczaniem? na przykład zrób plugin, w którym dostajesz +50 hp jak zabijesz 5 osób, nie umierając (coś jak killstrike?)
podpowiedz: musisz użyć deathmsg lub innego eventu który będzie wyłapywał killa
Quote

Emulov.'s Photo Emulov. 03.09.2011

Nic mi nie przychodzi na myśl jak zrobić naliczanie :<

Może coś innego ? :S
Quote

  • +
  • -
A może sma?'s Photo A może sma? 03.09.2011

Przechwytuj śmierć, sprawdzaj czy zabójca i ofiara to inne osoby, zwiększ jakąś zmienną o 1, sprawdź czy jakaś zmienna osiągnęła wymaganą liczbę, dodaj HP.
Quote

Emulov.'s Photo Emulov. 03.09.2011

Nadal mi nic nie przychodzi na mysl, jak mam niby sprawdzic czy zmienna osiagnela wymagana liczbe ? :S
Quote

  • +
  • -
Waq's Photo Waq 03.09.2011

jak mam niby sprawdzic czy zmienna osiagnela wymagana liczbe ? :S


if(jakas_zmienna[id] == 5)
{
kod...
}
Quote
Locked