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.
|
Aexis
Rejestracja: 28.01.2017Aktualnie: Nieaktywny
Poza forum Ostatnio: 10.11.2020 00:17





O mnie
Statystyki
- Grupa: Użytkownik
- Całość postów: 59
- Odwiedzin: 3 150
- Tytuł: Pomocny
- Wiek: Wiek nie został ustalony
- Urodziny: Data urodzin nie została podana
-
Imię
Paweł
-
Płeć
Mężczyzna
-
Lokalizacja
Wrocław
Narzędzia użytkownika
Ostatnio byli
#762602 Problem z advertiserem
Napisane przez Aexis
w 22.11.2019 17:10
2. Wpisz w konsole amx_showrcon amxx list i zobacz czy plugin działa
3. Możesz spróbować kompilacji lokalnej, zawsze lepsza
#762563 Destruction oszukuje ludzi ultraskill.eu
Napisane przez Aexis
w 21.11.2019 11:12
#762553 Tabela wyników TAB
Napisane przez Aexis
w 20.11.2019 23:58
#762539 Dziwne pliki serwerowe po instalacji
Napisane przez Aexis
w 20.11.2019 12:14
#762534 Za duzo expa
Napisane przez Aexis
w 19.11.2019 22:13
Jak zamienisz na coś takiego bedzie przyznawana tylko wartośc z cod_killxp:
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 += (doswiadczenie_za_zabojstwo); if(!perk_gracza[attacker]) UstawPerk(attacker, -1, -1, 1); doswiadczenie_gracza[attacker] += nowe_doswiadczenie; } SprawdzPoziom(attacker); return HAM_IGNORED; }
Natomiast doświadczenie za obrazenia nie zależy od różnicy lvl, nic nie musisz zmieniać
#762532 Za duzo expa
Napisane przez Aexis
w 19.11.2019 21:56
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; } SprawdzPoziom(attacker); return HAM_IGNORED; }
Znajdź taki fragment w sma silnika.
Chodzi tutaj głownie o ten fragment:
nowe_doswiadczenie += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_zabojstwo/10);
Doświadczenie które dostaje gracz, jeżeli zabija gracza z wyższym poziomem jest równe=
[(lvl gracza z wyższym lvl) - (lvl gracza z niższym lvl)] * (wartość cvara cod_killxp)/10
np. gracz z lvl 5000 został zabity przez gracza z lvl 10:
doświadczenie=(5000-10)*cod_killxp/10
Więc generalnie musisz sobie pokombinowac tak z tym algorytmem jak Ci odpowiada.
Jak bedziesz miał jakis problem pisz, spróbuję pomóć.
#762530 Za duzo expa
Napisane przez Aexis
w 19.11.2019 21:34
#762518 [ROZWIĄZANE] Ustawienie napisu HUD
Napisane przez Aexis
w 19.11.2019 08:24
A jesteś pewny, że nie zmieniłeś czegoś wcześniej jeżeli chodzi o liczby w [ ] kwadratowych nawiasach i tak zostało ? w każdym razie juz bez kombinowania, spróbuj tak

#include <amxmodx> #include <amxmisc> #include <fakemeta> #include <fakemeta_util> #include <hamsandwich> #define PLUGIN "Rozgrzewka nr blablabla" #define VERSION "1.2.2" #define AUTHOR "R3X" new const gszMusic[]="misc/sarestart.mp3"; //cstrike/sound/[gszMusic] new const gszPausePlugins[][]={ "alt_end_round_sounds.amxx" }; new const giColor[3]={0, 200,200}; #define MAX_PLAYERS 32 #define SPAWN_TASKID 9999 #define TASK_EQUIP 99999 #define RESTART_TASKID 123 #define ACTIVE_TASKID 124 new bool:Active=false; new bool:gbPlay[33]; new g_cvarRTime; new g_cvarFreeze; new g_cvarDelay; new g_cvarSpawnDelay; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_event("TextMsg", "Game_Restart", "a", "2&#Game_C"); register_event("DeathMsg","onDeath","a"); register_event("CurWeapon","eventCurWeapon","be","1=0", "2!0"); RegisterHam(Ham_Spawn, "player", "fwSpawn",1); register_forward(FM_SetModel, "fwSetModel",1); register_event("HLTV", "setWeapons", "a", "1=0", "2=0"); g_cvarRTime=register_cvar("restart_time","60"); g_cvarDelay=register_cvar("restart_weapondelay","2.0",0,2.0); g_cvarSpawnDelay=register_cvar("restart_spawndelay","2.0",0,2.0); g_cvarFreeze=get_cvar_pointer("mp_freezetime"); blockBuy(); } public plugin_precache(){ precache_sound(gszMusic); } public Game_Restart(){ if(Active){ remove_task(RESTART_TASKID); return; } Active=true; new iRTime=get_pcvar_num(g_cvarRTime)+get_pcvar_num(g_cvarFreeze)+1; for(new i=1;i<33;i++) gbPlay[i]=true; new param[1]; param[0]=iRTime; set_task(1.0,"CountDown",RESTART_TASKID,param,1); for(new i=0;i<sizeof gszPausePlugins;i++) pause("ac",gszPausePlugins[i]); } public CountDown(param[1]){ new iNow=param[0]--; switch(iNow){ case 0:{ server_cmd("sv_restartround 1"); clearRespawns(); new param[1]; param[0]=0; set_task(1.0,"Activation",ACTIVE_TASKID,param,1); for(new i=0;i<sizeof gszPausePlugins;i++) unpause("ac",gszPausePlugins[i]); } case 1:{ client_cmd(0,"speak one"); } case 2:{ client_cmd(0,"speak two"); } case 3:{ client_cmd(0,"speak three"); } } if(iNow>=1) set_task(1.0,"CountDown",RESTART_TASKID,param,1); new fx=0; if(iNow<=5){ fx=1; } set_hudmessage(giColor[0], giColor[1], giColor[2], -1.00, 0.03, fx, 6.0, 1.0) show_hudmessage(0, "Czas rozgrzewki^n%2d:%02d",iNow/60,iNow%60); } public Activation(param[1]){ Active=(param[0]==0)?false:true; } public onDeath(){ new vid=read_data(2); if(Active) set_task(get_pcvar_float(g_cvarSpawnDelay),"respawn",SPAWN_TASKID+vid); return PLUGIN_CONTINUE; } public fwSpawn(id){ if(Active && is_user_alive(id)){ if(gbPlay[id]){ play(id, gszMusic); gbPlay[id]=false; } if(task_exists(TASK_EQUIP+id)) remove_task(TASK_EQUIP+id); set_task(0.2, "taskEquip", TASK_EQUIP+id); } } public eventCurWeapon(id){ if(Active){ if(task_exists(TASK_EQUIP+id)) remove_task(TASK_EQUIP+id); set_task(0.5, "taskEquip", TASK_EQUIP+id); } } public taskEquip(id){ id-=TASK_EQUIP; if(Active && is_user_alive(id)){ fm_strip_user_weapons(id); fm_give_item(id, "weapon_hegrenade"); } } public fwSetModel(ent, szModel[]){ if(Active){ if(equal(szModel[7], "w_hegrenade.mdl")) set_task(get_pcvar_float(g_cvarDelay), "taskEquip", TASK_EQUIP+pev(ent,pev_owner)); else{ static szClass[32]; pev(ent, pev_classname,szClass ,31); if(equal(szClass, "weaponbox") || contain(szClass, "weapon_")==0 || contain(szClass, "item_")==0 ){ set_pev(ent, pev_solid, SOLID_NOT); fm_set_rendering(ent, _, _,_,_,kRenderTransAlpha,0); } } } } public respawn(task_id){ ExecuteHamB(Ham_CS_RoundRespawn,task_id-SPAWN_TASKID); } public clearRespawns(){ for(new i=1;i<=MAX_PLAYERS;i++){ if(task_exists(SPAWN_TASKID+i)) remove_task(SPAWN_TASKID+i); if(task_exists(TASK_EQUIP+i)) remove_task(TASK_EQUIP+i); } } public blockBuy(){ register_clcmd("drop","block") register_clcmd("cl_setautobuy","block") register_clcmd("cl_autobuy","block") register_clcmd("cl_setrebuy","block") register_clcmd("cl_rebuy","block") register_clcmd("buy","block") register_clcmd("p228","block"); register_clcmd("228compact","block"); register_clcmd("shield","block"); register_clcmd("scout","block"); register_clcmd("hegren","block"); register_clcmd("xm1014","block"); register_clcmd("autoshotgun","block"); register_clcmd("mac10","block"); register_clcmd("aug","block"); register_clcmd("bullpup","block"); register_clcmd("sgren","block"); register_clcmd("elites","block"); register_clcmd("fn57","block"); register_clcmd("fiveseven","block"); register_clcmd("ump45","block"); register_clcmd("sg550","block"); register_clcmd("krieg550","block"); register_clcmd("galil","block"); register_clcmd("defender","block"); register_clcmd("famas","block"); register_clcmd("clarion","block"); register_clcmd("usp","block"); register_clcmd("km45","block"); register_clcmd("glock","block"); register_clcmd("9x19mm","block"); register_clcmd("awp","block"); register_clcmd("magnum","block"); register_clcmd("mp5","block"); register_clcmd("smg","block"); register_clcmd("m249","block"); register_clcmd("m3","block"); register_clcmd("12gauge","block"); register_clcmd("m4a1","block"); register_clcmd("tmp","block"); register_clcmd("mp","block"); register_clcmd("g3sg1","block"); register_clcmd("d3au1","block"); register_clcmd("flash","block"); register_clcmd("deagle","block"); register_clcmd("nighthawk","block"); register_clcmd("sg552","block"); register_clcmd("krieg552","block"); register_clcmd("ak47","block"); register_clcmd("cv47","block"); register_clcmd("p90","block"); register_clcmd("c90","block"); register_clcmd("primammo","block"); register_clcmd("secammo","block"); register_clcmd("vest","block"); register_clcmd("vesthelm","block"); register_clcmd("nvgs","block"); } public block(id){ if(Active){ client_print(id,print_center,"Nie tym razem"); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } public setWeapons(){ //weapons new ent=-1; do{ ent=engfunc(EngFunc_FindEntityByString, ent,"classname", "armoury_entity"); if(pev_valid( ent )) { set_pev(ent, pev_solid, (Active)?SOLID_NOT:1); fm_set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,(Active)?0:255); } } while(ent); } play(id,const sound[]) { new end=strlen(sound)-4; if(containi(sound,".mp3") == end && end>0) client_cmd(id,"mp3 play sound/%s",sound); else if(containi(sound,".wav") == end && end>0) client_cmd(id, "spk sound/%s",sound); else client_cmd(id, "speak %s",sound); }
#762512 [ROZWIĄZANE] Ustawienie napisu HUD
Napisane przez Aexis
w 18.11.2019 19:57
Tutaj położenie można zmieniać za pomocą cvarow:
restart_timer_pozx
restart_timer_pozy
Lub bezpośrednio w pluginie
g_cvarTimerX=register_cvar("restart_timer_pozx","-1.00",0,-1.00);
g_cvarTimerY=register_cvar("restart_timer_pozy","0.03",0,0.03);
Z takimi ustawieniami powinien być na gorze po środku

#762511 [ROZWIĄZANE] Ustawienie napisu HUD
Napisane przez Aexis
w 18.11.2019 19:57
Tutaj położenie można zmieniać za pomocą cvarow:
restart_timer_pozx
restart_timer_pozy
Lub bezpośrednio w pluginie
g_cvarTimerX=register_cvar("restart_timer_pozx","-1.00",0,-1.00);
g_cvarTimerY=register_cvar("restart_timer_pozy","0.03",0,0.03);
Z takimi ustawieniami powinien być na gorze po środku

#762507 [ROZWIĄZANE] Ustawienie napisu HUD
Napisane przez Aexis
w 18.11.2019 19:41
#762498 [ROZWIĄZANE] Komenda
Napisane przez Aexis
w 18.11.2019 16:00
#762494 Model noża dla vipa JailBreak
Napisane przez Aexis
w 18.11.2019 15:26
#741362 Wyrzucenie broni
Napisane przez Aexis
w 23.07.2017 17:05
#include <amxmodx> #include <amxmisc> #include <codmod> #include <fun> #include <hamsandwich> new const nazwa[] = "Hitman |Premium|"; new const opis[] = ""; new const bronie = (1<<CSW_HEGRENADE)|(1<<CSW_ELITE)|(1<<CSW_SG550); new const zdrowie = 30; new const kondycja = 20; new const inteligencja = 30; new const wytrzymalosc = 30; new const frakcja[] = "Ludzie"; new bool:ma_klase[33] public plugin_init() { register_plugin(nazwa, "1.0", "amxx.pl"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc, frakcja); RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); } public cod_class_enabled(id) { if(!(get_user_flags(id) & ADMIN_LEVEL_E)) { client_print(id, print_chat, "[Hitman |Premium|] Nie masz uprawnien, aby uzywac tej klasy.") return COD_STOP; } give_item(id, "weapon_hegrenade"); ma_klase[id] = true; return COD_CONTINUE; } 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(!(random_num(1,7) == 1)) return HAM_IGNORED; if(ma_klase[idattacker]) client_cmd(this, "drop"); return HAM_IGNORED; }
#740044 [KOSZ] problem z error
Napisane przez Aexis
w 03.06.2017 09:32
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: Aexis
- Regulamin