20/04/2021, 11:43 AM
(Última modificación: 20/04/2021, 11:54 AM por Gstrigl. Edited 1 time in total.)
Buenos días, saque este plugin de un post, y me gustaría entender o saber como funciona.. vi el mismo codigo que tira varios carteles de distinto color y icono y cada un determinado tiempo sin la necesidad de poner say test, alguno me orienta ?
Encontre otra version con archivos .ini, lo probare y si me sirve lo dejo al pie de la publicacion.
Encontre otra version con archivos .ini, lo probare y si me sirve lo dejo al pie de la publicacion.
Código PHP:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <fakemeta>
const TASK_TUTOR = 467666646;
enum TutorColor { TUTOR_RED = 1, TUTOR_BLUE, TUTOR_YELLOW, TUTOR_GREEN };
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",
"resource/TutorScheme.res",
"resource/UI/TutorTextWindow.res"
};
new MsgTutor, MsgTutClose, iMaxPlayers;
public plugin_init()
{
// Add your code here...
register_clcmd("say test", "test");
MsgTutor = get_user_msgid("TutorText");
MsgTutClose = get_user_msgid("TutorClose");
iMaxPlayers = get_maxplayers();
}
public plugin_precache()
{
for(new i = 0; i < sizeof g_TutorPrecache; i++)
engfunc(EngFunc_PrecacheGeneric,g_TutorPrecache[i]);
}
public test( id )
tutorMake(id, TUTOR_RED, 3.0, "Un Server Perfecto");
stock tutorMake(id,TutorColor:Colorz,Float:fTime = 0.0,const szText[],any:...)
{
new szMessage[512];
vformat(szMessage, charsmax(szMessage), szText, 5);
if(!id){
message_begin(MSG_ALL,MsgTutor);
write_string(szMessage);
write_byte(0);
write_short(0);
write_short(0);
write_short(1<<_:Colorz);
message_end();
}
else if(is_user_connected(id))
{
message_begin(MSG_ONE_UNRELIABLE,MsgTutor,_,id);
write_string(szMessage);
write_byte(0);
write_short(0);
write_short(0);
write_short(1<<_:Colorz);
message_end();
}
if(fTime != 0.0)
{
if(!id)
{
for(new i = 1; i <= 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,MsgTutClose);
message_end();
}
else if(is_user_connected(id))
{
message_begin(MSG_ONE_UNRELIABLE,MsgTutClose,_,id);
message_end();
}
}