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
 

Zdjęcie

[ROZWIĄZANE] Ustawienie napisu HUD

napis hud amx mod fpositions

  • Zamknięty Temat jest zamknięty
8 odpowiedzi w tym temacie

#1 gravis19988

    Życzliwy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:24
  • Imię:robson
  • Lokalizacja:harklowe
Offline

Napisano 18.11.2019 18:48

Witam

Wgrałem sobie rozgrzewkę na serwer z kodu poniżej, i wszystko gra, tylko chciałem zmienić pozycje napisu "Czas rozgrzewki" aby był na środku, ale jest problem ponieważ

 

np. gdy ustawie fPosition[0], fPosition[1] napis jest w lewym dolnym rogu,

fPosition[1], fPosition[0] to z kolei jest w  prawym górnym rogu,

a jak ustalić aby był na górze na środku ?[jak zrobić aby był 2x większy?], próbowałem wiele konfiguracji liczb ale wtedy nie da się skonwertować pliku w compilerze bo wyskakują błędy 

 

Dziękuję z góry za pomoc

Pozdrawiam

#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 Float:fPosition[2];

new g_cvarRTime;
new g_cvarFreeze;
new g_cvarTimerX,g_cvarTimerY, g_cvarDelay, 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_cvarTimerX=register_cvar("restart_timer_pozx","0.01",0,0.01);
	g_cvarTimerY=register_cvar("restart_timer_pozy","0.86",0,0.86);
	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;

	fPosition[0]=get_pcvar_float(g_cvarTimerX);
	fPosition[1]=get_pcvar_float(g_cvarTimerY);
	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], fPosition[0], fPosition[1], 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);
	
}

  • +
  • -
  • 0

#2 Aexis

    Pomocny

  • Użytkownik

Reputacja: 35
Życzliwy

  • Postów:59
  • GG:
  • Imię:Paweł
  • Lokalizacja:Wrocław
Offline

Napisano 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

Użytkownik Aexis edytował ten post 18.11.2019 19:41

  • +
  • -
  • 2

1228979531_oie_291885ZfujEGiH(1).png.af1


#3 gravis19988

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:24
  • Imię:robson
  • Lokalizacja:harklowe
Offline

Napisano 18.11.2019 19:45

Dzięki za reakcje

a co z położeniem, da się zrobić na środek górny? bo wiele kombinacji próbowałem i działają tylko |0,1|0,0|1,0|1,1|


  • +
  • -
  • 0

#4 Aexis

    Pomocny

  • Użytkownik

Reputacja: 35
Życzliwy

  • Postów:59
  • GG:
  • Imię:Paweł
  • Lokalizacja:Wrocław
Offline

Napisano 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

1228979531_oie_291885ZfujEGiH(1).png.af1


#5 Aexis

    Pomocny

  • Użytkownik

Reputacja: 35
Życzliwy

  • Postów:59
  • GG:
  • Imię:Paweł
  • Lokalizacja:Wrocław
Offline

Napisano 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

1228979531_oie_291885ZfujEGiH(1).png.af1


#6 gravis19988

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:24
  • Imię:robson
  • Lokalizacja:harklowe
Offline

Napisano 18.11.2019 22:41

Podmieniłam na dane jak mi podałeś, skompilowałem plugin i wgrałem ale niestety licznik czasu znajdował się w lewym dolnym rogu (zlewa się z chatem)


  • +
  • -
  • 0

#7 Aexis

    Pomocny

  • Użytkownik

Reputacja: 35
Życzliwy

  • Postów:59
  • GG:
  • Imię:Paweł
  • Lokalizacja:Wrocław
Offline

Napisano 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

1228979531_oie_291885ZfujEGiH(1).png.af1


#8 gravis19988

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:24
  • Imię:robson
  • Lokalizacja:harklowe
Offline

Napisano 19.11.2019 10:26

Dziękuje ślicznie Aexis, działa pięknie


  • +
  • -
  • 0

#9 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 980
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 19.11.2019 13:08

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: napis, hud, amx, mod, fpositions

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych