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.
|
Wozny
Rejestracja: 10.01.2012Aktualnie: Nieaktywny
Poza forum Ostatnio: 06.11.2017 18:02





Statystyki
- Grupa: Użytkownik
- Całość postów: 78
- Odwiedzin: 4 175
- Tytuł: Zaawansowany
- Wiek: Wiek nie został ustalony
- Urodziny: Data urodzin nie została podana
-
Imię
Tomasz
-
Płeć
Mężczyzna
-
Lokalizacja
Katowice
#737419 Poszukuje Plugin OPENGL
Napisane przez _McHappy
w 13.03.2017 19:28
#664286 Generator Klas Zombie.
Napisane przez G[o]Q
w 18.09.2014 13:10
a może generator głupich postów (nie chce mi sie ich ciągle wymyślać) albo jeszcze głupszych propozycji albo generator generatora Vipa żeby każdy mógł sobie wygenerować generator taki jaki potrzebuje aby wygenerować sobie Vipa (generato-cepcja [wiem ze incepcja to nie sen we snie]).
jedynym generatorem słusznym było by wg mnie to co kiedyś proponowałem i przedstawilem mianowicie generator tematów do dzialu z pluginami
#664009 Nowy Counter Strike : Nexon Free to play Steam
Napisane przez
BaroTato
w 16.09.2014 12:19
witam.
22 września na platformę steam wychodzi darmowa wersja Counter strike pod nazwą Counter Strike Nexon Zombie.
jak jest napisane w opisie steam
Counter-Strike Nexon: Zombies to darmowa gra MMOFPS oferująca zarówno zmagania w trybie PvE, jak i PvP, w tym zawartość z oryginalnego Counter-Strike’a i zupełnie nowe tryby, mapy, bronie i mnóstwo Zombie!
Możemy liczyć na dobrą zabawę. Ale zapewne zrujnuje to właścicieli serwerów zombie.
z tego ci mi wiadomo te valve wprowadził do tej rozgrywki także takie tryby jak ratowanie hostow czy plantowanie paki. Co o tym myślicie ? czy bd to niewypał od valve a może jednak bardzo dobra gierka. Zapraszam do składania opini.
aplikacja na steam: http://store.steampo...com/app/273110/
#662076 Dodanie funkcji by plugin działał od 3 rundy
Napisane przez Wielkie Jol
w 04.09.2014 14:22
public client_authorized(id){ if(get_user_flags(id) & 524288 == 524288){ client_authorized_vip(id); } }
W tej funkcji dodaj sprawdzanie, która jest runda i w evencie nowej rundy sprawdzaj, czy jest już trzecia runda, jeżeli tak, po pętli sprawdzaj, kto ma daną flagę, ten kto ma, wywołaj na nim funkcję
client_authorized_vip(id);
Albo skorzytaj tylko ze zmiennej g_vip[id], dającej graczowi vipa
#281494 Hp za zabójstwo dla klasy
Napisane przez Kamil0
w 11.08.2011 20:15
Zrobię to na przykładzie przykładzie klasy beż żadnej mocy.
oraz na talibie.
1 bez mocy:
#include <amxmodx> #include <codmod> new const nazwa[] = "nazwa"; new const opis[] = "Brak"; new const bronie = 1<<CSW_M4A1 | 1<<CSW_DEAGLE; new const zdrowie = 1; new const kondycja = 1; new const inteligencja = 1; new const wytrzymalosc = 1; public plugin_init(){ cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); }
Szukamy:
#include <codmod>
Dodajemy pod:
#include <fakemeta> #include <hamsandwich> new bool:ma_klase[33];
do plugin init dopisujemy
register_event("DeathMsg", "DeathMsg", "ade"); RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
i na koniec wklejamy:
public cod_class_enabled(id) { ma_klase[id] = true; return COD_CONTINUE; } public cod_class_disabled(id) ma_klase[id] = false; public DeathMsg() { new killer = read_data(1); new victim = read_data(2); if(!is_user_connected(killer)) return PLUGIN_CONTINUE; if(ma_klase[victim] && !ma_klase[killer]) cod_set_user_xp(killer, cod_get_user_xp(killer)+10); if(ma_klase[killer]) { new cur_health = pev(killer, pev_health); new Float:max_health = 100.0+cod_get_user_health(killer); new Float:new_health = cur_health+30.0<max_health? cur_health+30.0: max_health; set_pev(killer, pev_health, new_health); } return PLUGIN_CONTINUE; } public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if(!is_user_connected(idattacker)) return HAM_IGNORED; if(!ma_klase[idattacker]) return HAM_IGNORED; return HAM_IGNORED; }
W załączniku przykładowa klasa nazwałem ją szturmowiec.
teraz na przykładzie taliba
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <engine> #include <hamsandwich> #include <codmod> #include <colorchat> new bool:ma_klase[33]; new const nazwa[] = "Talib"; new const opis[] = "1/4 szansy na natychmiastowe zabicie z deagle, AutoBH"; new const bronie = 1<<CSW_DEAGLE | 1<<CSW_HEGRENADE; new const zdrowie = 10; new const kondycja = 50; new const inteligencja = 10; new const wytrzymalosc = 10; 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; ColorChat(id, GREEN, "Klasa %s zostanie zmieniona po odrodzeniu (wpisz /respawn).", nazwa); } 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_DEAGLE && !random(4) && damagebits & DMG_BULLET) cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits); return HAM_IGNORED; } public client_PreThink(id) { if(!ma_klase[id]) return PLUGIN_CONTINUE; if(!(get_user_button(id) & IN_JUMP)) return PLUGIN_CONTINUE; new flags = get_entity_flags(id); if (flags & FL_WATERJUMP) return PLUGIN_CONTINUE; if (entity_get_int(id, EV_INT_waterlevel) >= 2) return PLUGIN_CONTINUE; if (!(flags & FL_ONGROUND)) return PLUGIN_CONTINUE; new Float:velocity[3]; entity_get_vector(id, EV_VEC_velocity, velocity); velocity[2] += 250.0 entity_set_vector(id, EV_VEC_velocity, velocity); entity_set_int(id, EV_INT_gaitsequence, 6); return PLUGIN_CONTINUE; }
pod
#include <colorchat>
dodajemy:
#include <fakemeta>
do plugin init dodajemy:
register_event("DeathMsg", "DeathMsg", "ade");
na koniec kodu dodajemy
public DeathMsg() { new killer = read_data(1); new victim = read_data(2); if(!is_user_connected(killer)) return PLUGIN_CONTINUE; if(ma_klase[victim] && !ma_klase[killer]) cod_set_user_xp(killer, cod_get_user_xp(killer)+10); if(ma_klase[killer]) { new cur_health = pev(killer, pev_health); new Float:max_health = 100.0+cod_get_user_health(killer); new Float:new_health = cur_health+30.0<max_health? cur_health+30.0: max_health; set_pev(killer, pev_health, new_health); } return PLUGIN_CONTINUE; }
ILOŚĆ HP za zabójstwo ustalamy w tej linijce
new Float:new_health = cur_health+30.0<max_health? cur_health+30.0: max_health;zamiast+30.0 dodajemy swoją wartość.
#634220 Wiadomość dla ofiary
Napisane przez Andrzejek
w 23.04.2014 12:52
Witam, mała modyfikacja ale na pewno komuś się przyda. Modyfikacja dodaje graczu, który zginął informacje o tym kto go zabił, jaką klasę posiadał oraz ile mu pozostało HP
1.
(Dokumentacja http://amxx.pl/dokum...37/client_print)
2.
(Dokumentacja http://amxx.pl/dokum...a/i11/colorchat)
A teraz jak to wykonać? Szukamy w kodzie
public SmiercGraczaPost(id, attacker, shouldgib)
pod warunkiem
if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker]) { new doswiadczenie_za_zabojstwo = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo); new nowe_doswiadczenie = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo); if(poziom_gracza[id] > poziom_gracza[attacker]) nowe_doswiadczenie += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_zabojstwo/10); if(!perk_gracza[attacker]) UstawPerk(attacker, -1, -1, 1); doswiadczenie_gracza[attacker] += nowe_doswiadczenie; }
dodajemy
Wersja 1:
else if(klasa_gracza[id] && id != attacker) //id != attacker żeby nie pokazywało gdy sami się zabijemy { new szName[64]; get_user_name(attacker, szName, sizeof szName - 1) client_print(id, print_chat, "Zostales zabity przez gracza %s [%s - %d], ktoremu zostalo %d HP", szName, nazwy_klas[klasa_gracza[attacker]], poziom_gracza[attacker], get_user_health(attacker)); }
Wersja 2 (pamiętaj o dodaniu biblioteki "#include <colorchat>"):
else if(klasa_gracza[id] && id != attacker) //id != attacker żeby nie pokazywało gdy sami się zabijemy { new szName[64]; get_user_name(attacker, szName, sizeof szName - 1) ColorChat(id, GREEN, "Zostales zabity przez gracza^x03 %s^x04 [%s - %d], ktoremu zostalo^x03 %d^x04 HP", szName, nazwy_klas[klasa_gracza[attacker]], poziom_gracza[attacker], get_user_health(attacker)); }
całość powinna wyglądać tak
Wersja 1:
public SmiercGraczaPost(id, attacker, shouldgib) { if(!is_user_connected(attacker)) return HAM_IGNORED; if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker]) { new doswiadczenie_za_zabojstwo = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo); new nowe_doswiadczenie = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo); if(poziom_gracza[id] > poziom_gracza[attacker]) nowe_doswiadczenie += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_zabojstwo/10); if(!perk_gracza[attacker]) UstawPerk(attacker, -1, -1, 1); doswiadczenie_gracza[attacker] += nowe_doswiadczenie; } else if(klasa_gracza[id] && id != attacker) //id != attacker żeby nie pokazywało gdy sami się zabijemy { new szName[64]; get_user_name(attacker, szName, sizeof szName - 1) client_print(id, print_chat, "Zostales zabity przez gracza %s [%s - %d], ktoremu zostalo %d HP", szName, nazwy_klas[klasa_gracza[attacker]], poziom_gracza[attacker], get_user_health(attacker)); } SprawdzPoziom(attacker); return HAM_IGNORED; }
Wersja 2:
public SmiercGraczaPost(id, attacker, shouldgib) { if(!is_user_connected(attacker)) return HAM_IGNORED; if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker]) { new doswiadczenie_za_zabojstwo = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo); new nowe_doswiadczenie = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo); if(poziom_gracza[id] > poziom_gracza[attacker]) nowe_doswiadczenie += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_zabojstwo/10); if(!perk_gracza[attacker]) UstawPerk(attacker, -1, -1, 1); doswiadczenie_gracza[attacker] += nowe_doswiadczenie; } else if(klasa_gracza[id] && id != attacker) //id != attacker żeby nie pokazywało gdy sami się zabijemy { new szName[64]; get_user_name(attacker, szName, sizeof szName - 1) ColorChat(id, GREEN, "Zostales zabity przez gracza^x03 %s^x04 [%s - %d], ktoremu zostalo^x03 %d^x04 HP", szName, nazwy_klas[klasa_gracza[attacker]], poziom_gracza[attacker], get_user_health(attacker)); } SprawdzPoziom(attacker); return HAM_IGNORED; }
Gotowe, myślę że komuś się przyda.
Pozdrawiam
#656187 Zestaw Elektryka *Dwie wersje perku*
Napisane przez
kakus002
w 11.08.2014 23:59
Witam.
Poszukując na forum perku "Zestaw Elektryka"(Dostajesz 2 błyskawice) nie znalazłem ani jednego który by działał, chyba że źle szukałem
Jakiś czas temu postanowiłem go "naprawić" o dziwo było to prostsze niż myślałem
Dodatkowo sharkowy udostępnił swoje klasy w którym był elektryk inny niż dotychczas.
Mianowicie, nie było konieczności namierzania przeciwnika żeby dostał piorunem, wiec postanowiłem zrobić z tego perk.
Jedna wersja perku jest bez auto-namierzania, a druga z. Mam nadzieje że komuś się przyda
Błyskawica w obu perkach zadaje 55DMG+Inteligencja(1Int=1DMG)
Jeśli ktoś chce zmienić to w tej linijce:
ExecuteHam(Ham_TakeDamage, ofiara, id, id, 55.0+cod_get_user_intelligence(id), 1);
Załączone pliki
-
codperk_zestawelektrykabez.sma 3,08 KB 92 Ilość pobrań
codperk_zestawelektrykabez.amxx
-
codperk_zestawelektrykaauto.sma 5,71 KB 112 Ilość pobrań
codperk_zestawelektrykaauto.amxx
#403280 Wyrownanie lvli z jego % postepem
Napisane przez
Dizip
w 28.04.2012 19:17
Załączone pliki
-
diablo_5.9l.sma 326,59 KB 88 Ilość pobrań
diablo_5.9l.amxx
#402840 Wyrownanie lvli z jego % postepem
Napisane przez
Dizip
w 27.04.2012 23:27
w public Give_Xp(id,amount) dodać
oblicz_lvl(id)
a to dac za funkcja give_xp
public oblicz_lvl(id)
{
if (player_xp[id] > LevelXP[player_lvl[id]])
{
player_lvl[id]+=1
player_point[id]+=2
set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2)
show_hudmessage(id, "Awansowales do poziomu %i", player_lvl[id])
new name[32]
get_user_name(id, name, 31)
ColorChat(0, GREEN, "^x04%s^x01 awansowal na^x04 %i^x01 level (^x04 %s^x01)", name, player_lvl[id], Race[player_class[id]])
savexpcom(id)
player_class_lvl[id][player_class[id]]=player_lvl[id]
}
if (player_xp[id] < LevelXP[player_lvl[id]-1])
{
player_lvl[id]-=1
player_point[id]-=2
set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2)
show_hudmessage(id, "Spadles do poziomu %i", player_lvl[id])
savexpcom(id)
player_class_lvl[id][player_class[id]]=player_lvl[id]
}
if ((player_xp[id] > LevelXP[player_lvl[id]]) || (player_xp[id] < LevelXP[player_lvl[id]-1])) oblicz_lvl(id)
}
dzięki tej funkcji unikniemy takiemu efektu
Zapodaj.Net - Darmowy hosting zdjęć i obrazków bez rejestracji! Zapodaj swoje zdjęcia znajomym!
A to dlatego ze procent po1 zabiciu zamieni się w LVL .
Oczywiście nie jest to konieczny dodatek tylko małe udogodnienie.
Pozdrawiam serdecznie
#402030 Nowe Itemy DiabloMod
Napisane przez
Dizip
w 26.04.2012 14:23
#401994 Nowe Itemy DiabloMod
Napisane przez
Dizip
w 26.04.2012 13:02
Dzisiaj wam pokaże jak dodać kilka nowych itemów do swojego Diablo; )
Nie jestem mistrzem pisania poradników także musicie mi wybaczyć
Pierwszy item - Kret działanie? -Szansa na resp u przeciwnika
Na górze dodajemy
#include <hamsandwich>
new player_b_kret[33] = 1
w public RoundStart() dodajemy
if(player_b_kret[i] > 0 && random_num(1,player_b_kret[i]) == 1)
{
new CsTeams:team=cs_get_user_team(i)
if(team==CS_TEAM_CT)
cs_set_user_team(i,CS_TEAM_T,CS_DONTCHANGE)
if(team==CS_TEAM_T)
cs_set_user_team(i,CS_TEAM_CT,CS_DONTCHANGE)
ExecuteHam(Ham_Spawn,i)
cs_set_user_team(i,team,CS_DONTCHANGE)
}
w public reset_item_skills(id) ///resowani gdy gracz traci item
player_b_kret[id] = 0 //resp u wroga
w public iteminfo(id) ////opis
if (player_b_kret[id] > 0)
{
num_to_str(player_b_kret[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"na zrespienie sie u wroga
")
}
Dodajemy item w public award_item(id, itemnum)
case 195:
{
player_item_name[id] = "Kret"
player_item_id[id] = rannum
player_b_kret[id] = random_num(2,5)
show_hudmessage( id, "Znalazles przedmiot: %s :: Masz 1/%i szans na odrodzenie sie u wroga.",player_item_name[id],player_b_kretawn[id])
}
po dodaniu case pamietaj zeby zwiekszyc ilosc losowanych itemow
robi sie to na poczatku funkcji new rannum = random_num(1,xxx)
gdzie xx to liczby wszystkich case ,które posiadasz
Drugi item "Bezleb" - Działanie? -Nie da się Ciebie zabić strzałem w głowę
Na górze dodajemy
new player_glowaoff[33] = 1
w public reset_item_skills(id) ///resowani gdy gracz traci item
player_glowaoff[id] = 0 //wyłącz glowe
w public iteminfo(id) ////opis
if (player_glowaoff[id] > 0)
{
num_to_str(player_glowaoff[id],TempSkill,10)
add(itemEffect,199,"Nie da sie Ciebie zabic strzelajac w glowe<br>")
}
Dodajemy item w public award_item(id, itemnum)
case 174:
{
player_item_name[id] = "Bezleb"
player_item_id[id] = rannum
player_glowaoff[id] = 1
show_hudmessage( id, "Znalazles przedmiot: %s :: Nie masz glowy",player_item_name[id])
}
w public fw_traceline na koncu dodajemy
if(player_glowaoff[hit]>0) set_tr2(trace, TR_iHitgroup, 8)
Dodawanie itemu w spis jest w opisie 1 itemu
Na razie to tyle post będę uaktualniał bo teraz nie mam czasu napisać więcej. Możecie składać propozycje co do itemków. Postaram się je wykonać nawet dla własnych krozyści ; )
Dziękuje za przeczytanie posta
#390952 Prośba o przerobienie pluginu "Prefix w say CoD MOD"
Napisane przez A może sma?
w 04.04.2012 01:01
public handleSayText(msgId,msgDest,msgEnt)na koniec sma, a to:
{
new id = get_msg_arg_int(1);
if(!is_user_connected(id)) return PLUGIN_CONTINUE;
new szTmp[256],szTmp2[256];
get_msg_arg_string(2,szTmp, charsmax( szTmp ) )
new szPrefix[64]
formatex(szPrefix,charsmax( szPrefix ),"^x04[%s - %d]", Race[player_class[id]], player_class_lvl[id][player_class[id]]);
if(!equal(szTmp,"#Cstrike_Chat_All")){
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2)," ");
add(szTmp2,charsmax(szTmp2),szTmp);
}
else{
add(szTmp2,charsmax(szTmp2),szPrefix);
add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2");
}
set_msg_arg_string(2,szTmp2);
return PLUGIN_CONTINUE;
}
register_message(get_user_msgid("SayText"),"handleSayText");
do plugin_init()
Nie twierdze, że zadziała, lecz powinno ;F
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: Wozny
- Regulamin