PHP Code:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#include <chatcolor>
#include <fun>
#define PLUGIN "Team fortress basic"
#define VERSION "1.0"
#define AUTHOR "Adam108"
#define CLASSLIMIT 3
new const classes[][] = {
"Unassigned",
"Scout",
"Soldier",
"Sharpshooter",
"Demoman",
"Heavy",
"Engineer",
"Medic",
"Sniper"
}
new const Float:speeds[] = {
"1.0", //on these lines are the mismatches
"1.5",
"1.1",
"1.1",
"0.8",
"0.7",
"1.1",
"1.1",
"1.1"
}
new const healths[] = {
"100",
"130",
"150",
"140",
"140",
"250",
"150",
"160",
"140"
}
new const armors[] = {
"0",
"100",
"150",
"140",
"160",
"200",
"150",
"100",
"100"
}
new classcountT[9]
new classcountCT[9]
new class[33]
stock joinclass(id,jclass,team) {
if(class[id]) { //If user has already joined in some class...
switch(team) {
case 1: classcountT[class[id]]--
case 2: classcountCT[class[id]]--
}
}
class[id] = jclass
color_chat(id,"!g[TF] !yYou've become a !team%s!y!",classes[jclass])
/* switch(jclass) {
case 1:
}*/
}
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Spawn,"player","UserSpawn",1)
register_clcmd("say /class","ClassChange",1)
register_clcmd("say /team","cmdTeamInfo")
register_clcmd("jointeam","cmdJointeam")
register_clcmd("drop","cmdDrop")
}
public client_disconnect(id) {
if(class[id]) {
switch(cs_get_user_team(id)) {
case 1: classcountT[class[id]]--
case 2: classcountCT[class[id]]--
}
}
class[id] = 0
}
public cmdDrop(id)
return PLUGIN_HANDLED
public cmdJointeam(id) {
if(class[id]) {
class[id] = 0
color_chat(id,"!g[TF] !yYou've been kicked out of your class because you changed your team!")
}
return PLUGIN_CONTINUE
}
public UserSpawn(id) {
color_chat(0,"test %i",id)
strip_user_weapons(id)
give_item(id,"weapon_knife")
if(!class[id]) {
ClassChange(id,2)
return HAM_IGNORED
}
set_user_maxspeed(id,speeds[class[id]]) //These lines don't work well...
set_user_health(id,healths[class[id]]) //They sets strenge value of healths atd.
cs_set_user_armor(id,armors[class[id]],CS_ARMOR_VESTHELM)
/* switch(class[id]) {
case 1: {
}
case 2: {
}
case 3: {
}
case 4: {
}
case 5: {
}
case 6: {
}
case 7: {
}
case 8: {
}
} */
return HAM_IGNORED
}
public ClassChange(id,type) {
new ClassMenu = menu_create("Choose your class:","ClassMenu_Handler")
menu_setprop(ClassMenu,MPROP_PERPAGE,0)
for(new a=1;a<9;a++)
menu_additem(ClassMenu,classes[a])
menu_addblank(ClassMenu,1)
menu_additem(ClassMenu,"Close")
menu_display(id,ClassMenu)
if(type==1)
return PLUGIN_HANDLED
else
return
}
public ClassMenu_Handler(id,menu,item) {
menu_destroy(menu)
if(item==MENU_EXIT) {
if(!class[id])
return ClassChange(id,1)
else
return PLUGIN_HANDLED
}
item++
if(class[id]==item) {
color_chat(id,"!g[TF] !yYou've already joined this class!")
return PLUGIN_HANDLED
}
new team = cs_get_user_team(id)
switch(team) {
case 1: {
if(classcountT[item] < CLASSLIMIT) {
classcountT[item]++
joinclass(id,item,team)
}
else
{
color_chat(id,"!g[TF] !yYou can't join this class now!")
return PLUGIN_HANDLED
}
}
case 2: {
if(classcountCT[item] < CLASSLIMIT) {
classcountCT[item]++
joinclass(id,item,team)
}
else
{
color_chat(id,"!g[TF] !yYou can't join this class now!")
return PLUGIN_HANDLED
}
}
}
if(!is_user_alive(id))
return PLUGIN_HANDLED
if(!cs_get_user_buyzone(id))
user_kill(id)
else
return UserSpawn(id)
return PLUGIN_HANDLED
}
public cmdTeamInfo(id) {
new message[192]
new team = cs_get_user_team(id)
if(team==3 || !team) {
color_chat(id,"!g[TF] !yYou aren't in any team!")
return PLUGIN_HANDLED
}
add(message,191,"!g[TF] !yClasses in your team:")
switch(team) {
case 1: for(new a=1;a<9;a++) {
if(classcountT[a])
format(message,191,"%s %s: %i",message,classes[a],classcountT[a])
}
case 2: for(new a=1;a<9;a++) {
if(classcountCT[a])
format(message,191,"%s %s: %i",message,classes[a],classcountCT[a])
}
}
color_chat(id,"%s",message)
return PLUGIN_HANDLED
}