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

Problem z SOLID_BBOX u ent'a i z odleg艂o艣ci膮.


  • Zamkni臋ty Temat jest zamkni臋ty
7 odpowiedzi w tym temacie

#1 Svizz

    Zaawansowany

  • U偶ytkownik

Reputacja: 33
呕yczliwy

  • Post贸w:142
  • GG:
  • Imi臋:Svizz
  • Lokalizacja:Polska :)
Offline

Napisano 18.05.2011 14:51

Witam, mam stworzonego enta - wymiary, model, klasa - wszystko jest. Mam tylko dwa problemy:

1. Usi艂uje nada膰 bytowi SOLID_BBOX, ale nadal mo偶na przez niego normalnie przej艣膰. Robi臋 to tak:
set_pev(npc, pev_solid, SOLID_BBOX)
Taki spos贸b te偶 nie dzia艂a:
set_pev(npc, pev_solid, 2)

2. Chc臋 wywo艂a膰 jak膮艣 funkcj臋, gdy gracz zbli偶y si臋 do bytu na x odleg艂o艣膰. Jak膮 funkcj膮 mo偶na sprawdzi膰 odleg艂o艣膰 od bytu i gdzie (w jakim forwardzie) to sprawdzi膰. Jest jaka艣 inna mo偶liwo艣膰 ni偶 wywo艂anie tego w think'u bytu lub gracza (z wiadomego powodu)?
  • +
  • -
  • 0

#2 FreZZy

    Guru

  • Zbanowany

Reputacja: 210
Profesjonalista

  • Post贸w:716
  • GG:
  • Imi臋:Pawe艂
  • Lokalizacja:Wwa
Offline

Napisano 18.05.2011 15:01

2. Chc臋 wywo艂a膰 jak膮艣 funkcj臋, gdy gracz zbli偶y si臋 do bytu na x odleg艂o艣膰. Jak膮 funkcj膮 mo偶na sprawdzi膰 odleg艂o艣膰 od bytu i gdzie (w jakim forwardzie) to sprawdzi膰. Jest jaka艣 inna mo偶liwo艣膰 ni偶 wywo艂anie tego w think'u bytu lub gracza (z wiadomego powodu)?

nie odpowiem ci kodem bo jestem nie u siebie, ale wydaje mi si臋 偶e w Poke by艂o tak, 偶e gdy odsun膮艂es si臋 na jak膮艣 odleg艂o艣膰 od NPC Oak'a to Ci menu znika艂o

Tak amo w jedynce, jedenym gotowym modem z kt贸rego mo偶esz bra膰 funkcje jest poke

wad膮 jego jest kilkadziesi膮t plik贸w...

#3 Svizz

    Zaawansowany

  • Autor tematu
  • U偶ytkownik

Reputacja: 33
呕yczliwy

  • Post贸w:142
  • GG:
  • Imi臋:Svizz
  • Lokalizacja:Polska :)
Offline

Napisano 18.05.2011 15:05

No w艂a艣nie w tym problem, 偶e nie mog臋 tego w pokemodzie znale藕膰. To jak, pomo偶e kto艣? :)
  • +
  • -
  • 0

#4 FreZZy

    Guru

  • Zbanowany

Reputacja: 210
Profesjonalista

  • Post贸w:716
  • GG:
  • Imi臋:Pawe艂
  • Lokalizacja:Wwa
Offline

Napisano 18.05.2011 15:18

jak nie mo偶esz znale藕膰 konkretnego pliku to nazywa si臋 bodaj偶e "oak" ;)

jak wr贸ce do domciu to ci pomoge

#5 diablix

    emeryt

  • Przyjaciel

Reputacja: 507
Wszechwiedz膮cy

  • Post贸w:663
  • GG:
  • Steam:steam
  • Imi臋:Daniel
  • Lokalizacja:Warszawa
Offline

Napisano 18.05.2011 15:53

1. Poka偶 ca艂y kod

2.

stock bool:JestObokBytu(id, ent, const gszEntClassname[], Float:fDistance){
new szClassname[64];
pev(ent, pev_classname, szClassname, sizeof szClassname - 1);

if(equal(szClassname, gszEntClassname)){
new Float:fOrigin[3];
entity_get_vector(ent, EV_VEC_origin, fOrigin);

if(find_ent_in_sphere(id, fOrigin, fDistance)){
if((1 <= id <= get_maxplayers() && is_user_alive(id)){
return true;
}
}
}
return false;
}


Przyk艂adowe u偶ycie

if(JestObokBytu(id, ent, "klasa_bytu", 45.0)){
//gracz jest obok bytu (w zasiegu 45 unitow)
}

U偶ytkownik diablix edytowa艂 ten post 18.05.2011 16:38

  • +
  • -
  • 1

#6 Optymalny193

    Wszechwidz膮cy

  • Zbanowany

Reputacja: 30
呕yczliwy

  • Post贸w:294
  • Imi臋:Pawe艂
  • Lokalizacja:Europa
Offline

Napisano 18.05.2011 16:42

Co mam w tym zrobi膰:
if((find_ent_in_sphere(id, vOrigin, fDistance))){
呕eby si臋 skompilowalo bo nie wiem co to vorigin

I czy to jest dobre:

public npc_think(id, ent) {
// Put your think stuff here.
entity_set_float(id,EV_FL_nextthink,halflife_time() + 0.01)

if(JestObokBytu(id, ent, "npc_resp", 45.0)){
//gracz jest obok bytu (w zasiegu 45 unitow)
}
}


#7 Svizz

    Zaawansowany

  • Autor tematu
  • U偶ytkownik

Reputacja: 33
呕yczliwy

  • Post贸w:142
  • GG:
  • Imi臋:Svizz
  • Lokalizacja:Polska :)
Offline

Napisano 18.05.2011 17:04

Dzi臋ki wielkie diablix.

To kawa艂ek mojego kodu (wystarczy?):
        new npc = create_entity("info_target")
	
// kod dotyczacy gracza - nie wazne

	new Float:maxs[3] = {16.0,16.0,36.0}
	new Float:mins[3] = {-16.0,-16.0,-36.0}
	
	entity_set_size(npc,mins,maxs)
	set_pev(npc, pev_solid, SOLID_BBOX)
	
	entity_set_string(npc,EV_SZ_classname,"npc_przyklad")
	entity_set_model(npc,MODEL_NPC)
	
	entity_set_float(npc,EV_FL_animtime,2.0)
	entity_set_float(npc,EV_FL_framerate,1.0)
	entity_set_int(npc,EV_INT_sequence,1)

Wiem, 偶e pomieszana fm z engine, ale to poprawie - pisane na szybko.

U偶ytkownik Svizz edytowa艂 ten post 18.05.2011 17:05

  • +
  • -
  • 0

#8 diablix

    emeryt

  • Przyjaciel

Reputacja: 507
Wszechwiedz膮cy

  • Post贸w:663
  • GG:
  • Steam:steam
  • Imi臋:Daniel
  • Lokalizacja:Warszawa
Offline

Napisano 18.05.2011 17:46

Spr贸b贸j w takiej kolejno艣膰i

new npc = create_entity("info_target")
entity_set_string(npc,EV_SZ_classname,"npc_przyklad")
entity_set_int(npc, EV_INT_solid, SOLID_BBOX);
entity_set_model(npc,MODEL_NPC)
new Float:maxs[3] = {64.0,64.0,64.0}
new Float:mins[3] = {-64.0,-64.0,-64.0}

entity_set_size(npc,mins,maxs)

entity_set_float(npc,EV_FL_animtime,2.0)
entity_set_float(npc,EV_FL_framerate,1.0)
entity_set_int(npc,EV_INT_sequence,1)

U偶ytkownik diablix edytowa艂 ten post 18.05.2011 17:57

  • +
  • -
  • 0




U偶ytkownicy przegl膮daj膮cy ten temat: 0

0 u偶ytkownik贸w, 0 go艣ci, 0 anonimowych