Witam.
Piszę w sprawie kontynuacji wpisu:
http://amxx.pl/topic...mentow-na-mape/
i prosił bym o dokładniejsze objaśnienie i pełny kod (z #include) jeżeli można najlepiej z jakimś modelem albo coś bo chce sam to przerobić i zobaczyć jak wyjdzie
Pozdrawiam K'Groove
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.
|
Guest Message by DevFuse
Dodawanie nowych elementów na mape
Temat rozp. Kris Groove, 07.10.2012 21:23
5 odpowiedzi w tym temacie
#1
Napisano 07.10.2012 21:23
#2
Napisano 07.10.2012 22:13
Masz, opisalem wszystko wlasnymi slowami, jak cos nie bedzie dzialac albo bedziesz miec jakies problemy pisz
/* Plugin generated by AMXX-Studio */
#include
#include
#include //Obowiazkowe dla tworzenia entitow
#include //Wygodniejsze pobieranie Origin itp...
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /test", "Test")
}
public plugin_precache()
{
precache_model("models/nazwamodelu.mdl")
}
public Test(id)
{
new Float:Origin[3]
pev(id, pev_origin, Origin)
// Pobiera twoje polozenie
new ent = create_entity("info_target")
//Tworzy obiekt "info_target" ( byt)
entity_set_model(ent, "models/nazwamodelu.mdl");
// Ustawia entowi model, model musi zosta zprecahowany
entity_set_float(ent, EV_FL_health, 10.0);
//Jezeli chcesz zeby model byl
//zniszczalny wpisujesz tutaj wartosc hp we float
//jezeli nie chcesz mozesz to usunac
entity_set_float(ent, EV_FL_takedamage, DAMAGE_YES);
//Czy byt ma przetwarzac obrazenia ( on moze zadawac, ktos go atakuje)
//Jezeli dales zycie musisz to zostawic
entity_set_size(ent, Float:{-16.0, -16.0, 0.0}, Float:{16.0, 16.0, 48.0});
//Ustawia wielkosc lecz dla mnie nic to nie robi tylko zmienia polozenie
//Najlepiej zostaw, mozesz tez dac na 0.0
entity_set_origin(ent, Origin);
//Ustawia polozenie
entity_set_int(ent, EV_INT_solid, SOLID_BBOX);
entity_set_int(ent, EV_INT_movetype, MOVETYPE_FLY);
//Tutaj mozna sie troche pobawic.
//Jezeli dales zycie entowi dajesz albo SOLID_BBOX
//albo SOLID_SLIDEBOX tzn ze byt koliduje z innymi rzeczami
//czyli np strzalem
//Movetype tutaj ustawiasz czy byt ma latac czyli nie dziala na niego
//grawitacja albo inne przydatne funkcje
///poczytaj o solid i o movetype
//http://www.amxmodx.org/funcwiki.php?go=module&id=3
//Mozesz rowniez dac set_pev(ent, pev_gravity, 0.5)
//Czyli grawitacje ze byt opada - zalezne od solidtype
entity_set_vector(ent, EV_VEC_angles, Float:{0.0, 0.0, 0.0});
//ustawia kont widzenia, mozesz to usunac
drop_to_floor(ent)
//Jezeli chcesz zeby upuscilo na ziemie to dajesz
//nie dziala to z niektorymi SOLID_... albo MOVETYPE_...
//musisz sie pobawic
}
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
#3
Napisano 08.10.2012 05:53
A dało by się zrobić tak że jak już ustawie ten model to zapisuje jego położenie np w configs/models.ini, a potem już sam się tam ustawia?
Albo coś w tym stylu
P.S.
#include - poznikały
Albo coś w tym stylu
P.S.
#include - poznikały
Użytkownik Kris Groove edytował ten post 08.10.2012 06:21
#4
Napisano 08.10.2012 12:36
sorka jakoś zawsze mi znikają :
dodaj engine, fakemeta, amxmodx i amxmisc
propo zapisywania pozycji jasne ze się da
dodaj engine, fakemeta, amxmodx i amxmisc
propo zapisywania pozycji jasne ze się da
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
#5
Napisano 08.10.2012 19:30
#6
Napisano 09.10.2012 17:26
"A dało by się zrobić tak że jak już ustawie ten model to zapisuje jego położenie np w configs/models.ini, a potem już sam się tam ustawia?"
tutaj np zapisanie polozenia maxymalnie 3 miejsca po przecinku czyli zapisze np :
-5.344 45.235 45.111
X, Y, Z (tak myślę )
a wczytanie to parsujesz wartości
cała filozowia, niczego nie testowałem. Za błędy przepraszam
tutaj np zapisanie polozenia maxymalnie 3 miejsca po przecinku czyli zapisze np :
-5.344 45.235 45.111
X, Y, Z (tak myślę )
new szDir[128], szOrigin[128]
formatex(szDir, 127, "addons/amxmodx/configs/models.ini")
formatex(szOrigin, 127, "%0.3f %0.3f %0.3f", Origin[0], Origin[1], Origin[2])
write_file(szDir, szOrigin, 1)
a wczytanie to parsujesz wartości
new szDir[128], szText[128], szData[3][33], len
formatex(szDir, 127, "addons/amxmodx/configs/models.ini")
read_file(szDir, 1, szText, 127, len)
parse(szText, szData[0], 32, szData[1], 32, szData[2], 32)
Origin[0] = str_to_float(szData[0])
Origin[1] = str_to_float(szData[1])
Origin[2] = str_to_float(szData[2])
// i ustawiasz origin
entity_set_float(ent, EV_FL_origin, Origin)
cała filozowia, niczego nie testowałem. Za błędy przepraszam
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych