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

[ROZWIĄZANE] Tworzenia enta i pobranie classname z tablicy


Najlepsza odpowiedź GwynBleidD, 18.01.2015 00:00

new tablica_klas[][] = {
    "ent_1",
    "ent_2",
    "ent_3"
}
function spawn_ent(ent, idKlasy) {

    origin[0] = -2063.0;
    origin[1] = -797.0;
    origin[2] = 164.0;
    
    entity_set_string(ent, EV_SZ_classname, tablica_klas[idKlasy]);
    entity_set_int(ent, EV_INT_solid, SOLID_NOT);
    entity_set_vector(ent, EV_VEC_origin, origin);
    entity_set_model(ent, "sprites/xx.spr");
    drop_to_floor(ent);
    spawn[1] = false;
}
for (new i=0; i<LICZBA_KLAS; ++i) {
    if (spawn[i]) {
        spawn_ent(ent, i)
    }
}
Zakładam, że ze zmienną ent robisz coś przed spawnem i po spawnie. Jeśli nic nie robisz przed spawnem to wrzuć jej tworzenie do funkcji, jeśli Ci jest potrzebna po spawnie: wypluj ją z niej returnem.

Każdą inną wartość (z tego co widzę model się zmienia) możesz w taki sam sposób stablicować. Przejdź do postu


  • Zamknięty Temat jest zamknięty
3 odpowiedzi w tym temacie

#1 NiczegoWinien

    Wszechpomocny

  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:334
  • Lokalizacja:No Disc
Offline

Napisano 17.01.2015 20:55

Witam mam takie pytanie gdyz tworze 3 enty z innym classname. No i musze zrobic tak:

if(spawn[1]){ 
		origin[0] = -2063.0;
		origin[1] = -797.0;
		origin[2] = 164.0;
		
		entity_set_string(ent, EV_SZ_classname, "ent_1");
		entity_set_int(ent, EV_INT_solid, SOLID_NOT);
		entity_set_vector(ent, EV_VEC_origin, origin);
		entity_set_model(ent, "sprites/xx.spr");
		drop_to_floor(ent);
		spawn[1] = false;
	}
	else if(spawn[2]){
		origin[0] = -1671.0;
		origin[1] = -389.0;
		origin[2] = 164.0;
		
		entity_set_string(ent, EV_SZ_classname, "ent_2");
		entity_set_int(ent, EV_INT_solid, SOLID_NOT);
		entity_set_vector(ent, EV_VEC_origin, origin);
		entity_set_model(ent, "sprites/xx2.spr");
		drop_to_floor(ent);
		spawn[2] = false;
	}
	else if(spawn[3]){
		origin[0] = -1636.0;
		origin[1] = -869.0;
		origin[2] = 164.0;
		
		entity_set_string(ent, EV_SZ_classname, "ent_3");
		entity_set_int(ent, EV_INT_solid, SOLID_NOT);
		entity_set_vector(ent, EV_VEC_origin, origin);
		entity_set_model(ent, "sprites/xx3.spr");
		drop_to_floor(ent);
		spawn[3] = false;
	}

I gdy bym chcial utworzyc wiecej to zajmuje duzo liniejk i czasu na kopiuj wklej aby tylko classname sie zmienil.

Czy istnieje mozliwosc aby classname mozna bylo pobrac z tablicy ??

Jezeli tak to prosilbym o przykladowy kod.


  • +
  • -
  • 0

#2 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

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

Napisano 18.01.2015 00:00   Najlepsza odpowiedź

new tablica_klas[][] = {
    "ent_1",
    "ent_2",
    "ent_3"
}
function spawn_ent(ent, idKlasy) {

    origin[0] = -2063.0;
    origin[1] = -797.0;
    origin[2] = 164.0;
    
    entity_set_string(ent, EV_SZ_classname, tablica_klas[idKlasy]);
    entity_set_int(ent, EV_INT_solid, SOLID_NOT);
    entity_set_vector(ent, EV_VEC_origin, origin);
    entity_set_model(ent, "sprites/xx.spr");
    drop_to_floor(ent);
    spawn[1] = false;
}
for (new i=0; i<LICZBA_KLAS; ++i) {
    if (spawn[i]) {
        spawn_ent(ent, i)
    }
}
Zakładam, że ze zmienną ent robisz coś przed spawnem i po spawnie. Jeśli nic nie robisz przed spawnem to wrzuć jej tworzenie do funkcji, jeśli Ci jest potrzebna po spawnie: wypluj ją z niej returnem.

Każdą inną wartość (z tego co widzę model się zmienia) możesz w taki sam sposób stablicować.
  • +
  • -
  • 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


#3 NiczegoWinien

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 64
Pomocny

  • Postów:334
  • Lokalizacja:No Disc
Offline

Napisano 18.01.2015 00:49

Dziekuje bardzo. Dziala prawidlowo.


  • +
  • -
  • 0

#4 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 18.01.2015 10:36

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !





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

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