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
 

Grandi - zdjęcie

Grandi

Rejestracja: 20.02.2011
Aktualnie: Nieaktywny
Poza forum Ostatnio: 29.11.2012 18:44
*****

#295168 Klasa ma tarcze ?

Napisane przez Grandi w 11.09.2011 19:55

Jakiś czas temu to robiłem i na 70% to działa, w głównym silniku zmieniasz:
RegisterHam(Ham_Touch, "weapon_shield", "DotykBroni");

na:
RegisterHam(Ham_Touch, "weapon_shield", "DotykTarczy");

i na samym dole dodajesz to:
public DotykTarczy(weapon,id)
{
if(get_pcvar_num(cvar_blokada_broni) != 1)
return HAM_IGNORED;
if(!is_user_connected(id))
return HAM_IGNORED;
if(gracz_ma_tarcze[id])
return HAM_IGNORED;
return HAM_SUPERCEDE;
}

  • +
  • -
  • 1


#289789 [Nowy COD] 1lvl - 1 pkt w statystyke

Napisane przez Grandi w 30.08.2011 12:19

Szukasz:
public SprawdzPoziom(id)

Trochę niżej jest linijka:
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];

Zamiast *2 dajesz *1 i powinno to wyglądać tak

punkty_gracza[id] = (poziom_gracza[id]-1)*1-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];

  • +
  • -
  • 8


#263979 WWW Create Class

Napisane przez Grandi w 29.06.2011 10:31

Jeżeli chcesz zrobić "<" wpisz &lt;
  • +
  • -
  • 1


#263220 Przerobienie klasy na VIP i mała edycja klasy

Napisane przez Grandi w 26.06.2011 22:56

Errory w klasie komandos, były ponieważ kolega nie dodał include fun odpowiadający za komendę
"set_user_footsteps" masz tutaj poprawioną :P

Załączone pliki


  • +
  • -
  • 1


#262303 Model dla klasy

Napisane przez Grandi w 24.06.2011 11:19

Masz może dwa modele generala, bo nie ważne od teamu będzie taki sam model i będzie nie ogar.
Dodałem ci modele noża, jeśli znajdziesz jakiś model podobny to napisz i ci zrobię.

Załączone pliki


  • +
  • -
  • 1


#262128 Model dla klasy

Napisane przez Grandi w 23.06.2011 19:16

Tak da radę zbindować graczowi klawisz, ale jest jeden problem, że każdy może klikać x i była by np. informacja "nie masz już apteczek czy coś". Wiesz chyba o co chodzi
  • +
  • -
  • 1


#259686 Model dla klasy

Napisane przez Grandi w 17.06.2011 09:10

Da radę zrobić, żeby rakiety były na e a na przykład apteczka na x, ale będzie trzeba zbindować "bind x +apteczka", jeżeli chcesz takie rozwiązanie mogę spróbować:)
  • +
  • -
  • 1


#259193 Model dla klasy

Napisane przez Grandi w 15.06.2011 19:41

Apteczki i rakiety wg. mnie to zły pomysł, będą się bugować
  • +
  • -
  • 1


#259159 Model dla klasy

Napisane przez Grandi w 15.06.2011 18:49

Trzymaj bez modelu w_ odpowiadającego za widok modelu, gdy broń leży na ziemi
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <codmod>
#include <engine>
#include <fakemeta>

new const nazwa[] = "Gwardzista";
new const opis[] = "Wytrzymaly wojownik posiadajacy wiekszy DMG lecz biega wolniej ";
new const bronie = 1<<CSW_KNIFE;
new const zdrowie = 500;
new const kondycja = -15;
new const inteligencja = 10;
new const wytrzymalosc = 100;

new bool:ma_klase[33];

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

cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_event("CurWeapon", "CurWeapon", "be", "1=1")
}

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

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

public plugin_precache()
{
precache_model("models/MagicWarriorsMod/p_knife2.mdl");
precache_model("models/MagicWarriorsMod/v_knife2.mdl");
}

public CurWeapon(id)
{
new weapon = read_data(2);

if(ma_klase[id])
{
if(weapon == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, "models/MagicWarriorsMod/v_knife2.mdl")
set_pev(id, pev_weaponmodel2, "models/MagicWarriorsMod/p_knife2.mdl")
}
}
}

  • +
  • -
  • 1


#259136 Wiadosc HUD z informacjami

Napisane przez Grandi w 15.06.2011 17:44

Szukasz
public PokazInformacje(id) 

I za miast tego:
public PokazInformacje(id) 
{
id -= ZADANIE_POKAZ_INFORMACJE;

set_task(0.1, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);

if(!is_user_alive(id))
{
new target = entity_get_int(id, EV_INT_iuser2);

if(target == 0)
return PLUGIN_CONTINUE;

set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPrzedmiot : %s", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target], nazwy_przedmiotow[informacje_przedmiotu_gracza[target][0]]);

return PLUGIN_CONTINUE;
}
set_hudmessage(255, 0, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
ShowSyncHudMsg(id, SyncHudObj, "[Klasa : %s]^n[Doswiadczenie : %i / %i]^n[Poziom : %i]^n[Przedmiot : %s]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id], nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]]);
return PLUGIN_CONTINUE;
}


Dajesz to:
public PokazInformacje(id) 
{
id -= ZADANIE_POKAZ_INFORMACJE;

set_task(0.1, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);

new name[32]
get_user_name(id, name, 31)

if(!is_user_alive(id))
{
new target = entity_get_int(id, EV_INT_iuser2);

if(target == 0)
return PLUGIN_CONTINUE;

set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nExp : %i / %i^nPoziom : %i^nItem : %s^nHP : %i", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target], nazwy_przedmiotow[informacje_przedmiotu_gracza[target][0]], get_user_health(target));

return PLUGIN_CONTINUE;
}
set_hudmessage(255, 0, 0, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
ShowSyncHudMsg(id, SyncHudObj, "[Twoj nick : %s]^n[Klasa : %s]^n[Exp : %i / %i]^n[Poziom : %i]^n[Item : %s]^n[Twoje HP : %i]",name, nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id], nazwy_przedmiotow[informacje_przedmiotu_gracza[id][0]], get_user_health(id));
return PLUGIN_CONTINUE;
}


Głównie zajmuje się nowym cod, więc może wystąpić jakiś błąd. Najlepiej sprawdź :)
  • +
  • -
  • 1


#259121 Model dla klasy

Napisane przez Grandi w 15.06.2011 16:44

Jak zmienić model gracza masz temat tutaj wystarczy poszukać :)
http://amxx.pl/topic...dla-klasyperku/

A co do zmiany modelu noża wyrzuć model w_* ponieważ noża nie da się wywalić:)
  • +
  • -
  • 1


#259046 Ograniczenie Speda

Napisane przez Grandi w 15.06.2011 11:53

Ograniczenie siły rakiet na podstawie klasy wsparcie ogniowe
/* Plugin generated by AMXX-Studio */

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


new sprite_blast;
new ilosc_rakiet_gracza[33];
new poprzednia_rakieta_gracza[33];

new const nazwa[] = "Wsparcie Ogniowe";
new const opis[] = "Posiada dwie rakiety";
new const bronie = 1<<CSW_MP5NAVY;
new const zdrowie = 0;
new const kondycja = 0;
new const inteligencja = 0;
new const wytrzymalosc = 10;

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

cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_touch("rocket", "*" , "DotykRakiety");

register_event("ResetHUD", "ResetHUD", "abe");
}

public plugin_precache()
{
sprite_blast = precache_model("sprites/dexplo.spr");
precache_model("models/rpgrocket.mdl");
}

public cod_class_enabled(id)
ilosc_rakiet_gracza[id] = 2;

public cod_class_skill_used(id)
{
if (!ilosc_rakiet_gracza[id])
{
client_print(id, print_center, "Wykorzystales juz wszystkie rakiety!");
return PLUGIN_CONTINUE;
}

if(poprzednia_rakieta_gracza[id] + 2.0 > get_gametime())
{
client_print(id, print_center, "Rakiet mozesz uzywac co 2 sekundy!");
return PLUGIN_CONTINUE;
}

if (is_user_alive(id))
{
poprzednia_rakieta_gracza[id] = floatround(get_gametime());
ilosc_rakiet_gracza[id]--;

new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];

entity_get_vector(id, EV_VEC_v_angle, vAngle);
entity_get_vector(id, EV_VEC_origin , Origin);

new Ent = create_entity("info_target");

entity_set_string(Ent, EV_SZ_classname, "rocket");
entity_set_model(Ent, "models/rpgrocket.mdl");

vAngle[0] *= -1.0;

entity_set_origin(Ent, Origin);
entity_set_vector(Ent, EV_VEC_angles, vAngle);

entity_set_int(Ent, EV_INT_effects, 2);
entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
entity_set_edict(Ent, EV_ENT_owner, id);

VelocityByAim(id, 1000 , Velocity);
entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
}
return PLUGIN_CONTINUE;
}

public DotykRakiety(ent)
{
if (!is_valid_ent(ent))
return;

new attacker = entity_get_edict(ent, EV_ENT_owner);


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);
write_byte(32);
write_byte(20);
write_byte(0);
message_end();

new entlist[33];
new numfound = find_sphere_class(ent, "player", 190.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, 55.0, 0.9, ent, (1<<24)); // Odpowiada do za zadawane obrażenia 55 jest to stałe dmg a 0.9 jest to mnożnik liczby pkt dane w inteligencje przez 0.9 w przypadku gdy klasa ma 100 inta rakieta zadaje 55+100*0.9 co daje 145 DMG
}
remove_entity(ent);
}

public ResetHUD(id)
ilosc_rakiet_gracza[id] = 2;

public client_disconnect(id)
{
new ent = find_ent_by_class(0, "rocket");
while(ent > 0)
{
if(entity_get_edict(id, EV_ENT_owner) == id)
remove_entity(ent);
ent = find_ent_by_class(ent, "rocket");
}
}

  • +
  • -
  • 1


#258939 Warning Cod Mod Stary POMOCY

Napisane przez Grandi w 14.06.2011 19:53

Warningi poprawione, ale jak pisał RPK one nie wpływają na działanie pluginu.

Załączone pliki


  • +
  • -
  • 1


#258936 Zmiana ilości lvli w starym cod

Napisane przez Grandi w 14.06.2011 19:47

Zmiana ilości lvli w starym codzie

Witam dzisiaj pokażę wam jak zmienić ilość lvli w starym call of duty modzie.

Generator znajduje się na http://www.cs-integracja.pl/tabela/ - Autorem skryptu jest mistrz DarkGL
  • Na początku trzeba wybrać rodzaj moda "Call of Duty Mod"
  • Następnie szybkość w zależności od ilości lvli czym mniejsza cyfra całkowita tym szybciej będzie się przechodziło do następnego poziomu
  • W rubryce "Jaki max lvl?" wpisujemy ile lvli chcemy mieć na swoim codzie (max. 25000 przy szybkości: "1")
  • I następnie klikamy na "Stwórz Tabelę"
Tworzy się tabelka expa, która zaraz będzie nam potrzebna

Teraz w pliku *sma szukamy
new const doswiadczenie_poziomu[] = {0,35,140,315,560,875,1260,1715,2240,2835,3500,4235,5040,5915,6860,7875,8960,10115,11340,12635,14000,15435,16940,18515,20160,21875,23660,25515,27440,29435,31500,33635,35840,38115,40460,42875,45360,47915,50540,53235,56000,58835,61740,64715,67760,70875,
74060,77315,80640,84035,87500,91035,94640,98315,102060,105875,109760,113715,117740,121835,126000,130235,134540,138915,143360,147875,152460,157115,161840,166635,171500,176435,181440,186515,191660,196875,202160,207515,212940,218435,224000,229635,235340,241115,246960,252875,258860,
264915,271040,277235,283500,289835,296240,302715,309260,315875,322560,329315,336140,343035,350000,357035,364140,371315,378560,385875,393260,400715,408240,415835,423500,431235,439040,446915,454860,462875,470960,479115,487340,495635,504000,512435,520940,529515,538160,546875,555660,564515,573440,
582435,591500,600635,609840,619115,628460,637875,647360,656915,666540,676235,686000,695835,705740,715715,725760,735875,746060,756315,766640,777035,787500,798035,808640,819315,830060,840875,851760,862715,873740,884835,896000,907235,918540,929915,941360,952875,964460,976115,987840,999635,1011500,1023435,1035440,
1047515,1059660,1071875,1084160,1096515,1108940,1121435,1134000,1146635,1159340,1172115,1184960,1197875,1210860,1223915,1237040,1250235,1263500,1276835,1290240,1303715,1317260,1330875,1344560,1358315,1372140,1386035,1400000};


I zamieniamy na całą wartość wygenerowanej tabeli


Szukamy linijki
public SprawdzPoziom(id)

Następnie linijki
if(poziom_gracza[id] < 201)
(W innych przypadkach zamiast 201, może być wcześniej inna cyfra i zamieniamy ją na:
if(poziom_gracza[id] < x)
- gdzie x to maxymalny lvl w pisany wcześniej w rubryce "Jaki max lvl?"

Następnie kompilujemy w kompilatorze lub lokalnie
Kompilator znajdziecie tutaj: Kompilator - AMXX.pl: Support AMX Mod X

Po wszystkim skompilowany plik QTM_CodMod (jeżeli wcześniej nie zmieniłeś nazwy) o rozszerzeniu *.amxx zamieniamy za tego co jest w plugins i gotowe.
Myślę, że się przyda, ponieważ DarkGL zrezygnował z prowadzenia strony na której był właśnie ten generator.
  • +
  • -
  • 3


#258779 ustawienie pkt. za hp

Napisane przez Grandi w 14.06.2011 13:08

Znajdź
public ZastosujAtrybuty(id)
{
redukcja_obrazen_gracza[id] = 0.7*(1.0-floatpower(1.1, -0.112311341*PobierzWytrzymalosc(id, 1, 1, 1)));

maksymalne_zdrowie_gracza[id] = 100.0+PobierzZdrowie(id, 1, 1, 1);

szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC+PobierzKondycje(id, 1, 1, 1)*1.3;

set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]);
}


I zmień na

public ZastosujAtrybuty(id)
{
redukcja_obrazen_gracza[id] = 0.7*(1.0-floatpower(1.1, -0.112311341*PobierzWytrzymalosc(id, 1, 1, 1)));

maksymalne_zdrowie_gracza[id] = 100.0+PobierzZdrowie(id, 1, 1, 1)*2; // To znaczy ze 2 więcej życia dostajesz!

szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC+PobierzKondycje(id, 1, 1, 1)*1.3;

set_pev(id, pev_health, maksymalne_zdrowie_gracza[id]);
}

  • +
  • -
  • 1