Sma :clase.sma(192) : error 052: multi-dimensional arrays must be fully initialized
clase.sma(274) : warning 217: loose indentation
clase.sma(479) : warning 217: loose indentation
clase.sma(541) : warning 217: loose indentation
clase.sma(545) : warning 217: loose indentation
clase.sma(567) : warning 217: loose indentation
- | Afiseaza codul
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include < cstrike > #include < fun > #include < hamsandwich > #include <fun> #include <nvault> #include < csx > //Define: #define PLUGIN "LevelMode" #define VERSION "1.0" #define AUTHOR "Paradox." #define MAXCLASSES 9 //aici schimbati numarul claselor #define MAXLEVELS 9 //aici schimbati numarul levelelor //Colorchat: #if defined _colorchat_included #endinput #endif #define _colorchat_included enum Color { NORMAL = 1, // clients scr_concolor cvar color GREEN, // Green Color TEAM_COLOR, // Red, grey, blue GREY, // grey RED, // Red BLUE, // Blue } new TeamName[][] = { "", "TERRORIST", "CT", "SPECTATOR" } ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...) { new message[256]; switch(type) { case NORMAL: // clients scr_concolor cvar color { message[0] = 0x01; } case GREEN: // Green { message[0] = 0x04; } default: // White, Red, Blue { message[0] = 0x03; } } vformat(message[1], 251, msg, 4); // Make sure message is not longer than 192 character. Will crash the server. message[192] = '^0'; new team, ColorChange, index, MSG_Type; if(id) { MSG_Type = MSG_ONE; index = id; } else { index = FindPlayer(); MSG_Type = MSG_ALL; } team = get_user_team(index); ColorChange = ColorSelection(index, MSG_Type, type); ShowColorMessage(index, MSG_Type, message); if(ColorChange) { Team_Info(index, MSG_Type, TeamName[team]); } } ShowColorMessage(id, type, message[]) { static bool:saytext_used; static get_user_msgid_saytext; if(!saytext_used) { get_user_msgid_saytext = get_user_msgid("SayText"); saytext_used = true; } message_begin(type, get_user_msgid_saytext, _, id); write_byte(id) write_string(message); message_end(); } Team_Info(id, type, team[]) { static bool:teaminfo_used; static get_user_msgid_teaminfo; if(!teaminfo_used) { get_user_msgid_teaminfo = get_user_msgid("TeamInfo"); teaminfo_used = true; } message_begin(type, get_user_msgid_teaminfo, _, id); write_byte(id); write_string(team); message_end(); return 1; } ColorSelection(index, type, Color:Type) { switch(Type) { case RED: { return Team_Info(index, type, TeamName[1]); } case BLUE: { return Team_Info(index, type, TeamName[2]); } case GREY: { return Team_Info(index, type, TeamName[0]); } } return 0; } FindPlayer() { new i = -1; while(i <= get_maxplayers()) { if(is_user_connected(++i)) return i; } return -1; } //Cvaruri: new PlayerXP[33],PlayerLevel[33],PlayerClass[33] //xp,level si clasa playerului new XP_Kill,XP_Knife,XP_Hs,XP_AWP //valoare xp-ului primit new XP_save //porneste/opreste salvarea xp-ului new XP_plant,XP_defuse,XP_he // plan,defuse,he new g_vault //salvarea xp-ului new advertise ,reminder// arata mesaje la conectare //Clase : new const CLASSES[MAXCLASSES][] = { "Elf", "Puffic", "Spiridus", "Blazer", "Dancer", "Rudolf", "Mos Nicolae", "Mos Craciun" } //Levele new const LEVELS[MAXLEVELS] = { 100, 1000, 2500, 5000, 10000, 50000, 60000, 80000, 100000 } //Plugin_init public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) //Comenzi publice register_clcmd("say /xp" ,"PrintXp") //arata xp-lu in chat register_clcmd("say /info" ,"InfoXp") //arata un motd cu informatii despre pluginul de xp register_clcmd("sayw /class","ClassCmd") //arata un meniu de unde iti poti alege clasa //Comenzi admini register_concmd("amx_givexp" ,"CmdGiveXp",ADMIN_RCON,"Adauga xp unui user") register_concmd("amx_takexp", "CmdTakeXp",ADMIN_RCON,"Ia din xp-ul unui user") register_concmd("amx_xp" ,"CmdFindXp" ,ADMIN_RCON,"Arata xp-ul unui player") //Ham RegisterHam( Ham_Spawn, "player", "Playerspawn", 1 ) //Deathmsg register_event( "DeathMsg", "DeathMsg", "a" ) //Inregistrare cvaruri xp XP_Kill=register_cvar("xp_kill","30") //cat xp sa primeasca pe kill XP_Hs=register_cvar("xp_hs","40") //cat xp sa primeasca pe hs XP_AWP=register_cvar("xp_awp","25") //cat xp sa primeasca cand foloseste awp XP_Knife=register_cvar("xp_knife","55") //cat xp sa primeasca cand foloseste knife XP_plant=register_cvar("xp_plant","5")// cat xp sa primeasca pe plant XP_defuse=register_cvar("xp_defuse","5") //cat xp sa primeasca pe defuse XP_save=register_cvar("xp_save" ,"1") //porneste/opreste salvarea xp-ului XP_he=register_cvar("xp_he","30") // xp primit pe he advertise=register_cvar("xp_advertise" ,"1") reminder=register_cvar("xp_reminder","1") //Inregistrare cvar nvault(new system) g_vault=nvault_open("XpClasicMod") //facem un fisier nvault care sa pastreze datele } public client_putinserver(id) { if(get_cvar_num("XP_save")==1) { //verifica daca trebuie sa salveze xp LoadXp(id) } set_task(10.0,"ClientMsg",id) //mesaj la conectare set_task(300.0, "ReminderMsg", id ) //reminder } public client_disconnect(id) { if(get_pcvar_num(XP_save)==1) { //verifica daca trebuie sa salveze xp SaveXp(id) PlayerXP[id]=0 //stergem xp-ul temporar pentru a nu putea fi folosit de alti playeri PlayerLevel[id]=0 //stergem level-ul temporar pentru a nu putea fi folosit de alti playeri PlayerClass[id]=0 //stergem clasa temporar } } //Se salveaza doar levelul si xp-ul. Clasa nu se salveaza,e doar pentru design. public SaveXp(id) //salvam xp-ul { new name[32] get_user_name(id,name,31) //salvam pe nume new vaultkey[64],vaultdata[256] format(vaultkey,63,"%s-XpClasic",name) format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id]) nvault_set(g_vault,vaultkey,vaultdata) //salvam datele return PLUGIN_CONTINUE } public LoadXp(id) //incarcam xp-ul { new name[32] get_user_name(id,name,31) new vaultkey[64],vaultdata[256] format(vaultkey,63,"%s-XpClasic",name) format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id]) //incarcam xp-ul nvault_get(g_vault,vaultkey,vaultdata,255) replace_all(vaultdata, 255, "#", " ") new playerxp[32], playerlevel[32] parse(vaultdata, playerxp, 31, playerlevel, 31) PlayerXP[id] = str_to_num(playerxp) PlayerLevel[id] = str_to_num(playerlevel) return PLUGIN_CONTINUE } public ClientMsg(id) { //mesaj la conectare if(get_pcvar_num(advertise) == 1) { ColorChat(id,GREEN,"[XMAS]Bine ai venit!") ColorChat(id,GREEN,"[XMAS]Fa fraguri pentru a acumula puncte de experienta.") ColorChat(id,GREEN,"[XMAS] Acest Plugin este Configurat de Tsurugi") ColorChat(id,GREEN,"[XMAS]Pentru mai multe detalii scrie /info.") } } public ReminderMsg(id) { //iti arata xp-ul,clasa si levelul in hud if(get_pcvar_num(reminder) ==1) { set_hudmessage(255, 0, 0, 0.75, 0.01, 0, 6.0, 15.0) show_hudmessage(id, "Level: %i XP: %i Class: %s",PlayerLevel[id],PlayerXP[id],CLASSES[PlayerClass[id]]) } } public PrintXp(id) { ColorChat(id,RED,"Ai %i XP cu levelul %i si clasa %s.",PlayerXP[id],PlayerLevel[id],CLASSES[PlayerClass[id]]) } public CmdGiveXp(id) { //da xp unui player if( get_user_flags( id ) & ADMIN_RCON ) { new PlayerToGive[ 32 ], XP[ 32 ] read_argv( 1,PlayerToGive, 31 ) read_argv( 2, XP, 31 ) new Player = cmd_target( id, PlayerToGive, 9 ) if( !Player ) { return 1 } new XPtoGive = str_to_num( XP ) new name[ 32 ], owner[ 32 ] get_user_name( id, owner, 31 ) get_user_name( Player, name, 31 ) ColorChat(0,GREEN,"Adminul %s i-a dat lui %s %s XP.", owner,name,XP) PlayerXP[ Player ] += XPtoGive SaveXp( id ) } else { client_print( id, print_console, "Nu ai acces la aceasta comanda." ) } return 0 } public CmdTakeXp(id) { //ia xp-ul unui player if( get_user_flags( id ) & ADMIN_RCON ) { new PlayerToTake[ 32 ], XP[ 32 ] read_argv( 1, PlayerToTake, 31 ) read_argv( 2, XP, 31 ) new Player = cmd_target( id, PlayerToTake, 9 ) if( !Player ) { return 1 } new XPtoTake = str_to_num( XP ) new name[ 32 ], owner[ 32 ] get_user_name( id, owner, 31 ) get_user_name( Player, name, 31 ) ColorChat(0,GREEN,"Adminul %s i-a luat lui %s %s XP.",owner,name,XP) PlayerXP[ Player ] -= XPtoTake SaveXp( id ) } else { client_print( id, print_console, "Nu ai acces la aceasta comanda." ); } return 0 } public CmdFindXp(id) { //aflam xp-ul unui player if( get_user_flags( id ) & ADMIN_RCON) { new Arg1[ 32 ] read_argv( 1, Arg1, 31 ) new PlayertoFind= cmd_target( id, Arg1, 9 ) if( !PlayertoFind ) { return 1 } new Name[ 32 ] get_user_name( id, Name, 31 ) console_print( id, "Player %s are levelul %i si %i XP.", Name, PlayerLevel[ PlayertoFind], PlayerXP[ PlayertoFind ] ) } else { client_print( id, print_console, "Nu ai acces la aceasta comanda." ) } return 0 } public DeathMsg(iWpnIndex) { new headshot=read_data(3) //determina daca playerul a fost omorat prin hs new Victim=read_data(2) // variabila care retine victima new victim_name[32] //variabila care retine numele vctimei get_user_name( Victim, victim_name, 31 ) //aflam numele victimei new weapon, HitPoint, attacker = get_user_attacker( Victim, weapon, HitPoint) //determinam ce arma a fost folosita if(headshot) { PlayerXP[attacker] += get_pcvar_num(XP_Hs) //adauga xp pentru 1 hs client_print(attacker,print_chat,"Ai primit %i XP pentru ca l-ai omorat prin hs pe %s.",get_pcvar_num(XP_Hs),victim_name) } else { PlayerXP[attacker ] += get_pcvar_num( XP_Kill ) //adauga xp pentru 1 kill client_print(attacker,print_chat,"Ai primit %i XP pentru ca l-ai omorat pe %s. ",get_pcvar_num(XP_Kill),victim_name) } if(weapon== CSW_KNIFE) { PlayerXP[attacker] += get_pcvar_num(XP_Knife) //adauga xp pentru 1 kill cu knife client_print(attacker,print_chat,"Ai primit %i XP pentru ca l-ai omorat cu knife pe %s.",get_pcvar_num(XP_Knife),victim_name) } if(weapon== CSW_AWP) { PlayerXP[attacker] += get_pcvar_num(XP_AWP) //adauga xp pentru 1 kill cu awp client_print(attacker,print_chat,"Ai primit %i XP pentru ca l-ai omorat cu awp pe %s.",get_pcvar_num(XP_AWP),victim_name) } if( iWpnIndex == CSW_HEGRENADE ) { PlayerXP[attacker] += get_pcvar_num(XP_he) //adauga xp pentru 1 kill cu he client_print(attacker,print_chat,"Ai primit %i XP pentru ca l-ai omorat cu he pe %s.",get_pcvar_num(XP_he),victim_name) } } public Playerspawn( id ) { if( ( PlayerLevel[ id] < 10 && ( PlayerXP[ id ] > LEVELS[ PlayerLevel[ id ] ] ) ) ) { while( PlayerXP[ id ] > LEVELS[ PlayerLevel[ id] ] ) { PlayerLevel[ id] += 1 ColorChat(id,GREEN,"Felicitari,acum ai %i XP cu levelul %i si clasa %s,",PlayerXP[id],PlayerLevel[id],CLASSES[PlayerClass[id]]) } } } public bomb_planted( planter ) { PlayerXP[planter] += get_pcvar_num(XP_plant) //adauga xp pentru plant client_print(planter,print_chat,"Ai primit %i XP pentru plant.",get_pcvar_num(XP_plant)) } public bomb_defused( defuser ) { PlayerXP[defuser] += get_pcvar_num(XP_defuse) //adauga xp pentru defuse client_print(defuser,print_chat,"Ai primit %i XP pentru defuse.",get_pcvar_num(XP_defuse)) } public InfoXp(id) { show_motd(id,"/addons/amxmodx/configs/inf.txt") } public ClassCmd(id) { new menu = menu_create("Class Menu" , "Class_Handler"); menu_additem(menu ,"Elf", "1" , 0); menu_additem(menu ,"Puffic", "2" , 0); menu_additem(menu ,"Spiridus", "3" , 0); menu_additem(menu ,"Blazer", "4" , 0); menu_additem(menu ,"Dancer", "5" , 0); menu_additem(menu ,"Rudolf", "6" , 0); menu_additem(menu ,"Mos Nicolae", "7" , 0); menu_additem(menu ,"Mos Craciun", "8" , 0); menu_setprop(menu , MPROP_EXIT , MEXIT_ALL); menu_display(id , menu , 0); } public Class_Handler(id , menu , item) //handlerul meniului { if(item == MENU_EXIT) { menu_destroy(menu); } new szCommand[6] , szName[64]; new access , callback menu_item_getinfo(menu , item , access , szCommand , 5 , szName , 63 , callback) new i = str_to_num(szCommand) if(PlayerClass[id] != i) { PlayerClass[id] = i client_print(id,print_chat,"Acum esti %s",CLASSES) } else { client_print(id,print_chat,"Esti deja %s",CLASSES) } menu_destroy(menu); return PLUGIN_CONTINUE }
Daca le puteti rezolva as fi recunoscator !