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
 

Rahmir - zdjęcie

Rahmir

Rejestracja: 06.11.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 17.03.2012 15:52
-----

#380175 [ROZWIĄZANE] Linijka odpowiadajaca za 1/x z broni - gdzie?

Napisane przez Goliath w 13.03.2012 18:29


if(get_user_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET && damage > 20.0)

Zmień to na:
if(get_user_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET && damage > 20.0 && random_num(1, 2) == 1)

  • +
  • -
  • 1


#380180 [ROZWIĄZANE] Klasa "Samobójca", errory w logach.

Napisane przez Goliath w 13.03.2012 18:35

Wywal to:

register_event("DeathMsg", "Death", "ade");

  • +
  • -
  • 1


#379340 [ROZWIĄZANE] Prośba o klase "Samobojca".

Napisane przez fbang w 12.03.2012 00:08

#include <amxmodx>
#include <codmod>
#include <amxmisc>
#include <engine>

new const nazwa[] = "Samobojca";
new const opis[] = "Jak nacisnie E to wybucha";
new const bronie = 1<<CSW_GALIL;
new const zdrowie = 70;
new const kondycja = 30;
new const inteligencja = 10;
new const wytrzymalosc = 10;

new ma_klasa[33];
new sprite_blast,
sprite_white;

public plugin_init()
{
register_plugin(nazwa, "1.0", "QTM_Peyote")
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_event("DeathMsg", "Death", "ade");

}

public plugin_precache()
{
sprite_white = precache_model("sprites/white.spr");
sprite_blast = precache_model("sprites/dexplo.spr");
}

public Death()
{
new id = read_data(2);
if(ma_klasa[id])
Eksploduj(id);
}
public cod_class_skill_used(id)
{
if(ma_klasa[id])
{
Eksploduj(id)
}
}

public Eksploduj(id)
{
if(!is_user_alive(id))
return PLUGIN_CONTINUE;

new Float:fOrigin[3];
entity_get_vector(id, 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);
write_byte(32);
write_byte(20);
write_byte(0);
message_end();

message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
write_byte( TE_BEAMCYLINDER );
write_coord( iOrigin[0] );
write_coord( iOrigin[1] );
write_coord( iOrigin[2] );
write_coord( iOrigin[0] );
write_coord( iOrigin[1] + 200 );
write_coord( iOrigin[2] + 200 );
write_short( sprite_white );
write_byte( 0 );
write_byte( 0 );
write_byte( 10 );
write_byte( 10 );
write_byte( 255 );
write_byte( 255 );
write_byte( 100 );
write_byte( 100 );
write_byte( 128 );
write_byte( 0 );
message_end();

new entlist[33];
new numfound = find_sphere_class(id, "player", 200.0 , entlist, 32);

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

if (is_user_alive(pid) && get_user_team(id) != get_user_team(pid))
cod_inflict_damage(id, pid, float(get_user_health(pid)), 0.0);
}
user_silentkill(id);

return PLUGIN_CONTINUE;
}
public cod_class_enabled(id)
{
ma_klasa[id] = true;
}
public cod_class_disabled(id)
{
ma_klasa[id] = false;

}


  • +
  • -
  • 1


#379513 [ROZWIĄZANE] Prośba o klase "Samobojca".

Napisane przez Enson w 12.03.2012 14:16

usun z tamtad to:
public Death()
{
new id = read_data(2);
if(ma_klasa[id])
Eksploduj(id);
}

bo tak jak ty zrobiles to bedzie wybuchal po smierci + wybuchal przy uzyciu E :P a on chcial tylko przy uzyciu E
  • +
  • -
  • 1


#202425 Problem z kompilacja - wtf? pierwszy raz ;oooo

Napisane przez Abes Mapper w 02.01.2011 22:56

Kompilujesz tak:
Kompilacja lokalna - Nieoficjalny polski support AMX Mod X

Wymagane pliki masz tutaj:
http://forums.allied...73&d=1240263556
  • +
  • -
  • 1


#197962 Dodawanie frakcji

Napisane przez Lopez. w 20.12.2010 16:22

Pierwsze co robimy to dodajemy nową tablicę np. pod:
new const nazwy_klas[][] = {"Brak",
        "Snajper",
        "Komandos",
        "Strzelec wyborowy",
        "Obronca",
        "Medyk",
        "Wsparcie ogniowe",
        "Saper",
        "Demolitions",
        "Rusher",
        "Rambo (Klasa Premium)"
};

dodajemy

new const frakcje[][]={
        "Brak",
        "Polacy",
        "Rosjanie"
}


zawsze pierwsze musi być Brak potem po przecinkach podajemy nazwy frakcji po ostaniej frakcji przecinka nie ma ilość jest dowolna ale nie przesadzajmy bo potem będzie dużo roboty ;)

dobrze idziemy dalej

dodajemy

enum { NONE = 0,polacy,rosjanie}


dodajemy tablice :

new const nalezy_do[]={
        NONE,
        polacy,
        rosjanie,
        polacy,
        rosjanie,
        polacy,
        polacy,
        rosjanie,
        polacy,
        polacy,
        rosjanie
}

to tutaj ustalamy do której frakcji należy klasa i tak w tym przykładzie Snajper należy do polaków a Komandos do Rosjan

Następnie musimy podmienić funkcje

public WybierzKlase(id)


na tą
public WybierzKlase(id)
{
        new menu = menu_create("Wybierz frakcje:", "Wybierzfrakcje_Handle");
        for(new i = 1;i<sizeof(frakcje);i++){
                menu_additem(menu, frakcje[i]);
        }
        menu_display(id, menu);
}

i dodać tą

public Wybierzfrakcje_Handle(id, menu2, item)
{       
        if(item == MENU_EXIT)
        {
                menu_destroy(menu2);
                return PLUGIN_CONTINUE;
        }       

        item++;
        frakcja_gracza[id] = item;
        new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");
        new klasa[50];
        for(new i=1; i<sizeof nazwy_klas; i++)
        {
                if(nalezy_do[i] == item){
                        WczytajDane(id, i);
                        format(klasa, 49, "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
                        menu_additem(menu, klasa);
                }
        }
       
        WczytajDane(id, klasa_gracza[id]);
       
        menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
        menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
        menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
        menu_display(id, menu);
       
        client_cmd(id, "spk QTM_CodMod/select");
        #if defined BOTY
        if(is_user_bot2(id))
                WybierzKlase_Handle(id, menu, random(sizeof nazwy_klas-1));
        #endif
       
        return PLUGIN_CONTINUE;
}

w zmiennych globalnych musimy jeszcze dodać

new frakcja_gracza[33]

możemy pod np new const nalezy_do :)

i na koniec musimy podmienić

WybierzKlase_Handle(id, menu, item)

na

public WybierzKlase_Handle(id, menu, item)
{
        client_cmd(id, "spk QTM_CodMod/select");
       
        if(item == MENU_EXIT)
        {
                menu_destroy(menu);
                return PLUGIN_CONTINUE;
        }       
       
        item++;
       
        new ile = 0;
        for(new i=1; i<sizeof nazwy_klas; i++)
        {
                if(nalezy_do[i] == frakcja_gracza[id]){
                        ile++;
                }
                if(ile == item){
                        item = i;
                        break;
                }
        }
       
       
        if(item == klasa_gracza[id])
                return PLUGIN_CONTINUE;
       
        if(item == Rambo && !(get_user_flags(id) & ADMIN_LEVEL_H))
        {
                client_print(id, print_chat, "[COD:MW] Nie masz uprawnien aby kozystac z klasy premium.");
                WybierzKlase(id);
                return PLUGIN_CONTINUE;
        }
       
        if(klasa_gracza[id])
        {
                nowa_klasa_gracza[id] = item;
                client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
        }
        else
        {
                klasa_gracza[id] = item;
                WczytajDane(id, klasa_gracza[id]);
                Odrodzenie(id);
        }
        return PLUGIN_CONTINUE;
}

no i kompilujemy i praca skończona ;)

źródło : www.darkgl.amxx.pl

[uwaga=DarkGL]Drobna poprawka[/uwaga]
  • +
  • -
  • 19