GoSpec [ /spec; /back; /change ]
-
esc-Fiv3
Извън линия - Foreigner
- Мнения: 110
- Регистриран на: 24 Ное 2018, 19:19
- Се отблагодари: 16 пъти
GoSpec [ /spec; /back; /change ]
Can you make that /spec command to be available only when you are dead? In that case you don't get one death for this command? And to be showed one chat message which say: You have to be dead to use /spec. Thanks!
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
GoSpec [ /spec; /back; /change ]
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <cromchat>
#include <cstrike>
#include <hamsandwich>
#define PLUGIN_VERSION "1.2"
enum _:Cvars
{
gospec_spec_flag,
gospec_change_flag,
gospec_respawn
}
new g_eCvars[Cvars]
new CsTeams:g_iOldTeam[33],
g_iSpecFlag,
g_iChangeFlag
public plugin_init()
{
register_plugin("GoSpec", PLUGIN_VERSION, "OciXCrom")
register_cvar("@CRXGoSpec", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
register_dictionary("GoSpec.txt")
register_clcmd("say /spec", "GoSpec")
register_clcmd("say /back", "GoBack")
register_clcmd("say /change", "SwitchTeam")
g_eCvars[gospec_spec_flag] = register_cvar("gospec_spec_flag", "e")
g_eCvars[gospec_change_flag] = register_cvar("gospec_change_flag", "e")
g_eCvars[gospec_respawn] = register_cvar("gospec_respawn", "0")
CC_SetPrefix("[&x03GoSpec&x01]")
}
public plugin_cfg()
{
new szFlag[2]
get_pcvar_string(g_eCvars[gospec_spec_flag], szFlag, charsmax(szFlag))
g_iSpecFlag = szFlag[0] == EOS ? ADMIN_ALL : read_flags(szFlag)
get_pcvar_string(g_eCvars[gospec_change_flag], szFlag, charsmax(szFlag))
g_iChangeFlag = szFlag[0] == EOS ? ADMIN_ALL : read_flags(szFlag)
}
public GoSpec(id)
{
if(!HasAccess(id, g_iSpecFlag))
return PLUGIN_HANDLED
if(is_user_alive(id))
{
CC_SendMessage(id, "You have to be dead to use this command.")
return PLUGIN_HANDLED
}
new CsTeams:iTeam = cs_get_user_team(id)
if(iTeam == CS_TEAM_SPECTATOR)
CC_SendMessage(id, "%L", id, "GOSPEC_ALREADY_SPECTATOR")
else
{
g_iOldTeam[id] = iTeam
cs_set_user_team(id, CS_TEAM_SPECTATOR)
CC_SendMessage(id, "%L", id, "GOSPEC_NOW_SPECTATOR")
if(is_user_alive(id))
user_silentkill(id)
}
return PLUGIN_HANDLED
}
public GoBack(id)
{
if(!HasAccess(id, g_iSpecFlag))
return PLUGIN_HANDLED
if(cs_get_user_team(id) != CS_TEAM_SPECTATOR)
CC_SendMessage(id, "%L", id, "GOSPEC_NOT_SPECTATOR")
else
{
new iPlayers[32], iCT, iT
get_players(iPlayers, iCT, "e", "CT")
get_players(iPlayers, iT, "e", "TERRORIST")
if(iCT == iT)
{
cs_set_user_team(id, g_iOldTeam[id])
CC_SendMessage(id, "%L", id, "GOSPEC_TRANSFERED_TO_PREVIOUS")
}
else
{
cs_set_user_team(id, iCT > iT ? CS_TEAM_T : CS_TEAM_CT)
CC_SendMessage(id, "%L", id, "GOSPEC_TRANSFERED_TO_LESS")
}
if(get_pcvar_num(g_eCvars[gospec_respawn]))
ExecuteHamB(Ham_CS_RoundRespawn, id)
}
return PLUGIN_HANDLED
}
public SwitchTeam(id)
{
if(!HasAccess(id, g_iChangeFlag))
return PLUGIN_HANDLED
new CsTeams:iTeam = cs_get_user_team(id)
if(iTeam == CS_TEAM_SPECTATOR)
CC_SendMessage(id, "%L", id, "GOSPEC_CANT_USE")
else
{
cs_set_user_team(id, cs_get_user_team(id) == CS_TEAM_CT ? CS_TEAM_T : CS_TEAM_CT)
CC_SendMessage(id, "%L", id, "GOSPEC_TRANSFERED_TO_OPPOSITE")
if(is_user_alive(id))
{
user_silentkill(id)
if(get_pcvar_num(g_eCvars[gospec_respawn]))
ExecuteHamB(Ham_CS_RoundRespawn, id)
}
}
return PLUGIN_HANDLED
}
bool:HasAccess(id, iFlag)
{
if(iFlag == ADMIN_ALL || get_user_flags(id) & iFlag)
return true
else
{
CC_SendMessage(id, "%L", id, "GOSPEC_NO_ACCESS")
return false
}
#if AMXX_VERSION_NUM < 183
return false
#endif
}
-
Just
Извън линия - Потребител
- Мнения: 427
- Регистриран на: 23 Дек 2016, 19:10
- Местоположение: http://cs-ultragaming.info
- Се отблагодари: 5 пъти
- Получена благодарност: 34 пъти
- Обратна връзка:
GoSpec [ /spec; /back; /change ]
Може ли да се нарпави /spec; и /back да се ползва от всички играчи а change само от админите.
NEW CS 1.6 SERVERS IP: 45.144.155.176:27015
-
esc-Fiv3
Извън линия - Foreigner
- Мнения: 110
- Регистриран на: 24 Ное 2018, 19:19
- Се отблагодари: 16 пъти
GoSpec [ /spec; /back; /change ]
Found a bug: if I use /spec command and then I use /back, it doesn't load my player model that I set. If i type : /spec and then I leave the server and after I come back, the same thing..it doesn't load my player model
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
GoSpec [ /spec; /back; /change ]
Try adding cs_reset_user_model(id) after each cs_set_user_team line and see if it works. If not, you should update to the latest AMXX version.
-
esc-Fiv3
Извън линия - Foreigner
- Мнения: 110
- Регистриран на: 24 Ное 2018, 19:19
- Се отблагодари: 16 пъти
GoSpec [ /spec; /back; /change ]
So I have to replace cs_set_user_team with cs_reset_user_model(id)? Or I just add cs_reset_user_model(id) like this:
Код за потвърждение: Избери целия код
else
{
g_iOldTeam[id] = iTeam
cs_set_user_team(id, CS_TEAM_SPECTATOR)
cs_reset_user_model(id)
CC_SendMessage(id, "%L", id, "GOSPEC_NOW_SPECTATOR")
if(is_user_alive(id))
user_silentkill(id)
}
-
esc-Fiv3
Извън линия - Foreigner
- Мнения: 110
- Регистриран на: 24 Ное 2018, 19:19
- Се отблагодари: 16 пъти
GoSpec [ /spec; /back; /change ]
I did it. It works fine, except when you go spec, there is the default skin. But when you use /back and /change it works fine. I don't think that is posible to set a skin for /spec so thanks for this.
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 19 Отговори
- 6128 Преглеждания
-
Последно мнение от OciXCrom
-
- 0 Отговори
- 952 Преглеждания
-
Последно мнение от tom1k
-
- 5 Отговори
- 2965 Преглеждания
-
Последно мнение от Scorpions95
-
- 13 Отговори
- 4519 Преглеждания
-
Последно мнение от USA_CA
-
- 4 Отговори
- 3257 Преглеждания
-
Последно мнение от botlike
-
- 0 Отговори
- 1289 Преглеждания
-
Последно мнение от YankoNL
-
- 4 Отговори
- 1627 Преглеждания
-
Последно мнение от Scorpions95
Кой е на линия
Потребители разглеждащи този форум: 0 регистрирани и 13 госта