Spr ye ait txt dosyası var. İçerisinden sprnin ne kadarlık boyutunun alınacağını ve konumunu ayarlayabiliyorsun. Benim beceremediğim şey. Ekrana yansıtılan spr nin indexini değiştirmek oldu.
üst yazı spr istek eklenti
Moderatör: Moderatörler
üst yazı spr istek eklenti
| Link: | |
| Linklerini gizle |
üst yazı spr istek eklenti
ekran çözünürlüğüne göre şekilleniyor.Fatih ~ EjderYa yazdı: Çrş Kas 13, 2019 10:44 amSpr ye ait txt dosyası var. İçerisinden sprnin ne kadarlık boyutunun alınacağını ve konumunu ayarlayabiliyorsun. Benim beceremediğim şey. Ekrana yansıtılan spr nin indexini değiştirmek oldu.
| Link: | |
| Linklerini gizle |
üst yazı spr istek eklenti
Benım bıldıgım .res dosyası ekrana sabıtlenebılır oda sprye benzer yazıdır
| Link: | |
| Linklerini gizle |
üst yazı spr istek eklenti
Eklentıye bı goz atın derım .res uzantılı bır sprıteye benzeyen yazı şeklını her round başında reklam olarak verıyor.
tgalar da aynı şekılde
tgalar da aynı şekılde
Kod: Tümünü seç
/*
* Tutor Advertisement
* by quckly
*
* adtutor_round 0
* -1 - íå ïîêàçûâàòü ñîîáùåíèå â íà÷àëå ğàóíäà
* 0 - ïîêàçàòü ñîîáùåíèå â íà÷àëå ğàóíäà
* <time> - ïîêàçàòü ñîîáùåíèå ÷åğåç <time> ñåê ïîñëå íà÷àëà ğàóíäà
*
* adtutor_repeat 120.0
* - âğåìÿ ÷åğåç êîòîğîå ïîâòîğÿşòüñÿ ñîîáùåíèÿ, åñëè 0.0 òî íå ïîêàçûâàòü
*
* adtutor_nextcolor 1
* 0 - âûáèğàòü öâåò ñëó÷àéíî
* 1 - ïîêàçûâàòü öâåòà ïî î÷åğåäè
*
* adtutor_nextmsg 1
* 0 - âûáèğàòü ñîîáùåíèå ñëó÷àéíî
* 1 - ïîêàçûâàòü ñîîáùåíèå ïî î÷åğåäè
*
*
* Âñå ñîîáùåíèÿ âïèñûâàòü â tutors.ini
*
* Ñîîáùåíèÿ Íà÷èíàòü ñ
* !r, !R - äëÿ êğàñíîãî ñîîáåùíèÿ
* !B, !B - äëÿ ñèíåãî ñîîáåùíèÿ
* !y, !Y - äëÿ æåëòîãî ñîîáåùíèÿ
* !g, !G - äëÿ çåëåííîãî ñîîáåùíèÿ
*
* Åñëè íå íàïèñàíà áóêâà, öâåò áóäåò âûáğàí ñëó÷àéíî
* Äëÿ íîâîé ñòğîêè ïèøåì ^n
* Ôàéë äîëæåí áûòü â êîäèğîâêå ANSI
* Áóêâû "ÿ" íå äîëæíî áûòü â ôàéëå
*
*/
#include <amxmodx>
#include <amxmisc>
#define VERSION "0.3"
#define MAX_TUTOR_CHARS 192
#define MAX_TUTOR_CHARM 191
enum TutorColor
{
TUTOR_RED = 1,
TUTOR_BLUE,
TUTOR_YELLOW,
TUTOR_GREEN
}
enum(+= 10)
{
TASK_TUTOR_LOAD = 57810,
TASK_TUTOR_SHOW,
TASK_TUTOR_RS,
TASK_TUTOR
}
#define TUTOR_TIME 10.0
new const g_TutorPrecache[][] = { "gfx/career/icon_!.tga", "gfx/career/icon_!-bigger.tga", "gfx/career/icon_i.tga", "gfx/career/icon_i-bigger.tga", "gfx/career/icon_skulls.tga", "gfx/career/round_corner_ne.tga", "gfx/career/round_corner_nw.tga", "gfx/career/round_corner_se.tga", "gfx/career/round_corner_sw.tga", "yeniklasor/TutorScheme.res", "yeniklasor/UI/TutorTextWindow.res" }
new Array:TutorMSG[_:TutorColor];
new g_iNextMSG[_:TutorColor];
new g_iNextColor;
new g_bLoaded;
new g_pStartRound, g_pRepeatTime, g_pNextColor, g_pNextMsg;
new g_iMsgTutor;
new g_iMsgTutClose;
new g_iMaxPlayers;
public plugin_precache()
{
for(new i = 0; i < sizeof g_TutorPrecache; i++)
{
precache_generic(g_TutorPrecache[i]);
}
}
public plugin_init()
{
register_plugin("Tutor advertisement", VERSION, "quckly");
g_iMsgTutor = get_user_msgid("TutorText");
g_iMsgTutClose = get_user_msgid("TutorClose");
g_iMaxPlayers = get_maxplayers();
g_pStartRound = register_cvar("adtutor_round", "0");
g_pRepeatTime = register_cvar("adtutor_repeat", "120.0");
g_pNextColor = register_cvar("adtutor_nextcolor", "1");
g_pNextMsg = register_cvar("adtutor_nextmsg", "1");
register_cvar("adtutor_version", VERSION, FCVAR_SERVER | FCVAR_SPONLY);
set_cvar_string("adtutor_version", VERSION);
TutorMSG[_:TUTOR_RED] = ArrayCreate(MAX_TUTOR_CHARS);
TutorMSG[_:TUTOR_BLUE] = ArrayCreate(MAX_TUTOR_CHARS);
TutorMSG[_:TUTOR_YELLOW] = ArrayCreate(MAX_TUTOR_CHARS);
TutorMSG[_:TUTOR_GREEN] = ArrayCreate(MAX_TUTOR_CHARS);
register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0");
register_logevent("EventRoundEnd", 2, "1=Round_End");
set_task(15.0, "Task_Load", TASK_TUTOR_LOAD);
g_bLoaded = false;
g_iNextColor = _:TUTOR_GREEN;
for(new i = _:TUTOR_RED; i <= _:TUTOR_GREEN; i++)
{
g_iNextMSG[i] = 0;
}
}
public EventRoundStart()
{
if(!g_bLoaded)
return;
if(get_pcvar_num(g_pStartRound) == 0)
TutorShowNext();
else if(get_pcvar_num(g_pStartRound) > 0)
{
set_task(float(get_pcvar_num(g_pStartRound)), "Task_Show", TASK_TUTOR_RS);
}
if(get_pcvar_float(g_pRepeatTime) > 0.0 )
set_task(get_pcvar_float(g_pRepeatTime), "Task_Show", TASK_TUTOR_SHOW, "", 0, "b");
}
public EventRoundEnd()
{
remove_task(TASK_TUTOR_SHOW);
remove_task(TASK_TUTOR_RS);
}
public Task_Show()
{
TutorShowNext();
}
TutorShowNext()
{
static szTutorText[MAX_TUTOR_CHARS];
if(get_pcvar_num(g_pNextColor))
while( ArraySize( TutorMSG[ (g_iNextColor = get_next_color(g_iNextColor)) ] ) == 0 ) {}
else
while( ArraySize( TutorMSG[ (g_iNextColor = random_num(_:TUTOR_RED, _:TUTOR_GREEN)) ] ) == 0 ) {}
//while( ArraySize( TutorMSG[g_iNextColor] ) == 0 )
//{
// g_iNextColor = get_next_color(g_iNextColor);
//}
if(get_pcvar_num(g_pNextMsg))
g_iNextMSG[g_iNextColor] = get_next_msg(g_iNextMSG[g_iNextColor])
else
g_iNextMSG[g_iNextColor] = random_num(0, ArraySize(TutorMSG[g_iNextColor]) - 1);
ArrayGetString(TutorMSG[g_iNextColor], g_iNextMSG[g_iNextColor], szTutorText, MAX_TUTOR_CHARM);
tutorMake(0, TutorColor:g_iNextColor, TUTOR_TIME, szTutorText);
//g_iNextColor = get_next_color(g_iNextColor);
}
public Task_Load()
{
new szFile[64];
get_configsdir(szFile, 63);
format(szFile, 63, "%s/tutors.ini", szFile);
if(file_exists(szFile))
{
new fHandle = fopen(szFile, "rt");
if(!fHandle)
{
log_amx("fopen error");
return;
}
new szBuffer[MAX_TUTOR_CHARS], iTutor, iAll, seek;
while(!feof(fHandle))
{
fgets(fHandle, szBuffer, MAX_TUTOR_CHARM);
if(szBuffer[0] == ';' || !szBuffer[0] || szBuffer[0] == ' ' || szBuffer[0] == 10)
{
continue;
}
trim(szBuffer);
seek = 2;
if(szBuffer[0] == '!')
{
if(szBuffer[1] == 'r' || szBuffer[1] == 'R')
iTutor = _:TUTOR_RED;
else if(szBuffer[1] == 'b' || szBuffer[1] == 'B')
iTutor = _:TUTOR_BLUE;
else if(szBuffer[1] == 'y' || szBuffer[1] == 'Y')
iTutor = _:TUTOR_YELLOW;
else if(szBuffer[1] == 'g' || szBuffer[1] == 'G')
iTutor = _:TUTOR_GREEN;
else
{
iTutor = random_num(_:TUTOR_RED, _:TUTOR_GREEN);
seek = 0;
}
}
else
{
iTutor = random_num(_:TUTOR_RED, _:TUTOR_GREEN);
seek = 0;
}
replace_all(szBuffer, MAX_TUTOR_CHARM, "^^n", "^n")
ArrayPushString(TutorMSG[iTutor], szBuffer[seek]);
iAll++;
}
fclose(fHandle);
if(iAll > 0) g_bLoaded = true
log_amx("Loaded %i tutors", iAll);
}
else
log_amx("%s not exists", szFile);
}
stock get_next_color(iColor)
{
if( iColor == _:TUTOR_GREEN )
return _:TUTOR_RED;
else
return iColor + 1;
return _:TUTOR_RED;
}
stock get_next_msg(iNumMsg)
{
if( iNumMsg == ( ArraySize(TutorMSG[g_iNextColor]) - 1 ) )
return 0;
else
return ++iNumMsg;
return 0;
}
/*============================================/
From tutor.inc
/============================================*/
stock tutorMake(id,TutorColor:Color,Float:fTime = 0.0,const szText[],any:...)
{
new szMessage[192];
vformat(szMessage, charsmax(szMessage), szText, 5);
if(!id){
message_begin(MSG_ALL,g_iMsgTutor);
write_string(szMessage);
write_byte(0);
write_short(0);
write_short(0);
write_short(1<<_:Color);
message_end();
}
else if(is_user_connected(id))
{
message_begin(MSG_ONE_UNRELIABLE,g_iMsgTutor,_,id);
write_string(szMessage);
write_byte(0);
write_short(0);
write_short(0);
write_short(1<<_:Color);
message_end();
}
if(fTime != 0.0){
if(!id){
for(new i = 1; i <= g_iMaxPlayers; i++)
remove_task(i+TASK_TUTOR);
set_task(fTime,"tutorClose",TASK_TUTOR);
}
else
{
remove_task(id+TASK_TUTOR);
set_task(fTime,"tutorClose",id+TASK_TUTOR);
}
}
}
public tutorClose(iTask)
{
new id = iTask - TASK_TUTOR;
if(!id){
message_begin(MSG_ALL,g_iMsgTutClose);
message_end();
}
else if(is_user_connected(id))
{
message_begin(MSG_ONE_UNRELIABLE,g_iMsgTutClose,_,id);
message_end();
}
}
| Link: | |
| Linklerini gizle |
üst yazı spr istek eklenti
Hayır hiçbir şekilde oraya spr sapitlenemez. Sabitleme bilmesi için orada oyunun kendi motorunda slot olması gerekir. Slot olmakla beraber byte değerinden farklı bir değerle gelmesi gerekir. Oyun ekranının sadece belirli bir bölgesine resim ekleyebilirsiniz, spec banner, scoreboard sol üst köşesinde ki Valve Orange Box noktası vs.
https://wiki.alliedmods.net/Half-life_1_game_events
https://wiki.alliedmods.net/Half-life_1_game_events
| Link: | |
| Linklerini gizle |
üst yazı spr istek eklenti
Peki hareketli üst yazı nasıl yapılıyor? Bunun mantığına bakarak tga veya bmp oraya yapılamaz mı?seypa yazdı: Prş Kas 14, 2019 8:07 am Hayır hiçbir şekilde oraya spr sapitlenemez. Sabitleme bilmesi için orada oyunun kendi motorunda slot olması gerekir. Slot olmakla beraber byte değerinden farklı bir değerle gelmesi gerekir. Oyun ekranının sadece belirli bir bölgesine resim ekleyebilirsiniz, spec banner, scoreboard sol üst köşesinde ki Valve Orange Box noktası vs.
https://wiki.alliedmods.net/Half-life_1_game_events
| Link: | |
| Linklerini gizle |
üst yazı spr istek eklenti
Hareketli üst yazıdan kastın hudmesajı ise goldSRC oyun motoruyla beraber gelen bir özellik. Daha önceki hl sürümlerinde misyonları belirtmek için geliştirilen bir string biçimi.Serhat Öndeş yazdı: Prş Kas 14, 2019 11:46 amPeki hareketli üst yazı nasıl yapılıyor? Bunun mantığına bakarak tga veya bmp oraya yapılamaz mı?seypa yazdı: Prş Kas 14, 2019 8:07 am Hayır hiçbir şekilde oraya spr sapitlenemez. Sabitleme bilmesi için orada oyunun kendi motorunda slot olması gerekir. Slot olmakla beraber byte değerinden farklı bir değerle gelmesi gerekir. Oyun ekranının sadece belirli bir bölgesine resim ekleyebilirsiniz, spec banner, scoreboard sol üst köşesinde ki Valve Orange Box noktası vs.
https://wiki.alliedmods.net/Half-life_1_game_events
| Link: | |
| Linklerini gizle |
üst yazı spr istek eklenti
Hud mesajı değil. Daha önce serverımda hareketli üst yazı eklentisi kullanıyorduk.seypa yazdı: Prş Kas 14, 2019 11:57 amHareketli üst yazıdan kastın hudmesajı ise goldSRC oyun motoruyla beraber gelen bir özellik. Daha önceki hl sürümlerinde misyonları belirtmek için geliştirilen bir string biçimi.Serhat Öndeş yazdı: Prş Kas 14, 2019 11:46 amPeki hareketli üst yazı nasıl yapılıyor? Bunun mantığına bakarak tga veya bmp oraya yapılamaz mı?seypa yazdı: Prş Kas 14, 2019 8:07 am Hayır hiçbir şekilde oraya spr sapitlenemez. Sabitleme bilmesi için orada oyunun kendi motorunda slot olması gerekir. Slot olmakla beraber byte değerinden farklı bir değerle gelmesi gerekir. Oyun ekranının sadece belirli bir bölgesine resim ekleyebilirsiniz, spec banner, scoreboard sol üst köşesinde ki Valve Orange Box noktası vs.
https://wiki.alliedmods.net/Half-life_1_game_events
| Link: | |
| Linklerini gizle |
üst yazı spr istek eklenti
Hayır dostum üst yazı bildiğimiz üst yazı. Şurayı kastediyorum.
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
| Link: | |
| Linklerini gizle |