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")
To równanie zostało stworzone przy pomocy kodu LaTeX:
Edytor LaTeX online: CodeCogs.com/latex/eqneditor.php
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.
|
Karras nie posiada znajomych
Napisane przez Gh0st
w 14.11.2013 14:06
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
Napisane przez Wojtek Piasecki
w 15.11.2013 20:00
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...
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
zobacz czy zadziała jak nie to zaraz na testowym coś wymyśle ;x
Napisane przez d0naciak
w 19.10.2013 08:47
Napisane przez d0naciak
w 19.10.2013 14:29
Napisane przez
Gość
w 20.10.2013 13:41
Nie do końca.
Natywy cod_perk_used oraz cod_class_skill_used są wywoływane tylko dla pluginu z zarejestrowaną klasą - musisz to zrobić w silniku.
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.
Napisane przez sebul
w 17.10.2013 19:50
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.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.
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
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.
Napisane przez
Gość
w 09.04.2013 16:59
Napisane przez
Gość
w 09.04.2013 18:04
#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;
}