Добър ден уважаеми потребители на AMXX-BG. Днес искам да Ви представя моя идея за направа на плъгин и ако може някой да я изпълни много ще се радвам! Идеята ми е да дава безплатни екстри в определени дни от седмицата. Пример:
-=-
Петък от (00 до 00 часа): Double Jump
Събота (00 до 00 часа): FREE VIP
Неделя (00 до 00 часа): Triple Jump + FREE VIP
-=-
Да прави проверка на всеки рунд + HUD във центъра, горе на екрана изписващ (Пример):
-=-
Когато е Петък: Free Double Jump for everyone!
Когато е Събота: Free VIP for everyone!
Когато е Неделя: Free Trple Jump and Free VIP for everyone!
-=-
Когато е ден, който включва екстрата "FREE VIP", всеки обикновен играч (играч, който няма зададени флагове във "users.ini") да получава флаг "s", който съответно аз съм настроил да има префикс [FREE VIP] и вип меню, а играч който има зададени права в "users.ini да не бъде рефлектиран, разбира се, всеки трябва да има "Double Jump" или "Triple Jump" когато е ден, който го включва, независимо дали е във "users.ini".
-=-
След като стане Понеделник всички екстри изчезват и се чака до другият Петък, Събота и Неделя.
-=-
Тааа, ако има кой да се навие да направи този плъгин ще съм му доста благодарен + че едвали ще съм единственият, който ще го използва!
[Изработка на плъгин] Free Extras
-
1Life1Dead
Извън линия - Потребител
- Мнения: 145
- Регистриран на: 30 Май 2018, 21:38
- Се отблагодари: 4 пъти
- Получена благодарност: 11 пъти
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
[Изработка на плъгин] Free Extras
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <engine>
#define HUD_COLOR 0, 255, 0
#define HUD_POSITION -1.0, 0.3
#define HUD_DURATION 5.0
#define HUD_REPEAT 1.0
#define HUD_TASK 555666
new bool:g_bDoJump[33], g_iJumps[33]
new g_iMaxJumps = 0, g_iFreeVIP = ADMIN_ALL
new g_szMessage[128]
public plugin_init()
{
register_plugin("Free Extras", "1.0", "OciXCrom")
register_logevent("OnRoundStart", 2, "0=World triggered", "1=Round_Start")
OnRoundStart()
}
public OnRoundStart()
{
new szTime[5]
get_time("%w", szTime, charsmax(szTime))
switch(str_to_num(szTime))
{
case 5: // Петък
{
g_iMaxJumps = 2
g_szMessage = "Free Double Jump for everyone!"
}
case 6: // Събота
{
g_iFreeVIP = ADMIN_LEVEL_G
g_szMessage = "Free VIP for everyone!"
}
case 0: // Неделя
{
g_iMaxJumps = 3
g_iFreeVIP = ADMIN_LEVEL_G
g_szMessage = "Free Triple Jump and Free VIP for everyone!"
}
default: // Друг ден
{
g_iMaxJumps = 0
g_iFreeVIP = ADMIN_ALL
g_szMessage[0] = EOS
remove_task(HUD_TASK)
}
}
if(g_szMessage[0])
set_task(HUD_REPEAT, "ShowMessage", HUD_TASK, .flags = "b")
}
public ShowMessage()
{
set_hudmessage(HUD_COLOR, HUD_POSITION, .holdtime = HUD_DURATION)
show_hudmessage(0, g_szMessage)
}
public client_putinserver(id)
{
g_iJumps[id] = 0
g_bDoJump[id] = false
if(g_iFreeVIP != ADMIN_ALL)
set_user_flags(id, g_iFreeVIP)
}
public client_PreThink(id)
{
if(!g_iMaxJumps || !is_user_alive(id))
return PLUGIN_CONTINUE
new iNewButton = get_user_button(id)
new iOldButton = get_user_oldbutton(id)
if((iNewButton & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(iOldButton & IN_JUMP))
{
if(g_iJumps[id] < g_iMaxJumps)
{
g_bDoJump[id] = true
g_iJumps[id]++
return PLUGIN_CONTINUE
}
}
if((iNewButton & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
{
g_iJumps[id] = 0
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}
public client_PostThink(id)
{
if(!g_iMaxJumps || !is_user_alive(id))
return PLUGIN_CONTINUE
if(g_bDoJump[id])
{
new Float:flVelocity[3]
entity_get_vector(id, EV_VEC_velocity, flVelocity)
flVelocity[2] = random_float(265.0, 285.0)
entity_set_vector(id, EV_VEC_velocity, flVelocity)
g_bDoJump[id] = false
}
return PLUGIN_CONTINUE
}
-
1Life1Dead
Извън линия - Потребител
- Мнения: 145
- Регистриран на: 30 Май 2018, 21:38
- Се отблагодари: 4 пъти
- Получена благодарност: 11 пъти
[Изработка на плъгин] Free Extras
Merci Beaucoup!OciXCrom™ написа: ↑01 Авг 2018, 17:20Код за потвърждение: Избери целия код
#include <amxmodx> #include <engine> #define HUD_COLOR 0, 255, 0 #define HUD_POSITION -1.0, 0.3 #define HUD_DURATION 5.0 #define HUD_REPEAT 1.0 #define HUD_TASK 555666 new bool:g_bDoJump[33], g_iJumps[33] new g_iMaxJumps = 0, g_iFreeVIP = ADMIN_ALL new g_szMessage[128] public plugin_init() { register_plugin("Free Extras", "1.0", "OciXCrom") register_logevent("OnRoundStart", 2, "0=World triggered", "1=Round_Start") OnRoundStart() } public OnRoundStart() { new szTime[5] get_time("%w", szTime, charsmax(szTime)) switch(str_to_num(szTime)) { case 5: // Петък { g_iMaxJumps = 2 g_szMessage = "Free Double Jump for everyone!" } case 6: // Събота { g_iFreeVIP = ADMIN_LEVEL_G g_szMessage = "Free VIP for everyone!" } case 0: // Неделя { g_iMaxJumps = 3 g_iFreeVIP = ADMIN_LEVEL_G g_szMessage = "Free Triple Jump and Free VIP for everyone!" } default: // Друг ден { g_iMaxJumps = 0 g_iFreeVIP = ADMIN_ALL g_szMessage[0] = EOS remove_task(HUD_TASK) } } if(g_szMessage[0]) set_task(HUD_REPEAT, "ShowMessage", HUD_TASK, .flags = "b") } public ShowMessage() { set_hudmessage(HUD_COLOR, HUD_POSITION, .holdtime = HUD_DURATION) show_hudmessage(0, g_szMessage) } public client_putinserver(id) { g_iJumps[id] = 0 g_bDoJump[id] = false if(g_iFreeVIP != ADMIN_ALL) set_user_flags(id, g_iFreeVIP) } public client_PreThink(id) { if(!g_iMaxJumps || !is_user_alive(id)) return PLUGIN_CONTINUE new iNewButton = get_user_button(id) new iOldButton = get_user_oldbutton(id) if((iNewButton & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(iOldButton & IN_JUMP)) { if(g_iJumps[id] < g_iMaxJumps) { g_bDoJump[id] = true g_iJumps[id]++ return PLUGIN_CONTINUE } } if((iNewButton & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND)) { g_iJumps[id] = 0 return PLUGIN_CONTINUE } return PLUGIN_CONTINUE } public client_PostThink(id) { if(!g_iMaxJumps || !is_user_alive(id)) return PLUGIN_CONTINUE if(g_bDoJump[id]) { new Float:flVelocity[3] entity_get_vector(id, EV_VEC_velocity, flVelocity) flVelocity[2] = random_float(265.0, 285.0) entity_set_vector(id, EV_VEC_velocity, flVelocity) g_bDoJump[id] = false } return PLUGIN_CONTINUE }
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 3 Отговори
- 340 Преглеждания
-
Последно мнение от Toni_P
-
- 4 Отговори
- 1137 Преглеждания
-
Последно мнение от bobi1303
-
- 2 Отговори
- 128 Преглеждания
-
Последно мнение от LuD s KniF3
-
- 4 Отговори
- 1823 Преглеждания
-
Последно мнение от OciXCrom
-
- 7 Отговори
- 2534 Преглеждания
-
Последно мнение от M36
-
- 14 Отговори
- 5125 Преглеждания
-
Последно мнение от M36
-
- 1 Отговори
- 1818 Преглеждания
-
Последно мнение от Shapeshifter
Кой е на линия
Потребители разглеждащи този форум: 0 регистрирани и 9 госта