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
 

Jamdzam - zdjęcie

Jamdzam

Rejestracja: 16.02.2012
Aktualnie: Nieaktywny
Poza forum Ostatnio: 03.03.2023 21:45
*****

#569829 [KLASA] Strzelec Wyborowy v2 - Czasowy NoRecoil

Napisane przez Hajmus w 04.09.2013 13:08

Witam,
Klasa pochodzi z serwerka, który tworzę. Jest to troszkę odświeżone wersja strzelca wyborowego. Według mnie domyślnie jest mega nudny.
 
Czym się różni od zwykłej wersji?
Jest to Strzelec, który swoją siłe opiera również na inteligencji. (Opierałem się na kodzie QuadDamage). Wciskając klawisz E ma przez x sekund brak rozrzutu. Czas trybu bez rozrzutu, oraz ilość jego włączeń w jednej rundzie jest zależna od inteligencji.
 
CZAS

     //czas = floatround(((2 * cod_get_user_intelligence(id)) + 100) / 100.0, floatround_floor)
       czas = 1;

Możemy ustawić go również na sztywno co jest zrobione domyślnie. Przy czasie elastycznym wynosi on przy 0 inteligencji:
(2 * 0 + 100) / 100 = 1 sekundę i analogicznie (2 *100 + 100) / 100 = 3 sekundy przy 100 int.
 

Ilość włączeń

    uzycia_skilla[id] = floatround(1 + (cod_get_user_intelligence(id)*0.02));
    //uzycia_skilla[id] = 1; 

Domyślnie jest on elastyczny. Przy 0 inteligencji skilla możemy włączyć 1 raz, przy max int (100) 3 razy. Wartość tą możemy również ustawić według naszego uznania

Załączone pliki


  • +
  • -
  • 6


#569998 generator klas na pc

Napisane przez kolo3311 w 05.09.2013 17:17

proszę o wykonanie dla mnie generatora klas na pc

 taki jak na stronie tylko ze dodac bym prosil regeneracje hp / trzesienie ziemi/ pasek ladowania dla umiejetnosc(czyli ze napszyklad 1 naladowanie 2 skoki w powietrzy , 1 apteczka) czym wiecej int tym czas jest mnieszy 30 sek bez int a z int mniej,zatruwanie przeciwnika, moc wampira 

 

 to by bylo dla nie kturych dobre proszę o wykonanie tego

  

mam tu stwozony przez zemnie 

Załączone pliki




#568900 [perk] llama

Napisane przez MAGNET w 31.08.2013 23:19


<< taki szczegół ale powinno być perku

Oj tam oj tam :)

 


Jak widze to mozna zrobic ten perk na kazda bron

Jasne. Tylko sobie zmieniasz CSW_BRON ;]


  • +
  • -
  • 1


#567765 [perk] llama

Napisane przez MAGNET w 27.08.2013 23:05

opis

Po użyciu otrzymujesz na 10s auto - lamę

 

 

download

 

Załączone pliki


  • +
  • -
  • 2


#567221 [ROZWIĄZANE] Naprawa Klasy

Napisane przez Scorpion Flail w 26.08.2013 09:44

Zapomniałeś o hamsandwich, łap:

 

Załączony plik  codclassHitman.sma   1,94 KB  17 Ilość pobrań
  codclassHitman.amxx


  • +
  • -
  • 1


#189817 Jak zrobić prostą klasę

Napisane przez QTM. Peyote w 19.11.2010 14:39

W tym tutorialu pokażę jak stworzyć prostą klasę do nowego CodModa.
*.sma Naszej klasy będzie wyglądać tak: (Niżej wytłumaczę co od czego)
#include <amxmodx>
#include <codmod>

new const nazwa[] = "Henio";
new const opis[] = "Brak";
new const bronie = 1<<CSW_M4A1 | 1<<CSW_DEAGLE;
new const zdrowie = 13;
new const kondycja = 69;
new const inteligencja = 2;
new const wytrzymalosc = 15;


public plugin_init()
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

#include <amxmodx>

  • Jeżeli nie wiesz poczytaj inne tutoriale.
#include <codmod>

  • Wymagany plik codmod.inc który musimy wrzucić do folderu include naszego kompilatora.
  • Dołącza plik nagłówkowy CodModa dzięki któremu będziemy mogli używać natywów takich jak na przykład cod_register_class.
new const nazwa[] = "Henio";

  • Nazwa naszej klasy - u nas będzie to Henio.
new const opis[] = "Brak";

  • Opis naszej klasy - u nas jest Brak.
  • Jeżeli ktoś się dziwi się dlaczego nie opisuję jakie bronie, szybkość i zdrowie ma klasa to odpowiem - To wyświetla się osobno.
new const bronie = 1<<CSW_M4A1 | 1<<CSW_DEAGLE;

  • Tutaj określamy jakie bronie ma mieć Henio.
  • Przed każdą bronią dodajemy 1<<
  • Jeżeli chcemy dodać następną to wstawiamy | - pełni rolę czegoś w rodzaju.. przecinka.
new const zdrowie = 13;

  • Punkty statystyki zdrowie jakie klasa dostanie na start.
  • Czyli w naszym przypadku jeżeli damy dodatkowe 13 zdrowia to na start będziemy mieli 113 hp
new const kondycja = 69;

  • Ilość punktów kondycji jaką Henio ma dostać na start. Henia gnębią koledzy dlatego musi szybko uciekać.
  • To zastępuje dawne procenty szybkości naszej klasy
new const inteligencja = 2;

  • Punkty inteligencji na start.
new const wytrzymalosc = 15;

  • Punkty wytrzymalosci na start.
  • Można używać zamiast kamizelek.

W plugin_init rejestrujemy Henia, żeby pojawił się w menu wybierania klas:
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

  • +
  • -
  • 74


#563279 [perk] Zabojca Komandosow

Napisane przez MAGNET w 13.08.2013 23:49

opis
----------------------------------------------------------------------------------
Jesli ofiara trzyma noz szanse na jej zabicie wynosza 1/1
FILM : http://www.youtube.c...h?v=YJ3sD_rIkl4
----------------------------------------------------------------------------------
inne informacje
Chyba jasne ;] Jesli gracz posiada ten perk to ma 1/1 na zabicie pod warunkiem, ze ofiara trzyma noz
download

Załączone pliki


  • +
  • -
  • 7


#395082 [ROZWIĄZANE] 1/x na oślepienie

Napisane przez dasiek w 10.04.2012 10:07


/* Plugin generated by AMXX-Studio */



#include <amxmodx>

#include <amxmisc>

#include <codmod>



#define PLUGIN "New Plug-In"

#define VERSION "1.0"

#define AUTHOR "author"



new bool:ma_klase[33];



new const nazwa[] = "Klasa";

new const opis[] = "Opis";

new const bronie = 1<<CSW_MP5NAVY;

new const zdrowie = 0;

new const kondycja = 10;

new const inteligencja = 0;

new const wytrzymalosc = 5;



new g_msg_screenfade;

public plugin_init() {

    register_plugin(PLUGIN, VERSION, AUTHOR)

    

    register_event("Damage", "Damage", "b", "2!=0");

    cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

    g_msg_screenfade = get_user_msgid("ScreenFade");

}

public cod_class_enabled(id)

{

    ma_klase[id] = true;

}

public cod_class_disabled(id)

{

    ma_klase[id] = false;

}

public Damage(id)

{

    new attacker = get_user_attacker(id);

    

    if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker)

        return PLUGIN_CONTINUE;

    

    if(ma_klase[attacker] && random(2) == 1)

        Display_Fade(id,1<<14,1<<14 ,1<<16,255,155,50,230);

    

    return PLUGIN_CONTINUE;

}

stock Display_Fade(id,duration,holdtime,fadetype,red,green,blue,alpha)

{

    message_begin( MSG_ONE, g_msg_screenfade,{0,0,0},id );

    write_short( duration );    // Duration of fadeout

    write_short( holdtime );    // Hold time of color

    write_short( fadetype );    // Fade type

    write_byte ( red );        // Red

    write_byte ( green );        // Green

    write_byte ( blue );        // Blue

    write_byte ( alpha );    // Alpha

    message_end();

}

 


  • +
  • -
  • 2


#561935 Prośba o 8 Klas"Minmi Kapitan , Oficer , Kameleon.

Napisane przez Wolen w 09.08.2013 09:28

dalej d*pa

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

codclass_Szturmowiec.sma(22) : error 010: invalid function or declaration
codclass_Szturmowiec.sma(44) : error 017: undefined symbol "ma_klase"
codclass_Szturmowiec.sma(44) : warning 215: expression has no effect
codclass_Szturmowiec.sma(44) : error 001: expected token: ";", but found "]"
codclass_Szturmowiec.sma(44) : error 029: invalid expression, assumed zero
codclass_Szturmowiec.sma(44) : fatal error 107: too many error messages on one line

Compilation aborted.
5 Errors.

 

Zapomniał dodać "new" podczas tworzenia zmiennej :F. Łap naprawione ;).

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <cstrike>

#include <fun> // <<<tego brakowalo

new const nazwa[]   = "Szurmowiec";

new const opis[]    = "Nie slychac jak biega";

new const bronie    = (1<<CSW_USP)|(1<<CSW_M4A1);

new const zdrowie   = 20;

new const kondycja  = 0;

new const inteligencja = -10;

new const wytrzymalosc = 15;

new ma_klase[33];

    

public plugin_init()

{

    register_plugin(nazwa, "1.0", "amxx.pl");


    cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

}


public cod_perk_enabled(id)


{


    ma_klase[id] = true;


    set_user_footsteps(id, 1);


}


 


public cod_perk_disabled(id)


{


    ma_klase[id] = false;


    set_user_footsteps(id, 0);


}

  • +
  • -
  • 1


#245327 Komandos i 1/1 z noza

Napisane przez Goliath w 03.05.2011 17:03

/* Plugin generated by AMXX-Studio */

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

#define DMG_BULLET (1<<1)


new bool:ma_klase[33];

new const nazwa[] = "Komandos";
new const opis[] = "Natychmiastowe zabicie z noza(PPM)";
new const bronie = 1<<CSW_DEAGLE;
new const zdrowie = 40;
new const kondycja = 60;
new const inteligencja = 5;
new const wytrzymalosc = 0;

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

cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

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(get_user_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET && !(get_user_button(idattacker) & IN_ATTACK))
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

return HAM_IGNORED;
}

Będziesz mieć 1/1 z noża tylko z PPM.
  • +
  • -
  • 3


#536155 Cod By Jamdzam v3

Napisane przez _Gagarin_ w 21.04.2013 18:03

cod mod fajny :) z mojego serwera - zrobiony przez jama :) to jego cod ale byl u mnie na serwerze :)
  • +
  • -
  • 1


#561722 [ROZWIĄZANE] Większy exp dla słabego gracza z różnicą o 10 lvl

Napisane przez Andrzejek w 07.08.2013 23:36

Już sobie dałem rade, tylko zapomniałem napisać w temacie ^^


  • +
  • -
  • 1


#561357 Prośba o 2 klasy, m. in. Roach

Napisane przez pjechacz w 06.08.2013 14:12

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <hamsandwich>
#include <fakemeta>
        
new const nazwa[]   = "Pulkownik (Premium)";
new const opis[]    = "Posiada 2 miny, podwójny skok oraz dodatkowe 15 dmg z m3.";
new const bronie    = (1<<CSW_M3);
new const zdrowie   = 25;
new const kondycja  = 50;
new const inteligencja = 0;
new const wytrzymalosc = 0;
    
new const modelMiny[] = "models/QTM_CodMod/mine.mdl"

new sprite_blast_miny;
new ilosc_min_gracza[33];

new skoki[33];

new ma_klase[33];

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

    cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
    register_touch("mine", "player",  "DotykMiny");

    register_event("HLTV", "NowaRunda_Miny", "a", "1=0", "2=0");

    RegisterHam(Ham_Spawn, "player", "fwSpawn_Miny", 1);

   
    register_forward(FM_CmdStart, "fwCmdStart_MultiJump");

}

public plugin_precache()
{

    precache_model(modelMiny);
    sprite_blast_miny = precache_model("sprites/dexplo.spr");

}

public client_disconnect(id)
{

    new entMiny = find_ent_by_class(0, "mine");
    while(entMiny > 0)
    {
        if(entity_get_edict(entMiny, EV_ENT_owner) == id)
            remove_entity(entMiny);
        entMiny = find_ent_by_class(entMiny, "mine");
    }

}

public cod_class_enabled(id)
{
    if(!(get_user_flags(id) & ADMIN_LEVEL_H))
    {
        client_print(id, print_chat, "[Pulkownik (Premium)] Nie masz uprawnien, aby uzywac tej klasy.")
        return COD_STOP;
    }

    ilosc_min_gracza[id] = 2;
    ma_klase[id] = true;
   
    return COD_CONTINUE;
}

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

}

public cod_class_skill_used(id)
{
        
    if (!ilosc_min_gracza[id])
    {
        client_print(id, print_center, "Wykorzystales juz wszystkie miny!");
    }
    else
    {

        ilosc_min_gracza[id]--;

        new Float:origin[3];
        entity_get_vector(id, EV_VEC_origin, origin);

        new ent = create_entity("info_target");
        entity_set_string(ent ,EV_SZ_classname, "mine");
        entity_set_edict(ent ,EV_ENT_owner, id);
        entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS);
        entity_set_origin(ent, origin);
        entity_set_int(ent, EV_INT_solid, SOLID_BBOX);

        entity_set_model(ent, modelMiny);
        entity_set_size(ent,Float:{-16.0,-16.0,0.0},Float:{16.0,16.0,2.0});

        drop_to_floor(ent);

        set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,50);
    }
}

public fwSpawn_Miny(id)
{
    if(is_user_alive(id))
        ilosc_min_gracza[id] = 2;
}

public DotykMiny(ent, id)
{
    if(!is_valid_ent(ent))
        return;

    new attacker = entity_get_edict(ent, EV_ENT_owner);
    if (get_user_team(attacker) != get_user_team(id))
    {
        new Float:fOrigin[3];
        entity_get_vector( ent, EV_VEC_origin, fOrigin);

        new iOrigin[3];
        for(new i=0;i<3;i++)
            iOrigin[i] = floatround(fOrigin[i]);

        message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
        write_byte(TE_EXPLOSION);
        write_coord(iOrigin[0]);
        write_coord(iOrigin[1]);
        write_coord(iOrigin[2]);
        write_short(sprite_blast_miny);
        write_byte(32);
        write_byte(20);
        write_byte(0);
        message_end();

        new entlist[33];
        new numfound = find_sphere_class(ent,"player", 90.0 ,entlist, 32);

        for (new i=0; i < numfound; i++)
        {
            new pid = entlist[i];

            if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid))
                continue;

            cod_inflict_damage(attacker, pid, 70.0, 0.8, ent, (1<<24));
        }
        remove_entity(ent);
    }
}

public NowaRunda_Miny()
{
    new entMiny = find_ent_by_class(-1, "mine");
    while(entMiny > 0)
    {
        remove_entity(entMiny);
        entMiny = find_ent_by_class(entMiny, "mine");
    }
}

public fwCmdStart_MultiJump(id, uc_handle)
{
    if(!is_user_alive(id) || !ma_klase[id])
        return FMRES_IGNORED;

    new flags = pev(id, pev_flags);

    if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])
    {
        skoki[id]--;
        new Float:velocity[3];
        pev(id, pev_velocity,velocity);
        velocity[2] = random_float(265.0,285.0);
        set_pev(id, pev_velocity,velocity);
    }
    else if(flags & FL_ONGROUND)
        skoki[id] = 2;

    return FMRES_IGNORED;
}

łap pulkownika




#220916 [Tutorial]Bronie 1/x dla klas.

Napisane przez Goliath w 02.03.2011 17:04

Trochę inaczej, ale tak :) . Trzeba dodać na początku:
#define DMG_HEGRENADE (1<<24)

I zmienić TakeDamage na taki:
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_HEGRENADE && 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;
}

  • +
  • -
  • 7


#214052 [Tutorial]Bronie 1/x dla klas.

Napisane przez KariiO w 08.02.2011 22:15

Poradnik jak sama nazwa wskazuję ma dać klasie szanse na natychmiastowe zabicie z danej broni.

Otwieramy sma klasy którą chcemy edytować a następnie:

Na górze znajdź:
#include <amxmodx>
Dodaj pod:
#include <hamsandwich>
I pod tym wyżej dodaj:
#define DMG_BULLET (1<<1)
Do plugin_init:
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");

*Jeżeli klasa ma już te dwie opcje dodane to już nie trzeba ^^

Najlepiej na dół:
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_BRON && 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;
}

Gdy zdarzy się że dana klasa ma już 1/x z jakieś broni dodajemy tylko:
if(weapon == CSW_BRON && 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);

BRON - z jakiej broni masz szanse na natychmiastowe zabicie...nazwy itd
:
Nazwy broni i ammo do give_item (+ speed) - AMXX.pl: Support AMX Mod X
1,2-szansa 1/2 czyli 50% jeżeli chcesz zmienić np. na 25% dajemy 1,4 itd. itd...
Jeśli po prostu ma zabijać na 100% bez losowania to zamieniamy to
:
if(weapon == CSW_BRON && damage > 20.0 && random_num(1,2) == 1)

Na to:
if(weapon == CSW_BRON && damage > 20.0)

Męczy mnie tu:
damage > 20.0
Funkcja ma być "uaktywniona" jeżeli z noża zadamy więcej obrażeń niż 20 HP , myślałem o usunięciu ale wole nie kombinować :>

Jeżeli już skończyliśmy to plik amxx ładnie podmienić/dodać :)
  • +
  • -
  • 29