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

Dodawanie nowych elementów na mape


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

#1 Kris Groove

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:14
  • Lokalizacja:Polska
Offline

Napisano 07.10.2012 21:23

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
  • +
  • -
  • 0

#2 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

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 Kris Groove

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:14
  • Lokalizacja:Polska
Offline

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

P.S.

#include - poznikały :P

Użytkownik Kris Groove edytował ten post 08.10.2012 06:21

  • +
  • -
  • 0

#4 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 08.10.2012 12:36

sorka jakoś zawsze mi znikają :

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 Kris Groove

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:14
  • Lokalizacja:Polska
Offline

Napisano 08.10.2012 19:30

Tak mi się wydaje że najlepiej to zrobić write_file i potem read_file :) ale nie jestem pewien
  • +
  • -
  • 0

#6 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

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ę :D)


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