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
 

Aexis - zdjęcie

Aexis

Rejestracja: 28.01.2017
Aktualnie: Nieaktywny
Poza forum Ostatnio: 10.11.2020 00:17
-----

#762602 Problem z advertiserem

Napisane przez Aexis w 22.11.2019 17:10

1. Pokaz nam jak to zmieniłeś.
2. Wpisz w konsole amx_showrcon amxx list i zobacz czy plugin działa
3. Możesz spróbować kompilacji lokalnej, zawsze lepsza
  • +
  • -
  • 3


#762563 Destruction oszukuje ludzi ultraskill.eu

Napisane przez Aexis w 21.11.2019 11:12

Ja jestem w stanie uwierzyć autorowi posta, dzisiaj napisałem do wyżej wymienionego Gambida w sprawie kupna jednej z jego unikalnych paczek. Jako ze nie widzę sensu kupowania za 50 zł paczki o bliżej nieokreślonej „Unikalnej” zawartości, poprosiłem o pare konkretnych przykładów pluginów, coś co mnie przekona. Chwile później zostałem zablokowany.
  • +
  • -
  • 4


#762553 Tabela wyników TAB

Napisane przez Aexis w 20.11.2019 23:58

Czy tabela nowa ma w ogóle wpływ na pracę serwera obciąża to jakoś ?


Każda funkcja w jakimś stopniu obciąża serwer. Aczkolwiek nie ma to praktycznie żadnego wpływu na jego wydajność
  • +
  • -
  • 1


#762539 Dziwne pliki serwerowe po instalacji

Napisane przez Aexis w 20.11.2019 12:14

Ten .config nie powinien mieć żadnego znaczenia , pewnie pozostał jako jakiś „artefakt” po reinstalacji i tak ustawienia będą czytane z tego w addons
  • +
  • -
  • 1


#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ć

 


  • +
  • -
  • 1


#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óć.


  • +
  • -
  • 1


#762530 Za duzo expa

Napisane przez Aexis w 19.11.2019 21:34

Rozumiem że COD nowy ?

To jeżeli nie masz osobnych pluginów dających dodatkowy exp, to wystarczy odpowiednio zmienić cvary:
 

cod_killxp  //Doswiadczenie za zabojstwo.
cod_winxp  //Doswiadczenie za wygrana.
cod_damagexp  //Doswiadczenie za 20 obrazen.

  • +
  • -
  • 1


#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);
	
}

  • +
  • -
  • 1


#762512 [ROZWIĄZANE] Ustawienie napisu HUD

Napisane przez Aexis w 18.11.2019 19:57

Bo to nie kwestia zmiany wielkości tablicy.
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 :)
  • +
  • -
  • 2


#762511 [ROZWIĄZANE] Ustawienie napisu HUD

Napisane przez Aexis w 18.11.2019 19:57

Bo to nie kwestia zmiany wielkości tablicy.
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 :)
  • +
  • -
  • 3


#762507 [ROZWIĄZANE] Ustawienie napisu HUD

Napisane przez Aexis w 18.11.2019 19:41

g_cvarTimerX=register_cvar("restart_timer_pozx","-1.00",0,-1.00);
g_cvarTimerY=register_cvar("restart_timer_pozy","-1.00",0,-1.00);

Większy niestety nie będzie
  • +
  • -
  • 2


#762498 [ROZWIĄZANE] Komenda

Napisane przez Aexis w 18.11.2019 16:00

https://amxx.pl/topi...cja-danej-mapy/

Enjoy, możesz to zrobić szybko sam i nie trzeba nic wymuszać
  • +
  • -
  • 1


#762494 Model noża dla vipa JailBreak

Napisane przez Aexis w 18.11.2019 15:26

if(get_user_team(id) == 1 && get_user_flags(id) & VIP && wpn == CSW_KNIFE){

A problemem nie jest tutaj czasem to, ze stawiasz warunek, żeby ustawić ten model tylko w drużynie TT?
Zamień na coś takiego i powinno śmigać.
if(get_user_flags(id) & VIP && wpn == CSW_KNIFE)
  • +
  • -
  • 1


#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;
}

  • +
  • -
  • 1


#740044 [KOSZ] problem z error

Napisane przez Aexis w 03.06.2017 09:32

Zobacz  :).

Załączone pliki


  • +
  • -
  • 1