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
 

Karras - zdjęcie

Karras

Rejestracja: 08.06.2012
Aktualnie: Nieaktywny
Poza forum Ostatnio: 12.07.2014 22:38
-----

#585267 [ROZWIĄZANE] Algebra Boole'a - co i jak?

Napisane przez Gh0st w 14.11.2013 14:06

 

Prosił bym o wytłumaczenie (czytam z ksiażki i przeglądam internet, ale nie wchodzi mi to do głowy) tej algebry tak na chłopski rozum :)

Grałeś kiedyś w minecrafta ? (na modzie "Tekkit classic") :D


  • +
  • -
  • 1


#585550 [ROZWIĄZANE] Algebra Boole'a - co i jak?

Napisane przez Wojtek Piasecki w 15.11.2013 18:02

W czym masz problem? Mam obecnie algebre boola na studiach więc coś mogę podpowiedzieć. ;)

Wszystko jest praktycznie wstępem do innych zagadnień z dziedziny systemów zero jedynkowych, taki jak proste bramki logiczne etc.

 

Generalnie, albo jest zero, albo jeden, jest naście wzorów do upraszczania równań boolowskich i chyba tyle.

http://math.uni.lodz...ea prostsze.pdf


  • +
  • -
  • 1


#585611 [ROZWIĄZANE] Algebra Boole'a - co i jak?

Napisane przez Wojtek Piasecki w 15.11.2013 20:00

Skąd masz to 2a'? Biorąc to wprost logicznie to a'+a'=a'

 

Nie bierz też tego tak wprost, wszystko opiera się na systemie zero jedynkowym, po prostu pewne równania czy "działania" reprezentują jedną z wartości, 0 lub 1.

Ogarnij też podstawy logiki(tautologia) i systemu zero jedynkowego.


  • +
  • -
  • 1


#578536 [ROZWIĄZANE] Problem - Exp za użycie mocy perku/klasy.

Napisane przez GwynBleidD w 18.10.2013 13:57

Gdy wykrywasz, połączenie gracza do serwera to też robisz:

public client_connect(id) {
    if (client_connect(id)) {
        //kod
    }
}

hm? No chyba nie...

 

Funkcja nie może być na raz forwardem i natywem! cod_class_skill_used jest forwardem, tak samo jak cod_perk_used, używasz ich więc tak, jak client_connect, bez tego bezsensownego ifa wewnątrz...


  • +
  • -
  • 1


#578651 [ROZWIĄZANE] Problem - Exp za użycie mocy perku/klasy.

Napisane przez mastah7991 w 18.10.2013 20:20

#include <amxmodx>
#include <codmod>

public plugin_init() 
{
	register_plugin(perk_name, "1.0", "====");
	
	cod_register_perk("cosiek", "cosiek cosiek")
}

public cod_perk_used(id)
{
		new losowy_exp = random_num(5, 20);
		new losowy = cod_get_user_xp(id)+losowy_exp;
		cod_set_user_xp(id, losowy);
		client_print(id, print_chat,"Otrzymales %d expa za uzycie mocy klasy!",losowy_exp_klasy); 
	

		cod_set_user_perk(id, 0, 0, 0); // a to po to by perk znikał po użyciu :D 
}

to jako perk i zobacz czy zadziała

p.s

nowy new ( masło maślane ) jest po to bo tak wolę możesz bez tego :D

 

zobacz czy zadziała  jak nie to zaraz na testowym coś wymyśle ;x

 


  • +
  • -
  • 1


#578732 [ROZWIĄZANE] Problem - Exp za użycie mocy perku/klasy.

Napisane przez d0naciak w 19.10.2013 08:47

Natywy cod_perk_used oraz cod_class_skill_used są wywoływane tylko dla pluginu z zarejestrowaną klasą - musisz to zrobić w silniku.


  • +
  • -
  • 1


#578833 [ROZWIĄZANE] Problem - Exp za użycie mocy perku/klasy.

Napisane przez d0naciak w 19.10.2013 14:29

Powiedz jak to dodałeś.


  • +
  • -
  • 1


#579123 [ROZWIĄZANE] Problem - Exp za użycie mocy perku/klasy.

Napisane przez Gość w 20.10.2013 13:41


Natywy cod_perk_used oraz cod_class_skill_used są wywoływane tylko dla pluginu z zarejestrowaną klasą - musisz to zrobić w silniku.
Nie do końca.

 

Zauważ, że natywy te są wykonywane w określonej sytuacji, mianowicie:

 

Perk


public UzyjPerku(id)
{
	if(!is_user_alive(id))
		return PLUGIN_HANDLED;
		
	new forward_handle = CreateOneForward(pluginy_perkow[perk_gracza[id]], "cod_perk_used", FP_CELL);
	ExecuteForward(forward_handle, id, id);
	DestroyForward(forward_handle);
	return PLUGIN_HANDLED;
}
	register_clcmd("useperk", "UzyjPerku");
	register_clcmd("radio3", "UzyjPerku");

Nic nie stoi na przeszkodzie, by zarejestrować te 2 komendy i przy ich wywołaniu dodawać expa.

 

Skill klasy


public EmitSound(id, iChannel, szSound[], Float:fVol, Float:fAttn, iFlags, iPitch ) 
{
	if(!is_user_alive(id))
		return FMRES_IGNORED;
		
	if(equal(szSound, "common/wpn_denyselect.wav"))
	{
		new forward_handle = CreateOneForward(pluginy_klas[klasa_gracza[id]], "cod_class_skill_used", FP_CELL);
		ExecuteForward(forward_handle, id, id);
		DestroyForward(forward_handle);
		return FMRES_SUPERCEDE;
	}
	register_forward(FM_EmitSound, "EmitSound");

Identyczny forward można zarejestrować wraz z warunkiem bycia żywym i dodać tutaj exp.

 

 

Problem leży jednak gdzie indziej.

Mianowicie w tym, że nie za każdym kliknięciem "e" czy "c" będziemy dawać expa.

A o tym, czy perk czy sklill został użyty, decyduje dany perk / klasa, więc przebudować należałoby nie silnik, a każdą z klas oraz wszystkie perki.




#578421 AMX Mod X 0.5.0 Dark Edition

Napisane przez sebul w 17.10.2013 19:50

A co z wyłączaniem pluginów bez usuwania ich z serwera? Jeśli nie ma to proponuję, aby czytało tylko te pluginy, które przed nazwą nie mają jakiegoś znaku typu: ";" :) Tak jak było w plugins.ini, lecz teraz dokładnie w plikach pluginów.

Zapewne teraz czyta wszystkie pliki z rozszerzeniem .amxx, więc zmieniaj rozszerzenia na .amxx2 i będzie dobrze. Można też przenosić do innego folderu, jak już zostało to napisane nawet w pierwszym poście, ale jest to bardziej uciążliwe.
  • +
  • -
  • 2


#578402 AMX Mod X 0.5.0 Dark Edition

Napisane przez Sloenthran w 17.10.2013 18:33

A co z wyłączaniem pluginów bez usuwania ich z serwera? Jeśli nie ma to proponuję, aby czytało tylko te pluginy, które przed nazwą nie mają jakiegoś znaku typu: ";" :) Tak jak było w plugins.ini, lecz teraz dokładnie w plikach pluginów.

 

@edit

 

Małe pytanko, czy obecne pluginy pod amxmodx 1.8.2 będą działały pod Twoją wersję amxmodx?

 

Przerzucasz je wtedy do folderu disabled  w plugins :)


  • +
  • -
  • 2


#578406 AMX Mod X 0.5.0 Dark Edition

Napisane przez GT Team w 17.10.2013 18:48

Małe pytanko, czy obecne pluginy pod amxmodx 1.8.2 będą działały pod Twoją wersję amxmodx?
Odsyłam Cię w Imieniu Pana Rafała do pierwszego posta.


#533210 Kompilacja klas z dodanymi statystykami.

Napisane przez Gość w 09.04.2013 16:59

Definicja funkcji cod_register_class znajduje się w pliku głównym Twojego CodModa.
Jeśli modyfikowałeś ten plik, dodając nowe statystyki postaci i dalej masz problem z kompilacją, to załącz nam ten plik źródłowy, a przynajmniej codmod.ini.
Jeśli nie modyfikowałeś silnika, a po prostu postanowiłeś dopisać sobie te 2 punkty statystyk jako kolejne argumenty natywu, to wiedz, że tak się nie da bez modyfikacji silnika codmoda.


#533235 Kompilacja klas z dodanymi statystykami.

Napisane przez Gość w 09.04.2013 18:04

Grawitacja jest, widzę, dodana do silnika, obrażeń nie widzę.

Załączony plik  codmod.inc   7,59 KB  31 Ilość pobrań
z uwzględnioną grawitacją, lecz obrażeń nie znalazłem.

#include <amxmodx>
#include <codmod>
#include <hamsandwich>

#define DMG_BULLET (1<<1)

new bool:ma_klase[33];
new const nazwa[] = "Kosiarz[Premium]";
new const opis[] = "1/2 szansy na natychmiastowe zabicie z noza(PPM) i ma 120HP";
new const bronie = 1<<CSW_KNIFE;
new const zdrowie = 20;
new const kondycja = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;
new const grawitacja = 0;

public plugin_init()
{
register_plugin(nazwa, "1.0", "QTM_Peyote");

cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc, grawitacja);
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}

public cod_class_enabled(id)
ma_klase[id] = true;

public cod_class_disabled(id)
ma_klase[id] = false;

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;

if(!ma_klase[idattacker])
return HAM_IGNORED;

if(damagebits & DMG_BULLET)
{
new weapon = get_user_weapon(idattacker);

if(weapon == CSW_KNIFE && damage > 20.0 && random_num(1,2) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

}

return HAM_IGNORED;
}


Ten kod klasy z załączonym codmod.inc się skompiluje, jednak nie uwzględnia obrażeń, których w silniku nie znalazłem (a przynajmniej nie w formie, jakiej próbowałeś je zaaplikować klasie).