Choose Camera View
-
illusion
Извън линия - Developer
- Мнения: 1810
- Регистриран на: 27 Ное 2016, 17:47
- Местоположение: CraftVision
- Се отблагодари: 151 пъти
- Получена благодарност: 370 пъти
- Обратна връзка:
Choose Camera View
Сървъра крашва, а и като гледам съобщението не е това, което аз исках да кажа. Искам всички играчи да виждат съобщението, когато аз избера примерно някаква камера, но при мен примерно да е You choose еди каквато си камера, а при тях да е Player %s (Nickname-a) choose еди каквато си камера... Дано си ме разбрал сега. А и нещо крашна сървъра, не знам защо. В логовете няма грешки.
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
Choose Camera View
Крашът в никакъв случай не е от един добавен квар...
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>
#include <colorchat>
#define PLUGIN "Choose Camera View"
#define VERSION "1.0"
#define AUTHOR "hackera457 @ AMXX-BG.info"
#define DEFAULT_CAMERA_TYPES 4
enum _:Cvars{
USE_DEFAULT_CAMERA_CHOICE,
DEFAULT_CAMERA_VIEW_TYPE,
ONLY_ADMIN_USE_MENU,
ADMIN_MENU_ACCESS,
SHOW_CHAT_MESSAGE
}
new const g_szCameraTypes[][]={
"Normal Camera",
"TopDown Camera",
"UpLeft Camera",
"3rd Person Camera"
}
new const g_szSayCommands[][]={
"say /cam", "say_team /cam",
"say /camera", "say_team /camera"
}
new g_iUserCameraChoice[33]
new g_pCvars[Cvars]
public plugin_init()
{
register_plugin(PLUGIN,VERSION,AUTHOR)
register_cvar("hackera457_ccv",VERSION,FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
g_pCvars[USE_DEFAULT_CAMERA_CHOICE] = register_cvar("ccv_user_default_camera_view","1")
g_pCvars[DEFAULT_CAMERA_VIEW_TYPE] = register_cvar("ccv_default_user_camera_view","0")
g_pCvars[ONLY_ADMIN_USE_MENU] = register_cvar("ccv_admin_use_only","0")
g_pCvars[ADMIN_MENU_ACCESS] = register_cvar("ccv_admin_menu_access_flag","c")
g_pCvars[SHOW_CHAT_MESSAGE] = register_cvar("ccv_show_chat_message","1")
for(new i=0; i<4; i++)
register_clcmd(g_szSayCommands[i],"cmdShowCamChoiceMenu")
register_forward(FM_AddToFullPack, "Fwd_AddToFullPack", 1)
}
public plugin_precache()
{
precache_model("models/rpgrocket.mdl")
}
public client_putinserver(id)
{
if(get_pcvar_num(g_pCvars[USE_DEFAULT_CAMERA_CHOICE]))
SetUserCamera(id, get_pcvar_num(g_pCvars[DEFAULT_CAMERA_VIEW_TYPE]))
else
g_iUserCameraChoice[id] = 0
}
public cmdShowCamChoiceMenu(id)
{
if(get_pcvar_num(g_pCvars[ONLY_ADMIN_USE_MENU]))
{
static szAdminFlags[32]
get_pcvar_string(g_pCvars[ADMIN_MENU_ACCESS], szAdminFlags, sizeof szAdminFlags -1)
if(!(get_user_flags(id) & read_flags(szAdminFlags)))
{
ColorChat(id,TEAM_COLOR,"^4[CCV] ^1Only Admin/VIP can use camera menu!")
return PLUGIN_HANDLED
}
}
static szMenuTitle[128], szMenuItem[64], iMenu
formatex(szMenuTitle, sizeof szMenuTitle -1,"\r[CCV] \yChoose your camera type:")
iMenu = menu_create(szMenuTitle,"handlerCamChoiceMenu")
for(new j=0; j < DEFAULT_CAMERA_TYPES; j++)
{
formatex(szMenuItem, sizeof szMenuItem -1,"\y%s %s",g_szCameraTypes[j],(g_iUserCameraChoice[id] == j ? "\r[SELECTED]":""))
menu_additem(iMenu,szMenuItem)
}
menu_setprop(iMenu,MPROP_EXITNAME,"\rClose")
menu_display(id,iMenu,0)
return PLUGIN_HANDLED
}
public handlerCamChoiceMenu(id,iMenu,iItem)
{
if(iItem == MENU_EXIT)
{
menu_destroy(iMenu)
return PLUGIN_HANDLED
}
if(g_iUserCameraChoice[id] == iItem)
{
ColorChat(id,TEAM_COLOR,"^4[CCV] ^1You have already choosed camera view!")
return PLUGIN_HANDLED
}
SetUserCamera(id,iItem)
client_cmd(id,"spk UI/buttonclickrelease.wav")
if(get_pcvar_num(g_pCvars[SHOW_CHAT_MESSAGE]))
{
new szName[32], iPlayers[32], iPnum
get_user_name(id, szName, charsmax(szName))
get_players(iPlayers, iPnum)
for(new iPlayer, i; i < iPnum; i++)
{
iPlayer = iPlayers[i]
if(id == iPlayer)
ColorChat(iPlayer,TEAM_COLOR,"^4[CCV] ^1You choose ^3%s^1!",g_szCameraTypes[iItem])
else
ColorChat(iPlayer,TEAM_COLOR,"^4[CCV] ^3%s ^1chose the camera ^3%s^1!",szName,g_szCameraTypes[iItem])
}
}
else ColorChat(id,TEAM_COLOR,"^4[CCV] ^1You choose ^3%s^1!",g_szCameraTypes[iItem])
return PLUGIN_HANDLED
}
public Fwd_AddToFullPack (es_handle, e, ent, host, hostflags, player, pSe )
{
if(player && (ent == host))
set_es(es_handle, ES_RenderMode, kRenderNormal)
}
SetUserCamera(id,iCameraType)
{
if(is_user_hltv(id) || is_user_bot(id))
return;
switch(iCameraType)
{
case 0: set_view(id,CAMERA_NONE)
case 1: set_view(id,CAMERA_TOPDOWN)
case 2: set_view(id,CAMERA_UPLEFT)
case 3: set_view(id,CAMERA_3RDPERSON)
}
g_iUserCameraChoice[id] = iCameraType
}
-
illusion
Извън линия - Developer
- Мнения: 1810
- Регистриран на: 27 Ное 2016, 17:47
- Местоположение: CraftVision
- Се отблагодари: 151 пъти
- Получена благодарност: 370 пъти
- Обратна връзка:
Choose Camera View
Сега вече си работи перфектно, а краша може да е защото бях писал на хостинга да направят началния мап.
Може ли да се направи като избереш някоя камера от менюто, менюто да си седи още отворено, тоест да не се затваря?
Може ли да се направи като избереш някоя камера от менюто, менюто да си седи още отворено, тоест да не се затваря?
-
JustInCase
Извън линия - Потребител
- Мнения: 582
- Регистриран на: 14 Окт 2016, 23:31
- Се отблагодари: 4 пъти
- Получена благодарност: 15 пъти
Choose Camera View
F33L Th3 P0W3R. написа: ↑08 Окт 2018, 19:59 Сега вече си работи перфектно, а краша може да е защото бях писал на хостинга да направят началния мап.
Може ли да се направи като избереш някоя камера от менюто, менюто да си седи още отворено, тоест да не се затваря?
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta>
#include <colorchat>
#define PLUGIN "Choose Camera View"
#define VERSION "1.0"
#define AUTHOR "hackera457 @ AMXX-BG.info"
#define DEFAULT_CAMERA_TYPES 4
enum _:Cvars{
USE_DEFAULT_CAMERA_CHOICE,
DEFAULT_CAMERA_VIEW_TYPE,
ONLY_ADMIN_USE_MENU,
ADMIN_MENU_ACCESS,
SHOW_CHAT_MESSAGE
}
new const g_szCameraTypes[][]={
"Normal Camera",
"TopDown Camera",
"UpLeft Camera",
"3rd Person Camera"
}
new const g_szSayCommands[][]={
"say /cam", "say_team /cam",
"say /camera", "say_team /camera"
}
new g_iUserCameraChoice[33]
new g_pCvars[Cvars]
public plugin_init()
{
register_plugin(PLUGIN,VERSION,AUTHOR)
register_cvar("hackera457_ccv",VERSION,FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
g_pCvars[USE_DEFAULT_CAMERA_CHOICE] = register_cvar("ccv_user_default_camera_view","1")
g_pCvars[DEFAULT_CAMERA_VIEW_TYPE] = register_cvar("ccv_default_user_camera_view","0")
g_pCvars[ONLY_ADMIN_USE_MENU] = register_cvar("ccv_admin_use_only","0")
g_pCvars[ADMIN_MENU_ACCESS] = register_cvar("ccv_admin_menu_access_flag","c")
g_pCvars[SHOW_CHAT_MESSAGE] = register_cvar("ccv_show_chat_message","1")
for(new i=0; i<4; i++)
register_clcmd(g_szSayCommands[i],"cmdShowCamChoiceMenu")
register_forward(FM_AddToFullPack, "Fwd_AddToFullPack", 1)
}
public plugin_precache()
{
precache_model("models/rpgrocket.mdl")
}
public client_putinserver(id)
{
if(get_pcvar_num(g_pCvars[USE_DEFAULT_CAMERA_CHOICE]))
SetUserCamera(id, get_pcvar_num(g_pCvars[DEFAULT_CAMERA_VIEW_TYPE]))
else
g_iUserCameraChoice[id] = 0
}
public cmdShowCamChoiceMenu(id)
{
if(get_pcvar_num(g_pCvars[ONLY_ADMIN_USE_MENU]))
{
static szAdminFlags[32]
get_pcvar_string(g_pCvars[ADMIN_MENU_ACCESS], szAdminFlags, sizeof szAdminFlags -1)
if(!(get_user_flags(id) & read_flags(szAdminFlags)))
{
ColorChat(id,TEAM_COLOR,"^4[CCV] ^1Only Admin/VIP can use camera menu!")
return PLUGIN_HANDLED
}
}
static szMenuTitle[128], szMenuItem[64], iMenu
formatex(szMenuTitle, sizeof szMenuTitle -1,"\r[CCV] \yChoose your camera type:")
iMenu = menu_create(szMenuTitle,"handlerCamChoiceMenu")
for(new j=0; j < DEFAULT_CAMERA_TYPES; j++)
{
formatex(szMenuItem, sizeof szMenuItem -1,"\y%s %s",g_szCameraTypes[j],(g_iUserCameraChoice[id] == j ? "\r[SELECTED]":""))
menu_additem(iMenu,szMenuItem)
}
menu_setprop(iMenu,MPROP_EXITNAME,"\rClose")
menu_display(id,iMenu,0)
return PLUGIN_HANDLED
}
public handlerCamChoiceMenu(id,iMenu,iItem)
{
if(iItem == MENU_EXIT)
{
menu_destroy(iMenu)
return PLUGIN_HANDLED
}
if(g_iUserCameraChoice[id] == iItem)
{
ColorChat(id,TEAM_COLOR,"^4[CCV] ^1You have already choosed camera view!")
return PLUGIN_HANDLED
}
SetUserCamera(id,iItem)
client_cmd(id,"spk UI/buttonclickrelease.wav")
cmdShowCamChoiceMenu(id)
if(get_pcvar_num(g_pCvars[SHOW_CHAT_MESSAGE]))
{
new szName[32], iPlayers[32], iPnum
get_user_name(id, szName, charsmax(szName))
get_players(iPlayers, iPnum)
for(new iPlayer, i; i < iPnum; i++)
{
iPlayer = iPlayers[i]
if(id == iPlayer)
ColorChat(iPlayer,TEAM_COLOR,"^4[CCV] ^1You choose ^3%s^1!",g_szCameraTypes[iItem])
else
ColorChat(iPlayer,TEAM_COLOR,"^4[CCV] ^3%s ^1chose the camera ^3%s^1!",szName,g_szCameraTypes[iItem])
}
}
else ColorChat(id,TEAM_COLOR,"^4[CCV] ^1You choose ^3%s^1!",g_szCameraTypes[iItem])
return PLUGIN_HANDLED
}
public Fwd_AddToFullPack (es_handle, e, ent, host, hostflags, player, pSe )
{
if(player && (ent == host))
set_es(es_handle, ES_RenderMode, kRenderNormal)
}
SetUserCamera(id,iCameraType)
{
if(is_user_hltv(id) || is_user_bot(id))
return;
switch(iCameraType)
{
case 0: set_view(id,CAMERA_NONE)
case 1: set_view(id,CAMERA_TOPDOWN)
case 2: set_view(id,CAMERA_UPLEFT)
case 3: set_view(id,CAMERA_3RDPERSON)
}
g_iUserCameraChoice[id] = iCameraType
}
MANSION - HNS : 45.144.155.99:27026
ONLINE
ONLINE
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
-
mi0
Извън линия - AMXX Скриптър
- Мнения: 534
- Регистриран на: 09 Дек 2016, 22:02
- Се отблагодари: 97 пъти
- Получена благодарност: 120 пъти
- Обратна връзка:
Choose Camera View
Код за потвърждение: Избери целия код
switch(iCameraType)
{
case 0: set_view(id,CAMERA_NONE)
case 1: set_view(id,CAMERA_TOPDOWN)
case 2: set_view(id,CAMERA_UPLEFT)
case 3: set_view(id,CAMERA_3RDPERSON)
}
Можеш да го замениш с
Код за потвърждение: Избери целия код
set_view(id,iCameraType)
Хубаво иначе, че остава човека видим. Ама знаеш ли колко пъти се изпълнява FM_AddToFullPack в секунда? Ще е много добре да се направи някакъв квар, че да могат хората да си го спират.
aka kurdokoleno
Catch Mod - 87.121.112.232:27021
Catch Mod - 87.121.112.232:27021
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 5 Отговори
- 2765 Преглеждания
-
Последно мнение от Zaeka321
-
- 3 Отговори
- 2203 Преглеждания
-
Последно мнение от OciXCrom
-
- 0 Отговори
- 1640 Преглеждания
-
Последно мнение от OciXCrom
-
- 0 Отговори
- 1730 Преглеждания
-
Последно мнение от lantimilan
-
- 1 Отговори
- 1430 Преглеждания
-
Последно мнение от Siska
-
- 2 Отговори
- 1073 Преглеждания
-
Последно мнение от ChrisBenoit
Кой е на линия
Потребители разглеждащи този форум: 0 регистрирани и 27 госта