Merge pluginul foarte bine dar am o problema. cand vreau sa dau vip unui player care are un nume cu SPATIU intre el. EX: InL# jy0nsS , TOT ASA , etc. Problema este ca nu imi citeste vip-ul nu merge.
Si eu as dori doar sa imi puteti modifica pluginul in asa fel incat in vips.ini sa pun vip-ul cu " ex: "InL# jy0nsS" "parola"
- | Afiseaza codul
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <hamsandwich> #include <engine> #define PLUGIN "VIP System" #define VERSION "1.0" #define AUTHOR "Cosmin" #define VipAcces ADMIN_LEVEL_H new Trie:eData new File[120] new Password new bool:IsUserVip[33] = false new jumpnum[33] = 0 new bool:dojump[33] = false public plugin_init () { register_plugin ("PLUGIN", "VERSION", "AUTHOR"); register_event("DeathMsg", "Event_DeathMsg", "a", "1<0"); RegisterHam(Ham_Spawn, "player", "cmdSpawn",1); //register_logevent("RoundStart", 2, "1=Round_Start"); Password = get_cvar_pointer("amx_password_field") eData = TrieCreate() add_trie() } public Event_DeathMsg() { new i_Killer = read_data(1); new i_Victim = read_data(2); if (i_Killer != i_Victim && is_user_alive(i_Killer) && get_user_health(i_Killer) != 100 && get_user_flags(i_Killer) & VipAcces) { set_user_health(i_Killer, 100); } return PLUGIN_CONTINUE; } public add_trie() { new FilePointer,szName[32],szPassword[32],FileData[256] get_configsdir(File,charsmax(File)) format(File,charsmax(File),"%s/%s",File,"vips.ini") if(!file_exists(File)) { FilePointer = fopen(File,"w") fprintf(FilePointer,";Aici adaugi VIP,NUME PAROLA") fclose(FilePointer) } FilePointer = fopen(File,"rt") if(FilePointer) { while(!feof(FilePointer)) { fgets(FilePointer,FileData,charsmax(FileData)) parse(FileData,szName,charsmax(szName),szPassword,charsmax(szPassword)) TrieSetString(eData,szName,szPassword) } fclose(FilePointer) } } public client_connect(id) { new szName[32],szPassword[32],PlayerPassword[32],Pass[5] get_user_name(id,szName,charsmax(szName)) get_pcvar_string(Password,Pass,charsmax(Pass)) get_user_info(id,Pass,PlayerPassword,charsmax(PlayerPassword)) if(TrieKeyExists(eData,szName)) { TrieGetString(eData,szName,szPassword,charsmax(szPassword)) if(equal(PlayerPassword,szPassword)) { IsUserVip[id] = true } else { server_cmd("kick #%i ^"Nu esti VIP!^"",get_user_userid(id)) IsUserVip[id] = false } } } public client_putinserver(id) { jumpnum[id] = 0 dojump[id] = false } public client_infochanged(id) { new newname[32],szPassword[32],PlayerPassword[32],Pass[5] get_pcvar_string(Password,Pass,charsmax(Pass)) get_user_info(id,Pass,PlayerPassword,charsmax(PlayerPassword)) get_user_info(id,"name",newname,charsmax(newname)) if(TrieKeyExists(eData,newname)) { TrieGetString(eData,newname,szPassword,charsmax(szPassword)) if(equal(PlayerPassword,szPassword)) { IsUserVip[id] = true } else { server_cmd("kick #%i ^"NU esti VIP^"",get_user_userid(id)) IsUserVip[id] = false } } else { IsUserVip[id] = false } } public client_disconnect(id) { IsUserVip[id] = false } public plugin_end() { TrieDestroy(eData) } public Gold ( id ) { if(IsUserVip[id]) { GoldMenu( id ); } } public GoldMenu( id ) { static menu; menu = menu_create ("\yVIPMENU\r","menu_gold"); menu_additem ( menu,"\w M4A1\r +\w Deagle","1", 0 ); menu_additem ( menu,"\w AWP\r +\w Deagle","2", 0 ); menu_additem ( menu,"\w AK47\r +\w Deagle","3", 0 ); menu_setprop ( menu, MPROP_NUMBER_COLOR,"\y"); menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL ); menu_display ( id, menu, 0 ); return 0; } public menu_gold ( id, menu, item ) { if ( item == MENU_EXIT ) { menu_destroy ( menu ); return 1; } new data [ 6 ], szName [ 64 ]; new access, callback; menu_item_getinfo ( menu, item, access, data, charsmax ( data ), szName, charsmax ( szName ), callback ); new key = str_to_num ( data ); switch ( key ) { case 1: { give_item ( id,"weapon_deagle" ); cs_set_user_bpammo( id, CSW_DEAGLE, 100 ); give_item ( id,"weapon_m4a1" ) cs_set_user_bpammo( id, CSW_M4A1, 150 ); } case 2: { give_item ( id,"weapon_deagle" ); cs_set_user_bpammo( id, CSW_DEAGLE, 100 ); give_item ( id,"weapon_awp" ) cs_set_user_bpammo( id, CSW_AWP, 50 ) } case 3: { give_item ( id,"weapon_deagle" ); cs_set_user_bpammo( id, CSW_DEAGLE, 100 ); give_item ( id,"weapon_ak47" ) cs_set_user_bpammo( id, CSW_AK47, 150 ) } } menu_destroy ( menu ); return 1; } public cmdSpawn(id) { if((IsUserVip[id]) && is_user_alive(id)) { set_user_armor(id, 180) set_user_health(id, 150) //give_item(id, "weapon_deagle") give_item ( id,"weapon_hegrenade" ) give_item ( id,"weapon_flashbang" ) give_item ( id,"weapon_smokegrenade" ) cs_set_user_bpammo(id, CSW_FLASHBANG, 2) cs_set_user_bpammo(id, CSW_HEGRENADE, 2) cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 2) Gold(id) } } public client_PreThink(id) { if(!is_user_alive(id) && !IsUserVip[id]) return PLUGIN_CONTINUE new nbut = get_user_button(id) new obut = get_user_oldbutton(id) if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP)) { if(jumpnum[id] < 3) { dojump[id] = true jumpnum[id]++ return PLUGIN_CONTINUE } } if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND)) { jumpnum[id] = 0 return PLUGIN_CONTINUE } return PLUGIN_CONTINUE } public client_PostThink(id) { if(!is_user_alive(id) && !IsUserVip[id]) return PLUGIN_CONTINUE if(dojump[id] == true) { new Float:velocity[3] entity_get_vector(id,EV_VEC_velocity,velocity) velocity[2] = random_float(265.0,285.0) entity_set_vector(id,EV_VEC_velocity,velocity) dojump[id] = false return PLUGIN_CONTINUE } return PLUGIN_CONTINUE } stock Chat_Color(const id, const input[], any:...) { new count = 1, players[32] static msg[191] vformat(msg, 190, input, 3) replace_all(msg, 190, "!g", "^4") replace_all(msg, 190, "!y", "^1") replace_all(msg, 190, "!team", "^3") if (id) players[0] = id; else get_players(players, count, "ch") { for (new i = 0; i < count; i++) { if (is_user_connected(players)) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players) write_byte(players); write_string(msg); message_end(); } } } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par } */
Daca imi puteti rezolva acest plugin v-as fi vesnic recunoscator.
Multumesc anticipat.