Nice story.
PHP Code:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>
#include <ColorChat>
#include <fakemeta>
#include <nvault>
#define PLUGIN "Secondary Menu"
#define VERSION "1.1"
#define AUTHOR "lexzor"
#define VIP_FLAG ADMIN_LEVEL_H
#define HudTask 3213
new const tag[ ]= "[CSGO Classy]^1"
new const nVaultName[ ] = "csgoagents";
static key = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0;
static checkCT[MAX_PLAYERS + 1],
checkT[MAX_PLAYERS + 1],
checkPS[MAX_PLAYERS + 1],
g_szAuthID[ MAX_PLAYERS + 1 ][ 34 ] ,
vaultdata[1024],
nVault
new playerskins[][] = {
"sias",
"fbi",
"isis",
"alqaeda",
"pro_loudmouth",
"swat_bombson"
}
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("amx_agents", "playerskin")
register_menu("playerskin", key, "playerskin_handler")
RegisterHam(Ham_Spawn, "player", "skincheck", 1)
nVault = nvault_open(nVaultName)
if (nVault == INVALID_HANDLE)
set_fail_state("[SECONDARYMENU] Plugin can't open nVault file!")
}
public plugin_precache(){
static playermodels[256]
for (new i = 0; i < sizeof(playerskins); i++){
formatex(playermodels, charsmax(playermodels), "models/player/%s/%s.mdl", playerskins[i], playerskins[i])
precache_model(playermodels)
}
}
public cmdSave(id){
formatex( vaultdata, charsmax(vaultdata), "^"%d^" ^"%d^" ^"%d^" ^"%d^"", checkPS[id], checkT[id], checkCT[id], hudon[id] )
nvault_set(nVault, g_szAuthID[ id ], vaultdata)
}
public cmdGet(id){
new checkps[10], checkt[10], checkct[10], hud[10], iTS
if(nvault_lookup(nVault, g_szAuthID[ id ], vaultdata, charsmax(vaultdata),iTS)){
parse(vaultdata, checkps, charsmax(checkps), checkt, charsmax(checkt), checkct, charsmax(checkct), hud, charsmax(hud))
checkPS[id] = str_to_num(checkps)
checkT[id] = str_to_num(checkt)
checkCT[id] = str_to_num(checkct)
hudon[id] = str_to_num(hud)
}
}
public client_disconnected(id){
cmdSave(id)
remove_task()
}
public client_authorized(id) get_user_authid( id , g_szAuthID[ id ] , charsmax( g_szAuthID[] ) );
public client_putinserver(id) cmdGet(id)
public playerskin(id){
static szMenu2[650], ilen
ilen = 0
ilen += formatex(szMenu2[ilen], charsmax(szMenu2), "\r[CSGO Classy]\y Skin Menu^n^n")
ilen += formatex(szMenu2[ilen], charsmax(szMenu2), "\r1.\y Default Skin - %s^n^n", checkPS[id] == 0 ? "\y[ON]" : "\r[OFF]")
if (cs_get_user_team(id) == CS_TEAM_T || cs_get_user_team(id) == CS_TEAM_UNASSIGNED || cs_get_user_team(id) == CS_TEAM_SPECTATOR){
ilen += formatex(szMenu2[ilen], charsmax(szMenu2), "\r2.\w ISIS Killer - %s^n", checkPS[id] == 1 ? "\y[ON]" : "\r[OFF]")
ilen += formatex(szMenu2[ilen], charsmax(szMenu2), "\r3.\w aL-Qaeda Hitman - %s^n", checkPS[id] == 2 ? "\y[ON]" : "\r[OFF]")
ilen += formatex(szMenu2[ilen], charsmax(szMenu2), "\r4.\w Crazy Assassin - %s^n^n", checkPS[id] == 3 ? "\y[ON]" : "\r[OFF]")
ilen += formatex(szMenu2[ilen], charsmax(szMenu2), "\r5.\w FBI Agent -\d [CT ONLY]^n")
ilen += formatex(szMenu2[ilen], charsmax(szMenu2), "\r6.\w SIAS Specialist -\d [CT ONLY]^n")
ilen += formatex(szMenu2[ilen], charsmax(szMenu2), "\r7.\w Lt. Johnson John -\d [CT ONLY]^n^n")
}else if ( cs_get_user_team(id) == CS_TEAM_CT || cs_get_user_team(id) == CS_TEAM_UNASSIGNED || cs_get_user_team(id) == CS_TEAM_SPECTATOR){
ilen += formatex(szMenu2[ilen], charsmax(szMenu2), "\r2.\w ISIS Killer -\d [T ONLY]^n")
ilen += formatex(szMenu2[ilen], charsmax(szMenu2), "\r3.\w aL-Qaeda Hitman -\d [T ONLY]^n")
ilen += formatex(szMenu2[ilen], charsmax(szMenu2), "\r4.\w Crazy Assassin - \d [T ONLY]^n^n")
ilen += formatex(szMenu2[ilen], charsmax(szMenu2), "\r5.\w FBI Agent - %s^n", checkPS[id] == 4 ? "\y[ON]" : "\r[OFF]")
ilen += formatex(szMenu2[ilen], charsmax(szMenu2), "\r6.\w SIAS Specialist - %s^n", checkPS[id] == 5 ? "\y[ON]" : "\r[OFF]")
ilen += formatex(szMenu2[ilen], charsmax(szMenu2), "\r7.\w Lt. Johnson John - %s^n^n", checkPS[id] == 6 ? "\y[ON]" : "\r[OFF]")
}
ilen += formatex(szMenu2[ilen], charsmax(szMenu2), "\r0.\y Back")
show_menu(id, key, szMenu2, -1, "playerskin")
}
public playerskin_handler(id, key){
if (!(is_user_alive(id))){
ColorChat(id, GREEN, "%s You must be^4 alive^1 to use this menu!", tag)
menuVIP(id)
return PLUGIN_HANDLED
}
switch(key){
case 0: {
checkPS[id] = 0;
checkCT[id] = 0;
checkT[id] = 0;
cs_reset_user_model(id)
ColorChat(id, GREEN, "%s You choose^4 default^1 skin!", tag)
}
case 1:{
if (cs_get_user_team(id) == CS_TEAM_T){
checkT[id] = 1
checkPS[id] = 1
cs_set_user_model(id, "isis")
ColorChat(id, GREEN, "%s You choose^4 ISIS Killer^1 skin!", tag)
} else if (cs_get_user_team(id) == CS_TEAM_CT){
ColorChat(id, GREEN, "%s You can't choose this skin!", tag)
}
playerskin(id)
}
case 2:{
if (cs_get_user_team(id) == CS_TEAM_T){
checkT[id] = 2
checkPS[id] = 2
cs_set_user_model(id, "alqaeda")
ColorChat(id, GREEN, "%s You choose^4 aL-Qaeda Hitman^1 skin!", tag)
playerskin(id)
} else if (cs_get_user_team(id) == CS_TEAM_CT){
ColorChat(id, GREEN, "%s You can't choose this skin!", tag)
playerskin(id)
}
}
case 3:{
if (cs_get_user_team(id) == CS_TEAM_T){
checkT[id] = 3
checkPS[id] = 3
cs_set_user_model(id, "pro_loudmouth")
ColorChat(id, GREEN, "%s You choose^x04 Crazy Assassin^x01 skin!", tag)
playerskin(id)
}
if (cs_get_user_team(id) == CS_TEAM_CT){
ColorChat(id, GREEN, "%s You can't choose this skin!", tag)
playerskin(id)
}
}
case 4:{
if (cs_get_user_team(id) == CS_TEAM_CT){
checkCT[id] = 1
checkPS[id] = 4
cs_set_user_model(id, "fbi")
ColorChat(id, GREEN, "%s You choose^x04 FBI Agent^x01 skin!", tag)
playerskin(id)
}
if (cs_get_user_team(id) == CS_TEAM_T){
ColorChat(id, GREEN, "%s You can't choose this skin!", tag)
playerskin(id)
}
}
case 5:{
if (cs_get_user_team(id) == CS_TEAM_CT){
checkCT[id] = 2
checkPS[id] = 5
cs_set_user_model(id, "sias")
ColorChat(id, GREEN, "%s You choose^4 SIAS Specialist^1 skin!", tag)
playerskin(id)
}
if (cs_get_user_team(id) == CS_TEAM_T){
ColorChat(id, GREEN, "%s You can't choose this skin!", tag)
playerskin(id)
}
}
case 6:{
if (cs_get_user_team(id) == CS_TEAM_CT){
checkCT[id] = 3
checkPS[id] = 6
cs_set_user_model(id, "swat_bombson")
ColorChat(id, GREEN, "%s You choose^4 Lt. Johnson John^1 skin!", tag)
playerskin(id)
}
if (cs_get_user_team(id) == CS_TEAM_T){
ColorChat(id, GREEN, "%s You can't choose this skin!", tag)
playerskin(id)
}
}
case 9: menuVIP(id)
}
}
public skincheck(id){
if(is_user_alive(id)){
if ( cs_get_user_team(id) == CS_TEAM_T ){
switch(checkT[id]){
case 1:{
cs_set_user_model(id, "isis")
checkPS[id] = 1
}
case 2:{
cs_set_user_model(id, "alqaeda")
checkPS[id] = 2
}
case 3:{
cs_set_user_model(id, "pro_loudmouth")
checkPS[id] = 3
}
}
} else if( cs_get_user_team(id) == CS_TEAM_CT ){
switch(checkCT[id]){
case 1:{
cs_set_user_model(id, "fbi")
checkPS[id] = 4
}
case 2:{
cs_set_user_model(id, "sias")
checkPS[id] = 5
}
case 3:{
cs_set_user_model(id, "swat_bombson")
checkPS[id] = 6
}
}
} else cs_reset_user_model(id)
}
}