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

Wyswietlenie pliku .spr za pomoca env_sprite


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

#1 No Chance

    Życzliwy

  • Użytkownik

Reputacja: 3
Nowy

  • Postów:26
  • Lokalizacja:PS Store
Offline

Napisano 18.10.2014 15:07

Jezeli ktos posiada wiedze na ten temat to czy moglby podac mi gotowy kod na wyswietlanie pliku .spr a pomoca env_sprite i jego zabicie. Wiem ze to jest podobne do info_target lecz mialem pewna przerwe z amxx i nie moge to ogarnac.


  • +
  • -
  • 0

#2 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 21.10.2014 06:47

poukładaj to sobie w całość

new ent=create_entity("info_target")
entity_set_string(ent,EV_SZ_classname,"env_sprite")
new Float:origin[3]={10.0,10.0,10.0}//tu musisz podać pozycję x y z gdzie ów sprite ma się znajdować
entity_set_origin(ent,origin)
new Float:mins[3]={-10.0,-10.0,-10.0}//odległość od originu do jednego z dolnych rogów entity(który jest prostopadłościanem)(tyczy się to rogu o najmniejszych liczbach jeśli chodzi o położenie).
new Float:maxs[3]={10.0,10.0,10.0}//odległość od originu do naprzeciwległego rogu względem rogu mins[3]
entity_set_size(ent,mins,maxs//sprawdź czy jest odpowiednia ilość parametrów i ich kolejność, nie mam siły tego sprawdzać a mi wyleciało z głowy
entity_set_model(ent, Model[])

Użytkownik grankee edytował ten post 21.10.2014 06:49

  • +
  • -
  • 1

#3 No Chance

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:26
  • Lokalizacja:PS Store
Offline

Napisano 30.10.2014 23:31

Chcialbym zapisac do kazdego modelu pewna wartosc poniewaz chcialbym odczytywac nazwy z tablicy.Znaczy dokladnie chodzi mi o to ze stawiam ten model i zapisuje mu wartosc 1 nastepny bedzie mial juz  511. Nie chodzi mi jak to zapisac tylko szukam kodu i wytlumaczenia bo gdzies kiedys znalazlem wlasnie zeby zapisywac informacje do takiego modelu,spritesu czy czegos innego wlasnie go tak tworzac lecz nie rozumialem tego troche.


  • +
  • -
  • 0

#4 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 31.10.2014 01:57

Kompletnie nie mam pojęcia o co Ci chodzi. Do czego Ci potrzebna ta wartość? Skąd numer 511 po 1? Wytłumacz dokładnie.


  • +
  • -
  • 0

#5 No Chance

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:26
  • Lokalizacja:PS Store
Offline

Napisano 31.10.2014 18:09

Moze troche zakrecilem.

Z tego co mi sie wydaje to chodzi o stale pev a dokladnie

pev_euser1 do euser4.Tam chyba mozna zapisac jakies wartosci1 ktore beda zapisane do tego danego modelu,sprite.

Przykladowo chodzi mi o to ze w pewnym modelu chce zapisac przykladowa wartosc i gdy gracz sie zblizy do tego modelu to mu na czacie wyswietli ta wartosc.

Nie chodzi mi o zblizanie czy wyswietlanie tylko zapisywanie pewnej informacji do powstalego modelu czy sprite.


  • +
  • -
  • 0

#6 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 03.11.2014 01:46

Chodzi o to, że np. stworzysz jakiś ent, przypiszesz mu imie Tomek, stworzysz drugi i przypiszesz mu imie Maciej i teraz jak gracz się zbliży do pierwszego to wyswietlasz mu "Zblizyles sie do Tomka" itd?

 

każdy stworzony byt ma jakieś id, możesz stworzyć klase w ktorej bedziesz mial id i imie i wyswietlac imie obiektu o numerze danym.


  • +
  • -
  • 1

#7 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 04.11.2014 17:21

Właściwości przechowywane w bytach nie są do dyspozycji dla użytkownika, ale dla silnika gry. Może on tam przechowywać pewne dane, które wykorzystuje przy obsłudze bytu. To nie jest coś, gdzie możesz trzymać sobie dowolne dane.
  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#8 No Chance

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:26
  • Lokalizacja:PS Store
Offline

Napisano 04.11.2014 20:01

Okej a czy jest jakas inna mozliwosc aby zachowac takie dane dla poszczegolnych bytow ??


  • +
  • -
  • 0

#9 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 04.11.2014 23:17

Tak, bezpośrednio w pluginie, co 1045 już opisał.


  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#10 No Chance

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:26
  • Lokalizacja:PS Store
Offline

Napisano 09.11.2014 19:38

każdy stworzony byt ma jakieś id, możesz stworzyć klase w ktorej bedziesz mial id i imie i wyswietlac imie obiektu o numerze danym

a jak sprawdzic te id ?


  • +
  • -
  • 0

#11 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 09.11.2014 21:20

ID jest przechowywane w zmiennej ent czy w jakiejkolwiek innej, którą posługujesz się żeby na danym bycie operować.


  • +
  • -
  • 1

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#12 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 10.11.2014 18:54

Tworzysz byt w następujący sposób:

new ent=create_entity("info_target")

i właśnie funkcja create_entity zwraca id stworzonego bytu, a pzypisujesz to do zmiennej ent więc to ona przechowuje id tego bytu


  • +
  • -
  • 1

#13 No Chance

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:26
  • Lokalizacja:PS Store
Offline

Napisano 13.11.2014 21:56

Okej ale sadze ze to nie bedzie rozwiazanie mojego problemu gdyz ID zapewne nie bedzie sie rownac wartosci takiej jakiej ja chce dla konkretnego bytu.

A co moze jakby pobral nazwe danego bytu i po przez str_to_num zapisal go do mojej zmiennej i dalej juz bym sobie porownal i wykonal to co bym chcial.

Da rade cos takiego wykonac ?


  • +
  • -
  • 0

#14 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 14.11.2014 00:54

Id zostaje przypisane podczas tworzenia bytu i nie mamy wplywu na to jakie będzie, nie mniej jednak nie przychodzi mi do glowy powod dla ktorego musialbys miec konkretny numer, nawet jesli to da sie to na pewno inaczej rozwiazac. Proponuję Ci opisac istotę problemu i plany z nim związane, a my postaramy sie znaleźć najlepsze rozwiązanie.


  • +
  • -
  • 0

#15 No Chance

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:26
  • Lokalizacja:PS Store
Offline

Napisano 14.11.2014 17:54

Chce stworzyc przykladowo 10 spritesow automatycznie pojawiajacych sie (kiedy to jest nie istotne). Te spritesy bedzie mozna zabijac wiec chce przykladowa informacje na czacie ktora pobierze ID ktore jest takie same jak w tablicy z nazwami danych spritesow. Jezeli dany sprites ktory zabilem jest bomba a bomba w tablicy tak jak w cod modzie nazwy_przedmiotow jest numerem 10-tym wiec chce aby dane ID rownalo sie z prawidlowa nazwa w tej tablicy. Jak zabije bombe to na czacie jest napisane ze zabiles bombe z kolei dynamit to dynamit. będę posiadal sporo takich nazw wiec chce to jakos sensownie rozwiazac gdyz pisanie warunkow byloby nudne no i brzydko by to wygladalo.


  • +
  • -
  • 0

#16 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 15.11.2014 04:16

Jeśli borykasz się z takim problemem, to zakładam, że nie wiesz prawie nic o klasach/strukturach. Możesz to zrobić prościej, nie koniecznie lepiej/bardziej fachowo. Tworzysz dwie tablice

new byt[11]
new byt_nazwa[11][16]

jako zmienne globalne i teraz tworzac byt

byt[0]=create_entity(classname)
format(byt_nazwa[0],15,"nazwa")

czyli tworzysz byt, przypisujesz jedo id do pierwszego elementu tablicy i od razy do tego samego elementu, ale już drugiej tablicy przechowujacej ciag znakow, przypisujesz jego nazwe. W ten sposob pozniej masz mozliwosc odwolac sie do id bytu (byt[0]) oraz jego nazwy ustalonej przez Ciebie (byt_nazwa[0]). Jest to ten sam numer tablicy.


  • +
  • -
  • 1

#17 No Chance

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:26
  • Lokalizacja:PS Store
Offline

Napisano 15.11.2014 19:05

Na bytach nie dzialalem za bardzo.Lecz jezeli chodzi o to:

format(byt_nazwa[0],15,"nazwa")
to w "nazwa" musze 1podac taka nazwe jaka chce tak ? A co jezeli beda mial ich dosc sporo i nie chce rozpisywac sie w warunkach albo caly czas dopisywac taka linijke z nazwa. Tylko zeby ta nazwe pobieralo z tablicy a ja bym zobil jeden public ktory by tworzyl byty juz z okreslonym ID i z odpowiednia nazwa.
  • +
  • -
  • 0

#18 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 16.11.2014 00:17

No to właśnie po to Ci to podsunąłem.

ehhh poznaj podstawy c++, następnie poznaj różnice w PAWN i dopiero bierz się za to. Jesteś jak fachowiec samouczek, chcesz dobrze, ale brak Ci podstaw-szkoły.

 

Nazwy wszystkie i tak musisz podać, bo plugin tego nie będzie wiedział za Ciebie jak chcesz coś nazwać.

//globalna tablica zmiennych
new byt_nazwa[3][16]=//3 to ilosc elementow, 16-1 to dlugosc nazwy (maksymalna ilosc znakow w nazwie)
{
	"Moj byt 1",
	"Moj byt 2",
	"Moj byt 3"
}
//globalna tablica do zapisu id bytów
new byt[3]
//oczywiscie jak chcesz 30 bytów to zwiększasz ilość elementów obu tablic.

public jakas_funkcja_tworzaca_byty()
{
	//tutaj tworzysz byty, a nazwy masz w tablicy globalnej, bo byt nie ma wlasciwosci do przypisania mu nazwy
	byt[0]=create_entity("info_target")
}

Nadal nie napisales nic konkretnego, czy nazwy bytow chcesz miec z gory ustalone czy ustalac je dynamicznie w zaleznosci od okolicznosci. Nie wiem w ogole nawet ogolnie jaki zarys ma miec plugin.


  • +
  • -
  • 1

#19 No Chance

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 3
Nowy

  • Postów:26
  • Lokalizacja:PS Store
Offline

Napisano 16.11.2014 15:03

Znam podstawy i mam sporo fajnych pluginów i modow na swoim koncie wiec wiem o co chodzi. Tylko ze nigdy nie pracowalem na env_sprite i mialem malo stycznosci z bytami. Postaram sie dzis albo jutro napisac plugin i zobaczymy jak bedzie dzialac.


  • +
  • -
  • 0

#20 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 17.11.2014 12:54

Ale tutaj nie brakuje Ci wiedzy o bytach, a o tym w jaki sposób wygodnie przechować nazwę przydzieloną dla bytu.

Załóżmy przypadek taki: masz graczy, każdemu z nich chcesz przypisać jakąśtam nazwę przy spawnie (losową, przypadek jak z Twoimi bytami), w jaki sposób to zrobisz?

Teraz komplikujemy: graczy silnik gry zawsze identyfikuje liczbami od 1 do 32, załóżmy jednak że nie masz tego "luksusu", a ID gracza może być dowolne z przedziału od 1 do 10000. Nie stworzysz raczej tablicy o wielkości 10000, bo by zajmowała cholernie dużo pamięci. Tworzysz więc 2 tablice (zakładamy dalej, że masz 32 maksymalnie graczy, tylko ich ID są losowe z podanego wcześniej zakresu) 32 elementową na ID graczy oraz 32x16 elementową na nazwy (jeśli maksymalnie nazwa może mieć 15 znaków).

Jak widać problem nie dotyczy stricte bytów, więc ich nieznajomością nie ma się co zasłaniać.
  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark





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

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