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
 

NoLiFeR - zdjęcie

NoLiFeR

Rejestracja: 01.12.2014
Aktualnie: Nieaktywny
Poza forum Ostatnio: 29.09.2017 17:24
-----

Moje tematy

Problem z kolizją pomiędzy ustawieniami rozmiarów bytu, a wykrywaniem go przez get_user...

21.07.2016 14:03

Witam, problem wygląda następująco

Tworze sobie swoją ściane, ustawiam jej rozmiar różnymi sposobami, lecz jak próbuje wykryć ją przez opisaną w temacie funkcje, wykrywa mi ją tak jakby była obrócona o 90 stopni w osi X/Y, sprawdzałem to poprzez prosty plugin który rysuje marker (taki sprite) w miejscu w które aktualnie patrzymy (nie jest to marker z JB, bo tutaj jest on przez ułamek sekundy)

 

Niestety próbowałem skorygować to różnymi sposobami...

Próbowałem obrócić całą konstrukcje o opisane 90 stopni, ale wtedy.. Wykrywalność też się obraca..
Próbowałem zmienić byt z bboxa na slideboxa, ale też nic to nie dało.

Jakieś sugestie :/ ?

Pytanie odnośnie zmieniania skórki modelu.

30.06.2016 15:30

Witam, przejde od razu do rzeczy.

Od pewnego czasu zamierzałem stworzyć moda, lecz powoli odechciewa mi się.
Mam swój model gracza, z teksturą załóżmy default.bmp (poprawną pod względem wymagań HL'a) i chciałbym do tego modelu dodać skina, którego tekstura miała by nazwe załózmy new.bmp.

Próbowałem za pomoca edycji QC

 
$texturegroup "skinfamilies"

oraz 
 
$texturegroup "skins"
lecz w obydwu przypadkach, dodaje się do modelu, lecz niestety nie jako skin, lecz tylko jako tekstura.
To znaczy mam nadal jeden skin, a tekstury default.bmp oraz new.bmp.
 
Ktoś spotkał już ten problem i wie jak go rozwiązać?
W skrócie

Chcę do modelu dodać skina ze skórką new.bmp

Jak wykryć func_breakable 20 unitów przed bytem ?

16.04.2016 13:22

Witam, jest to mój pierwszy post od bardzo dawna, więc chciałbym się przywitać po tej nieobecności ^^

Cześć :)

Ale przejde do rzeczy.
Tworze strzałe, której nadaje określoną prędkość, kąt, movetype, grawitacje etc..
Chciałbym, aby ta strzała rozbijała byty func_breakable, gdy w nie wleci. Ale nie gdy ich dotknie, bo z touchem problemu nie ma, lecz wtedy, gdy byt znajduje się 20-30 unitów przed tym bytem, uwzględniając jego kąty nachylenia.
Najlepiej, aby funkcje dało podpiąć się pod jakiś think, ponieważ chcę graczowi na ekranie wyświetlać przykładową wiadomość informującą o trafieniu ("Przebiłeś tarcze"?)


Problem nie z samym dmg, lecz z wykryciem tego bytu przed strzałą :v

[ROZWIĄZANE] Poruszanie entem wg. klawiszy naciskanych przez gracza.

26.02.2016 22:23

Witam, mam dość nietypowy problem, dotyczy on poruszania się entity.

Za pomocą pluginu tworzę enta, ustawiam mu odpowiednie movetype i solid (TOSS i SLIDEBOX), jednak próba zrobienia sterowania nie wychodzi mi najlepiej :/ Ktoś ma jakieś pomysły ? Mój obecny kod



public UpgradePosition(ent)
{
	new id = 0;
	for(new i=0;i<33;i++)
		if(ent == entskrz[i]) {
			id = i
			break;
		}
	if(id == 0)
		return FMRES_IGNORED;
		
	if(!is_user_alive(id)) {
		entity[id] = 0
		remove_entity(ent)
		if(is_user_connected(id)) {
			set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
			attach_view( id, id );
		}
		przemieniony[id] = false;
		return FMRES_IGNORED;
	}
	new buttons = get_user_button(id)
	if(buttons & IN_USE) {
		if(!nieruszalny[id] && licznik[id] == -1)
			licznik[id] = 10;
		
		else if(!nieruszalny[id] && licznik[id] > 0)
			licznik[id]--
			
		else if(!nieruszalny[id] && licznik[id] == 0)
			nieruszalny[id] = true;
			
		else nieruszalny[id] = false;
	}
	if(nieruszalny[id]) {
		entity_set_float(ent, EV_FL_nextthink, get_gametime());
		return FMRES_IGNORED;
	}
	new Float:Angles[3]
	pev(id, pev_angles, Angles)
	Angles[0] = 0.0
	Angles[2] = 0.0
	set_pev(ent, pev_angles, Angles)
	set_user_health(id, pev(ent, pev_health))
	new Float:velocity[3];
	pev(ent, pev_velocity, velocity)
	new Float:old2vel = velocity[2]
		
	new Float:fector[4][3];
	new bool:old = false;
	if((buttons & IN_FORWARD) || (buttons & IN_BACK) || (buttons & IN_RIGHT) || (buttons & IN_LEFT)) {
		new count = 0; 
		new bool:zm_p[4]
		if(buttons & IN_BACK && !(buttons & IN_FORWARD)) {
			angle_vector (Angles, ANGLEVECTOR_FORWARD, fector[0])
			count++
			zm_p[0] = true;
		}
		if(buttons & IN_FORWARD && !(buttons & IN_BACK)) {
			angle_vector (Angles, ANGLEVECTOR_FORWARD, fector[0])
			xs_vec_neg(fector[0],fector[1])
			count++
			zm_p[1] = true;
		}
		if(buttons & IN_LEFT && !(buttons & IN_RIGHT)) {
			angle_vector (Angles, ANGLEVECTOR_RIGHT,fector[2])
			count++
			zm_p[2] = true;
		}
		if(buttons & IN_RIGHT && !(buttons & IN_LEFT)) {
			angle_vector (Angles, ANGLEVECTOR_RIGHT,fector[2])
			xs_vec_neg(fector[2],fector[3])
			count++
			zm_p[3] = true;
		}
		
		new Float:speed = 250.0 / count
		if(count == 0)
			old = true;
		else if(count == 1){
			new ktoraz = -1
			for(new i=0;i<4;i++) {
				if(zm_p[i]) {
					xs_vec_mul_scalar( fector[i] , speed , fector[i] ); 
					ktoraz = i
					break;
				}
			}
			for(new i=0;i<3;i++)
				velocity[i] = fector[ktoraz][i]
		}
		else if(count == 2){
			new bool:ilosczm = false;
			new bool:ktoraz[2]
			for(new i=0;i<4;i++) {
				if(zm_p[i]) {
					xs_vec_mul_scalar( fector[i] , speed , fector[i] ); 
					ktoraz[i > 1 ? 1 : 0] = i%2 == 1 ? true : false
					if(ilosczm)
						break;
					else
						ilosczm = true;
				}
			}
			for(new i=0;i<3;i++)
				velocity[i] = floatdiv(floatadd(fector[ktoraz[0] ? 1 : 0][i], fector[ktoraz[0] ? 3 : 2][i]), 2.0)
		}
	}
	if(old) {
		entity_set_float(ent, EV_FL_nextthink, get_gametime());
		return FMRES_IGNORED;
	}
	
	velocity[2] = old2vel + 0.05
	
	if(!(get_user_oldbutton(id) & IN_JUMP) && buttons & IN_JUMP && pev(ent, pev_flags) & FL_ONGROUND)
		velocity[2] = random_float(25.0, 26.0)
		
	if(!(buttons & IN_BACK) && !(buttons & IN_FORWARD) && !(buttons & IN_RIGHT) && !(buttons & IN_LEFT)) {
		entity_set_float(ent, EV_FL_nextthink, get_gametime());
		return FMRES_IGNORED;
	}
	
	set_pev(ent,pev_velocity,velocity)
	entity_set_float(ent, EV_FL_nextthink, get_gametime());
	return FMRES_IGNORED;
}

// EDIT po to żeby przestawić new buttons = get_user_button(id) z warunkiem czy gracz jest żywy

 

 

sprawia że entity po wciśnięciu w, a, s lub d po prostu staje w miejscu, nic nie da się z nią zrobić (z samym thinkiem wszystko w porządku, bo obraca bytem co mogę zaobserwować)

Czy możliwe jest że funkcja jest zbudowana źle i po prostu entity "klinuje się" w ziemi ?

Dziękuje.

Pytanie o możliwość crashów tej samej paczki na różnych firmach hostingowych.

23.12.2015 21:34

Witam, mam dość nietypowy/dziwny problem z serwerami.

 

Od samego postawienia PaintBalla, crashuje on co mw godzinke, ale nie w tym rzecz...

 

Ta sama paczka postawiona na 1s1k, stoi już od 3 dni, i ma się dobrze. Czy jest możliwe, żeby na tej samej wersji HLDS'a tej samej wersji metamoda,dproto,amxmodx'a (krótko taki sam serwer) crashowało serwer hostowany u jednej firmy hostingowej (mowa o Pukawce), a na drugiej nie ? Może ktoś miewa podobne problemy z serwerami na w/w hostingu ?

 

Gdy pisałem na HelpDesca (krótko do hosta), odpowiedź była ciągle taka sama. Przejrzyj pluginy, któryś z nich powoduje błąd. Natomiast zarówno na localu, jak i na 1s1k, crashe nie występują. 

 

Wiecie może w czym leży problem ?