Здравейте, тъй като нямам опит в писането на плъгини ще помоля ако има някой желаещ да напише тези два плъгина или да ми препоръча сродни плъгини които вършат същата работа, за плъгините имам активен реапи модул в сървъра, ето и какво искам да представляват плъгините:
Bonus Money: При 3 падащи роунда на отбора който пада 3 пъти под ред да дава пари от 1500$ до 2000$ на рандом, а за победителите които бият 3 роунда подред от 1000$ до 1500$ рандом да е също.
Team Flash: При 2 флаша да му забранява да копува флаш за 3 роунда, брояча да се рестартира на 5 роунда админите с флаг "b" да имат имунтет срещи този плъгин, благодаря ви предварително.
Заявка за два плъгина Bonus Money и Team Flash.
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
Заявка за два плъгина Bonus Money и Team Flash.
Вторият (изисква AMXX 1.8.3 & ReGameDLL):
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <cstrike>
#include <reapi>
#define FLASH_MAX 2
#define FLASH_BAN 3
#define FLASH_IMMUNITY ADMIN_RESERVATION
new g_iRoundCount[33]
new g_iTeamFlashes[33]
public plugin_init()
{
register_plugin("Flash Restrict", "1.0", "OciXCrom")
RegisterHookChain(RG_PlayerBlind, "OnPlayerBlind", 1)
RegisterHookChain(RG_CSGameRules_RestartRound, "OnRoundStart", 1)
}
public client_putinserver(id)
{
g_iRoundCount[id] = 0
g_iTeamFlashes[id] = 0
}
public OnPlayerBlind(const id, const iInflictor, const iAttacker)
{
if((id != iAttacker) && (get_member(id, m_iTeam) == get_member(iAttacker, m_iTeam)) && !has_immunity(iAttacker) && (g_iTeamFlashes[iAttacker] < FLASH_MAX))
{
g_iTeamFlashes[iAttacker]++
if(g_iTeamFlashes[iAttacker] >= FLASH_MAX)
{
g_iRoundCount[iAttacker] = FLASH_BAN
client_print(iAttacker, print_center, "You can't buy a flash for %i rounds because you flashed %i teammates!", FLASH_BAN, FLASH_MAX)
}
}
}
public CS_OnBuyAttempt(id, iItem)
{
if(g_iRoundCount[id] && iItem == CSW_FLASHBANG)
{
client_print(id, print_center, "You're not allowed to buy a flashbang right now. Wait %i rounds.", g_iRoundCount[id])
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public OnRoundStart()
{
new iPlayers[32], iPnum
get_players(iPlayers, iPnum)
for(new i, iPlayer; i < iPnum; i++)
{
iPlayer = iPlayers[i]
if(g_iRoundCount[iPlayer])
g_iRoundCount[iPlayer]--
}
}
bool:has_immunity(const id)
return bool:(get_user_flags(id) & FLASH_IMMUNITY)
Заявка за два плъгина Bonus Money и Team Flash.
Аз съм с 1.8.2 ,да се надяваме че няма да има проблем?
Заявка за два плъгина Bonus Money и Team Flash.
Ще има проблеми
The Best Deathrun Server: 79.124.49.91:27019
The Best Respawn Server: 79.124.49.88:27021
The Best Respawn Server: 79.124.49.88:27021
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
Заявка за два плъгина Bonus Money и Team Flash.
Ами щом съм написал, че изиксва 1.8.3, много ясно, че ще има проблеми. Функцията която се ползва в кода (CS_OnBuyAttempt) е достъпна само в 1.8.3. Другият метод, който е за ReAPI, не работи за гранати. Третият метод е да може да купуваш гранатата, обаче да не може да я ползваш. Опитай така:
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <reapi>
#define FLASH_MAX 2
#define FLASH_BAN 3
#define FLASH_IMMUNITY ADMIN_RESERVATION
new g_iRoundCount[33]
new g_iTeamFlashes[33]
public plugin_init()
{
register_plugin("Flash Restrict", "1.0", "OciXCrom")
RegisterHookChain(RG_PlayerBlind, "OnPlayerBlind", 1)
RegisterHookChain(RG_CSGameRules_RestartRound, "OnRoundStart", 1)
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_flashbang", "OnThrowFlash")
}
public client_putinserver(id)
{
g_iRoundCount[id] = 0
g_iTeamFlashes[id] = 0
}
public OnPlayerBlind(const id, const iInflictor, const iAttacker)
{
if((id != iAttacker) && (get_member(id, m_iTeam) == get_member(iAttacker, m_iTeam)) && !has_immunity(iAttacker) && (g_iTeamFlashes[iAttacker] < FLASH_MAX))
{
g_iTeamFlashes[iAttacker]++
if(g_iTeamFlashes[iAttacker] >= FLASH_MAX)
{
g_iRoundCount[iAttacker] = FLASH_BAN
client_print(iAttacker, print_center, "You can't use flashbangs for %i rounds because you flashed %i teammates!", FLASH_BAN, FLASH_MAX)
}
}
}
public OnThrowFlash(iEnt)
{
new id = pev(iEnt, pev_owner)
if(g_iRoundCount[id])
{
client_print(id, print_center, "You're not allowed to throw a flashbang for %i more rounds!", g_iRoundCount[id])
return HAM_SUPERCEDE
}
return HAM_IGNORED
}
public OnRoundStart()
{
new iPlayers[32], iPnum
get_players(iPlayers, iPnum)
for(new i, iPlayer; i < iPnum; i++)
{
iPlayer = iPlayers[i]
if(g_iRoundCount[iPlayer])
g_iRoundCount[iPlayer]--
}
}
bool:has_immunity(const id)
return bool:(get_user_flags(id) & FLASH_IMMUNITY)
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 3 Отговори
- 1916 Преглеждания
-
Последно мнение от i5Typical
-
- 2 Отговори
- 1327 Преглеждания
-
Последно мнение от iv69
-
- 5 Отговори
- 2084 Преглеждания
-
Последно мнение от OciXCrom
-
- 6 Отговори
- 2498 Преглеждания
-
Последно мнение от jumby1990
-
- 2 Отговори
- 1758 Преглеждания
-
Последно мнение от thoughtz
-
- 7 Отговори
- 2406 Преглеждания
-
Последно мнение от atmax
-
- 2 Отговори
- 325 Преглеждания
-
Последно мнение от Stilex
Кой е на линия
Потребители разглеждащи този форум: 0 регистрирани и 21 госта