PHP Code:
#include <amxmodx>
#include <engine>
#define PLUGIN_NAME "Camera"
#define PLUGIN_AUTHOR "author"
#define PLUGIN_VERSION "1.0"
/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
#define TASK_SECRET_MSG 226439
/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
// --| Show mesaju din chat.
new g_cvar_show_msgs;
// --| Tag-ul mesajului din chat.
new const g_szTag[ ] = "Camera";
/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
public plugin_init()
{
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
register_clcmd("say /camera", "CameraMenu");
register_clcmd("say_team /camera", "CameraMenu") ;
register_clcmd("say /cam", "CameraMenu");
register_clcmd("say_team /cam", "CameraMenu");
g_cvar_show_msgs = register_cvar( "camera_show_messages", "90" ); // la ce interval de timp.0 sa apara mesajele in chat despre Camera
register_logevent( "logevent_RoundStart", 2 , "1=Round_Start" );
}
/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
public plugin_precache()
{
precache_model("models/rpgrocket.mdl")
}
/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
public CameraMenu(id)
{
new menu = menu_create("\r--=== \wCs\r.\yNumeServer\r.\wRO \r===--^n\rADD FAVORIT \w: \wCs\r.\yNumeServer\r.\wRO^n\y-====[\rAvH Menu Camera\y]====-", "Camera_handler");
menu_additem(menu, "\y[\rCamera Menu\y] \wCamera Normal \r.", "1", 0);
menu_additem(menu, "\y[\rCamera Menu\y] \wCamera 3D \r.", "2", 0);
menu_additem(menu, "\y[\rCamera Menu\y] \wCamera TopDown \r.", "3", 0);
menu_additem(menu, "\y[\rCamera Menu\y] \wCamera Left \r.", "4", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
public Camera_handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{
set_view(id, CAMERA_NONE)
ColorChat(id, "!t[!g%s!t] !yYou have now taken the camera !t[!gNormala!t] .", g_szTag );
}
case 2:
{
set_view(id, CAMERA_3RDPERSON)
ColorChat(id, "!t[!g%s!t] !yYou have now taken the camera !t[!g3D!t] .", g_szTag );
}
case 3:
{
set_view(id, CAMERA_TOPDOWN)
ColorChat(id, "!t[!g%s!t] !yYou have now taken the camera !t[!gTopDown!t] .", g_szTag );
}
case 4:
{
set_view(id, CAMERA_UPLEFT)
ColorChat(id, "!t[!g%s!t] !yYou have now taken the camera !t[!gLeft!t] .", g_szTag );
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
public logevent_RoundStart( )
{
new szPlayers[ 32 ], iNum;
get_players( szPlayers, iNum, "ch" );
for( new i = 0; i < iNum; i++)
{
if( task_exists( szPlayers[ i ] + TASK_SECRET_MSG ) )
remove_task( szPlayers[ i ] + TASK_SECRET_MSG );
set_task( get_pcvar_float( g_cvar_show_msgs ), "task_ShowMessage", szPlayers[ i ] + TASK_SECRET_MSG );
}
}
/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
public task_ShowMessage( taskid )
{
new id = taskid - TASK_SECRET_MSG;
ColorChat(id, "!t[!g%s!t] !yPentru a vedea camera !t[!g3D!y,!gLeft!y,!gTopDown!t] !g, !yfoloseste comanda !g/camera !ysau !g/cam !t.", g_szTag );
if( task_exists( taskid ) )
remove_task( taskid );
}
/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
/*=================================================================================================================*/
/*----------------------------------------------[ ColorChat ]-----------------------------------------*/
/*=================================================================================================================*/
stock ColorChat(const id, const input[], any:...) {
new count = 1, players[32];
static msg[191];
vformat(msg, 190, input, 3);
replace_all(msg, 190, "!g", "^4"); // verde
replace_all(msg, 190, "!y", "^1"); // galben/alb/negru
replace_all(msg, 190, "!t", "^3"); // rosu/albastru/gri
if(id) players[0] = id;
else get_players(players, count, "ch"); {
for(new i = 0; i < count; i++) {
if(is_user_connected(id)) {
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, id);
write_byte(id);
write_string(msg);
message_end();
}
}
}
}
/*=================================================================================================================*/
/*----------------------------------------------[ ColorChat Sfarsit ]---------------------------------*/
/*=================================================================================================================*/
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1048\\ f0\\ fs16 \n\\ par }
*/