Jump to content

xlaws27

Members
  • Content Count

    225
  • Joined

  • Last visited

Everything posted by xlaws27

  1. case SC_FREEZE: sc_def = st->mdef*100; sc_def2 = st->luk*10 + SCDEF_LVL_DIFF(bl, src, 99, 10); tick_def = st->luk*25; tick_def2 = status_get_luk(src) * -10; //Caster can increase final duration with luk break; helllo! thanks for this but i haven't seen any mdef changes does mdef will still affect the freeze chance/freeze duration?
  2. i need hpm for @costumeitem but since i got this error(they say it's because i got a low ram) i want to remove it to "make plugins" so i can insert the @security or @itemmap. make[1]: Entering directory `/root/Desktop/trunk/src/plugins' CC HPMHooking.c{standard input}: Assembler messages:{standard input}:173042: Warning: end of file not at end of a line; newline insertedgcc: Internal error: Killed (program cc1)Please submit a full bug report.See <URL:http://bugzilla.redhat.com/bugzilla> for instructions.make[1]: *** [../../plugins/HPMHooking.so] Error 1make[1]: Leaving directory `/root/Desktop/trunk/src/plugins'make: *** [plugins] Error 2
  3. actually i solved it by do2unix something well tnx for the clue
  4. [root@@ragnarok ha2]# ./configure -bash: ./configure: Permission denied help me please
  5. someone help me please!! help me to make mdef won't affect freeze duration/freeze status and every 40 luk there will be a 10% reduce of freeze duration. case SC_FREEZE: sc_def = st->mdef*100; sc_def2 = st->luk*10 + SCDEF_LVL_DIFF(bl, src, 99, 10); tick_def2 = status_get_luk(src) * -10; //Caster can increase final duration with luk break;
  6. it happens when i choose an equipment to refine. im using the latest hercules okay i understand now thnk you. im looking forward to your updates!! keep up the good work!!
  7. im very thankful for this... i was waiting for this and i just saw it now. can you help me to configure this refiner? i tried it but i dont know if it will work. i want my refiner just to be an official refiner(normal refiner) with a capability to do fail results. but i dont know how to configure this its confusing according to http://ratemyserver.net/index.php?page=misc_table_refine on +7 level 1 weapon there's a 60% chance that you can refine it to +8 so what if i put 40, // Stay as is so what's gonna happen? 50, // Go down one level 60% chance to make it to +8 40% chance to stay as is 50% chance to go down one level..??? because on + 9 level 4 weapon there's a 10% chance that you can refine it to +10 that's why i put 40 and 50 and .DisplayRefineInfo = true; // Should NPC display information about // refine (such as success chance) is it possible for you to include the FailResults? and also i got this warning or debug hope you could fix it
  8. maybe try 199 aspd? or this skill.conf // Minimum allowed delay for ANY skills after casting (in milliseconds) (Note 1) // Note: Setting this to anything above 0 can stop speedhacks. min_skill_delay_limit: 100 set it to 0 or 1
  9. there are some cheats that needs hexing the client.exe (which my friend use) is it possible to disable it? like encrypting it?
  10. @@kyeme i looked for some post similar to this error and i just followed what they say @@Zhao Chow thanks for that idea i didn't know that i don't need to include the first two letters 0x i copied paste the packetkey from the notepad to nemo and the last letter is not there -solved-
  11. @@Zhao Chow its okay since it is only a test server i already put the packet keys on the nemo @@kyeme i didn't uncomment it. I comment it.
  12. forgot to get the client_hash http://onlinemd5.com/ then open your trunk/conf/login-server.conf Find this line client_hash_check: off and change to client_hash_check: on Find this line //client_hash: 0, cb1ea78023d337c38e8ba5124e2338ae //client_hash: 10, cb1ea78023d337c38e8ba5124e2338ae //client_hash: 99, disabled and change to ( remove the // ) client_hash: 0, Put Your Client Hash Here client_hash: 10, Put Your Client Hash Here client_hash: 99, Put Your Client Hash Here but show your error first, you just miss this thing im so sorry i was going to edit it but suddenly my internet got a problem here you go. @@Zhao Chow im gonna try that forgot to get the client_hash http://onlinemd5.com/ then open your trunk/conf/login-server.conf Find this line client_hash_check: off and change to client_hash_check: on Find this line //client_hash: 0, cb1ea78023d337c38e8ba5124e2338ae //client_hash: 10, cb1ea78023d337c38e8ba5124e2338ae //client_hash: 99, disabled and change to ( remove the // ) client_hash: 0, Put Your Client Hash Here client_hash: 10, Put Your Client Hash Here client_hash: 99, Put Your Client Hash Here but show your error first, you just miss this thing hi zhao chao i used level 99 so there's no need for me to use md5 hash generator(because i don't know how to use it ) client_hash: 99, disabled client_hash_check: on this is what i did. and after trying it i still got error @@Zhao Chow
  13. i have no idea why i get this because i think i did this right 1. i enabled the packet on client conf. // Whether to enable the official packet obfuscation support (good vs WPE) // 0: disabled // 1: optional (not recommended) -- identifies whether it is required // 2: enabled (recommended) packet_obfuscation: 2 2. i diff my client with my PACKET KEYS and i uncheck the skip obfuscation something 3. on mmo.h i already comment the #ifndef PACKETVER #define PACKETVER 20130807 #endif // PACKETVER //Uncomment the following line if your client is ragexeRE instead of ragexe (required because of conflicting packets in ragexe vs ragexeRE). //#define ENABLE_PACKETVER_RE #ifdef ENABLE_PACKETVER_RE //#define PACKETVER_RE <--------------------- #undef ENABLE_PACKETVER_RE #endif // DISABLE_PACKETVER_RE 4. in packets.h (it is passed on the robrowser something for packet checker) #if PACKETVER >= 20130807 packetKeys(0x63224335,0x0F3A1F27,0x6D217B24); #endif 5. i recompiled it. so what did i miss?
  14. hi guys is it possible for someone to create this script? if a player converted his costume to this costumeitem npc then the player will be allowed to put one stat (ex. str+1) in his converted costume from the costumeitem npc the npc who will add stats is separated from the costume npc ​ //===== Hercules Script ======================================//= Headgear to Costume converter >> Costume to Headgear converter//===== By: ==================================================//= Rebel, Zephyrus [rAthena]//= Mhalicot [Hercules]//===== Current Version: =====================================//= 1.1//===== Compatible With: =====================================//= Hercules//===== Description: =========================================//= Allows a user to convert the equipped headgear // (on Top, Mid or Low) into a costume item. // It will remove any card and refine of the Item.//= Allows a user to restore the equipped costume headgear // (on Top, Mid or Low) into its original form. // It will not return any card or refine of the item.//===== Additional Comments: =================================//= 1.0 Initial script [All of this script are credit to// Rebel, Zephyrus of [rAthena] and revised by [Mhalicot]// to make it compatible in Hercules.]//= 1.1 Denied if Headgear is rental, has refine,// or has card[Mhalicot]// Note: You must apply the patch in order to use this script//============================================================- script Costume Clown -1,{ mes "[Clown]"; mes "Here you can convert your headgears into a Costume Headgear or restore to its Original form."; switch(select("I want to convert.:I want to restore.:No thanks.")) { case 1: next; mes "[Clown]"; mes "Please, select what to convert."; mes "Remember, cards and refine will be removed."; next; setarray .@Position$[1],"Top","Mid","Low"; setarray .@Position[1], 1, 9, 10; set .@Menu$,""; for( set .@i, 1; .@i < 5; set .@i, .@i + 1 ) { if( getequipisequiped(.@Position[.@i]) ) set .@Menu$, .@Menu$ + .@Position$[.@i] + "-" + "[" + getequipname(.@Position[.@i]) + "]"; set .@Menu$, .@Menu$ + ":"; } set .@Part, .@Position[ select(.@Menu$) ]; set .@id, getequipid(.@Part); set .@ref, getequiprefinerycnt(.@Part); if( !getequipisequiped(.@Part) ) { mes "[Clown]"; mes "Your not wearing anything there..."; close; } mes "[Clown]"; mes "You want to Costume your " + getitemname(getequipid(.@Part)) + "?"; next; if( select("Yes, proceed:No, I am sorry.") == 2 ) { mes "[Clown]"; mes "Need some time to think about it, huh?"; mes "Alright, I can understand."; close; } for(set .@i,0; .@i<4; set .@i,.@i+1) set .@slot[.@i], getequipcardid(.@Part,.@i); if (.@slot[0]>4000 && .@slot[0]<5000) { // If it has card don't convert mes "[Clown]"; mes "A card? Here?!"; mes "As I said before, I don't convert headgear with cards."; emotion e_hmm; close; } getinventorylist; for(set .@i,0; .@i<@inventorylist_count; set .@i,.@i+1) if (@inventorylist_expire[.@i] != 0 && @inventorylist_equip[.@i] != 0) { // If rental don't convert mes "[Clown]"; mes "Sorry, I don't convert a rental headgear!"; emotion e_hmm; close; } if (.@ref > 0) { // If refine don't convert mes "[Clown]"; mes "Sorry please keep in mind."; mes "I don't convert headgear with refine."; emotion e_hmm; close; } if (!countitem(.@id)) { mes "[Clown]"; mes "Where is "+getitemname(@id)+"...?"; npctalk "You're a snoozy cheater!"; logmes "CHEATER: Tried to sign an item not having it: "+getitemname(@id); emotion e_wah; close; } costume .@Part; // Convert the Headgear mes "[Clown]"; mes "Done, enjoy your costume headgear."; close; case 2: next; mes "Please, select what to restore."; mes "Remember, I will only restore it back without refine and cards."; next; setarray .@Position$[1],"Top","Mid","Low"; setarray .@Position[1], 13, 12, 11; set .@Menu$,""; for( set .@i, 1; .@i < 5; set .@i, .@i + 1 ) { if( getequipisequiped(.@Position[.@i]) ) set .@Menu$, .@Menu$ + .@Position$[.@i] + "-" + "[" + getequipname(.@Position[.@i]) + "]"; set .@Menu$, .@Menu$ + ":"; } set .@Part, .@Position[ select(.@Menu$) ]; if( !getequipisequiped(.@Part) ) { mes "[Clown]"; mes "Your not wearing anything there..."; close; } mes "[Clown]"; mes "You want to restore your " + getitemname(getequipid(.@Part)) + "?"; next; if( select("Yes, proceed:No, I am sorry.") == 2 ) { mes "[Clown]"; mes "Need some time to think about it, huh?"; mes "Alright, I can understand."; close; } a = getequipid(.@Part); delitem a,1; getitem a,1; mes "[Clown]"; mes "Done, enjoy your restored headgear."; close; case 3: mes "[Clown]"; mes "Very well. Return at once if you seek my services."; close; }}// --------------------------------------------------------------------------// Use duplicates to put your npc on different cities// --------------------------------------------------------------------------prontera,155,181,4 duplicate(Costume Clown) Costume Clown#1 715
  15. why do i have black dots on my maps? can someone help me please?
  16. Upon reading the topic, you need to patch the source mod, you can read that on the topic about @costumeitem plugin I checked it but cant find any comment regarding patching the source mod
  17. // Copyright (c) Hercules Dev Team, licensed under GNU GPL.// See the LICENSE file// CostumeItem Hercules Plugin// Special Thanks for Mr. [Hercules/Ind]#include "common/hercules.h"#include <stdio.h>#include <stdlib.h>#include <string.h>#include "common/memmgr.h"#include "common/timer.h"#include "common/HPMi.h"#include "common/mmo.h"#include "map/itemdb.h"#include "map/battle.h"#include "map/script.h"#include "map/status.h"#include "map/clif.h"#include "map/pet.h"#include "map/map.h"#include "map/mob.h"#include "map/pc.h"#include "common/HPMDataCheck.h"#define cap_value(a, min, max) (((a) >= (max)) ? (max) : ((a) <= (min)) ? (min) : (a))/*1.0 Initial Release [Mhalicot]1.0a Fixed Typo (usage: @ci <item name/ID>) changed to (usage: @costumeitem <item name/ID>) thx to DP2.0 Converted Costume Items will now removed normal stats and Bonuses. [Mhalicot]3.0 Item Combos will now Ignore Converted Costume Items. [Mhalicot]3.1 Fixed HP/SP becomes 1/1 [Mhalicot]3.2 Fixed Sinx Can't Equipt dagger/sword on both arms(L/R), Special Thanks to Haru for Help [Mhalicot]3.3 Fixed Error when compiling.3.4 Fixed Error when compiling.3.4a Updated According to new hercules.[Dastgir]3.5 Updated Costume with new Hercules, some other changes. [Dastgir]*/HPExport struct hplugin_info pinfo = { "costumeitem", // Plugin name SERVER_TYPE_MAP, // Which server types this plugin works with? "3.5", // Plugin version HPM_VERSION, // HPM Version (don't change, macro is automatically updated)};static inline void status_cpy(struct status_data* a, const struct status_data* { memcpy((void*)&a->max_hp, (const void*)&b->max_hp, sizeof(struct status_data)-(sizeof(a->hp)+sizeof(a->sp)));}// Costume Systemint reserved_costume_id = 999998;void costume_id(const char *val) { reserved_costume_id = atoi(val);}uint16 GetWord(uint32 val, int idx) { switch( idx ) { case 0: return (uint16)( (val & 0x0000FFFF) ); case 1: return (uint16)( (val & 0xFFFF0000) >> 0x10 ); default: ShowDebug("GetWord: invalid index (idx=%d)n", idx); return 0; }}uint32 MakeDWord(uint16 word0, uint16 word1) { return ( (uint32)(word0 ) )| ( (uint32)(word1 << 0x10) );}int alternate_item(int index){ switch(index){ case EQP_HEAD_LOW: return EQP_COSTUME_HEAD_LOW; case EQP_HEAD_TOP: return EQP_COSTUME_HEAD_TOP; case EQP_HEAD_MID: return EQP_COSTUME_HEAD_MID; case EQP_HAND_R: return EQP_SHADOW_WEAPON; case EQP_HAND_L: return EQP_SHADOW_SHIELD; case EQP_ARMOR: return EQP_SHADOW_ARMOR; case EQP_SHOES: return EQP_SHADOW_SHOES; case EQP_GARMENT: return EQP_COSTUME_GARMENT; case EQP_ACC_L: return EQP_SHADOW_ACC_L; case EQP_ACC_R: return EQP_SHADOW_ACC_R; default: return -1; }}void script_stop_costume(struct map_session_data *sd, struct item_data *data, int oid){ if (data->equip <= 512){ int alternate = alternate_item(data->equip); if (alternate != -1 && pc->checkequip(sd,alternate) == data->nameid){ hookStop(); } }}/* called when a item with combo is worn */int pc_checkcombo_mine(struct map_session_data *sd, struct item_data *data ) { int i, j, k, z; int index, success = 0; struct pc_combos *combo; for( i = 0; i < data->combos_count; i++ ) { /* ensure this isn't a duplicate combo */ if( sd->combos != NULL ) { int x; ARR_FIND( 0, sd->combo_count, x, sd->combos[x].id == data->combos[i]->id ); /* found a match, skip this combo */ if( x < sd->combo_count ) continue; } for( j = 0; j < data->combos[i]->count; j++ ) { int id = data->combos[i]->nameid[j]; bool found = false; for( k = 0; k < EQI_MAX; k++ ) { index = sd->equip_index[k]; if( index < 0 ) continue; if( k == EQI_HAND_R && sd->equip_index[EQI_HAND_L] == index ) continue; if( k == EQI_HEAD_MID && sd->equip_index[EQI_HEAD_LOW] == index ) continue; if( k == EQI_HEAD_TOP && (sd->equip_index[EQI_HEAD_MID] == index || sd->equip_index[EQI_HEAD_LOW] == index) ) continue; if( (int)MakeDWord(sd->status.inventory[index].card[2],sd->status.inventory[index].card[3]) == reserved_costume_id ) continue; if(!sd->inventory_data[index]) continue; if ( itemdb_type(id) != IT_CARD ) { if ( sd->inventory_data[index]->nameid != id ) continue; found = true; break; } else { //Cards if ( sd->inventory_data[index]->slot == 0 || itemdb_isspecial(sd->status.inventory[index].card[0]) ) continue; for (z = 0; z < sd->inventory_data[index]->slot; z++) { if (sd->status.inventory[index].card[z] != id) continue; // We have found a match found = true; break; } } } if( !found ) break;/* we haven't found all the ids for this combo, so we can return */ } /* means we broke out of the count loop w/o finding all ids, we can move to the next combo */ if( j < data->combos[i]->count ) continue; /* we got here, means all items in the combo are matching */ RECREATE(sd->combos, struct pc_combos, ++sd->combo_count); combo = &sd->combos[sd->combo_count - 1]; combo->bonus = data->combos[i]->script; combo->id = data->combos[i]->id; success++; } return success;}int HPM_map_reqnickdb(struct map_session_data * sd, int *char_id) { if( !sd ) return 0; if( reserved_costume_id && reserved_costume_id == *char_id ) { clif->solved_charname(sd->fd, *char_id, "Costume"); } hookStop(); return 1;}int HPM_pc_equippoint(int retVal, struct map_session_data *sd, int *nn) { int char_id = 0, n = *nn; if (!sd || !retVal) // If the original function returned zero, we don't need to process it anymore return retVal; if( reserved_costume_id && sd->status.inventory[n].card[0] == CARD0_CREATE && (char_id = MakeDWord(sd->status.inventory[n].card[2],sd->status.inventory[n].card[3])) == reserved_costume_id ) { // Costume Item - Converted if( retVal&EQP_HEAD_TOP ) { retVal &= ~EQP_HEAD_TOP; retVal |= EQP_COSTUME_HEAD_TOP; } if( retVal&EQP_HEAD_LOW ) { retVal &= ~EQP_HEAD_LOW; retVal |= EQP_COSTUME_HEAD_LOW; } if( retVal&EQP_HEAD_MID ) { retVal &= ~EQP_HEAD_MID; retVal |= EQP_COSTUME_HEAD_MID; } } return retVal;}ACMD(costumeitem) { char item_name[100]; int item_id, flag = 0; struct item item_tmp; struct item_data *item_data; if( !sd ) return 0; if (!message || !*message || ( sscanf(message, ""%99[^"]"", item_name) < 1 && sscanf(message, "%99s", item_name) < 1 )) { clif->message(fd, "Please enter an item name or ID (usage: @costumeitem <item name/ID>)."); return false; } if ((item_data = itemdb->search_name(item_name)) == NULL && (item_data = itemdb->exists(atoi(item_name))) == NULL) { clif->message(fd, "Invalid item ID or name."); return false; } if( !reserved_costume_id ) { clif->message(fd, "Costume conversion is disabled."); return false; } if( !(item_data->equip&EQP_HEAD_LOW) && !(item_data->equip&EQP_HEAD_MID) && !(item_data->equip&EQP_HEAD_TOP) && !(item_data->equip&EQP_COSTUME_HEAD_LOW) && !(item_data->equip&EQP_COSTUME_HEAD_MID) && !(item_data->equip&EQP_COSTUME_HEAD_TOP) ) { clif->message(fd, "You cannot costume this item. Costume only work for headgears."); return false; } item_id = item_data->nameid; //Check if it's stackable. if (!itemdb->isstackable2(item_data)) { if( (item_data->type == IT_PETEGG || item_data->type == IT_PETARMOR) ) { clif->message(fd, "Cannot create costume pet eggs or pet armors."); return false; } } // if not pet egg if (!pet->create_egg(sd, item_id)) { memset(&item_tmp, 0, sizeof(item_tmp)); item_tmp.nameid = item_id; item_tmp.identify = 1; item_tmp.card[0] = CARD0_CREATE; item_tmp.card[2] = GetWord(reserved_costume_id, 0); item_tmp.card[3] = GetWord(reserved_costume_id, 1); if ((flag = pc->additem(sd, &item_tmp, 1, LOG_TYPE_COMMAND))) clif->additem(sd, 0, 0, flag); } if (flag == 0) clif->message(fd,"item created."); return true;}/*========================================== * Costume Items Hercules/[Mhalicot] *------------------------------------------*/BUILDIN(costume) { int i = -1, num, ep; TBL_PC *sd; num = script_getnum(st,2); // Equip Slot sd = script->rid2sd(st); if( sd == NULL ) return 0; if( num > 0 && num <= ARRAYLENGTH(script->equip) ) i = pc->checkequip(sd, script->equip[num - 1]); if( i < 0 ) return 0; ep = sd->status.inventory[i].equip; if( !(ep&EQP_HEAD_LOW) && !(ep&EQP_HEAD_MID) && !(ep&EQP_HEAD_TOP) ) return 0; logs->pick_pc(sd, LOG_TYPE_SCRIPT, -1, &sd->status.inventory[i],sd->inventory_data[i]); pc->unequipitem(sd,i,2); clif->delitem(sd,i,1,3); // -------------------------------------------------------------------- sd->status.inventory[i].refine = 0; sd->status.inventory[i].attribute = 0; sd->status.inventory[i].card[0] = CARD0_CREATE; sd->status.inventory[i].card[1] = 0; sd->status.inventory[i].card[2] = GetWord(reserved_costume_id, 0); sd->status.inventory[i].card[3] = GetWord(reserved_costume_id, 1); if( ep&EQP_HEAD_TOP ) { ep &= ~EQP_HEAD_TOP; ep |= EQP_COSTUME_HEAD_TOP; } if( ep&EQP_HEAD_LOW ) { ep &= ~EQP_HEAD_LOW; ep |= EQP_COSTUME_HEAD_LOW; } if( ep&EQP_HEAD_MID ) { ep &= ~EQP_HEAD_MID; ep |= EQP_COSTUME_HEAD_MID; } // -------------------------------------------------------------------- logs->pick_pc(sd, LOG_TYPE_SCRIPT, 1, &sd->status.inventory[i],sd->inventory_data[i]); clif->additem(sd,i,1,0); pc->equipitem(sd,i,ep); clif->misceffect(&sd->bl,3); return true;}/* triggered when server starts loading, before any server-specific data is set */HPExport void server_preinit (void) { addBattleConf("reserved_costume_id",costume_id);}/* Server Startup */HPExport void plugin_init (void) { pc->checkcombo = pc_checkcombo_mine; //Hook addHookPre("script->run_item_equip_script",script_stop_costume); addHookPre("script->run_item_unequip_script",script_stop_costume); addHookPre("script->run_use_script",script_stop_costume); addHookPre("map->reqnickdb",HPM_map_reqnickdb); addHookPost("pc->equippoint",HPM_pc_equippoint); //atCommand addAtcommand("costumeitem",costumeitem); //scriptCommand addScriptCommand("costume","i",costume);}HPExport void server_online (void) { ShowInfo ("'%s' Plugin by Dastgir/Hercules. Version '%s'n",pinfo.name,pinfo.version);} can someone make the converted costume do not add stats? .it is the latest version from dastgir plugin collection
  18. woah thank you for this I just got my packet key may I have a few question please? 1. let's say, my packetkey passed on http://www.robrowser.com/prototype/packet-keys, will I be able to use it on all clients? 2. how can I determine if the packet key is strong? 3. what does lteration means?
  19. any tip for a strong key? like which letter/number to use or start with?
  20. i use both windows 7 and windows 10 and i don't have any issue on my font size. hmm any idea? T_t may i ask how? its kinda confusing i didn't
  21. thanks dastgir for this. i hope you can check the message that i sent.
  22. @@Dastgir it works!! but players will close or cancel it because they think that it will be a waste of time and they'll pm GM's why do they get DC(sounds annoying). so is there a way to remove the Close button and the cancel button? so they won't have any choice but to activate it?
  23. hi guys i already set the @force security on a player but they can close it (is it normal)? well is there a way to force close the client if they didnt activate the security? it is a script from dastgir. /* By Dastgir/Hercules Use Plugin too along with this script(Found in https://github.com/dastgir/HPM-Plugins)*/- script Security -1,{OnInit: bindatcmd("security",strnpcinfo(0)+"::OnSecurity",0,99); /* Config */ .max_attempt = 5; //3 Times Wrong Attempt = Ban. .ban_hour = 1; //Hours to ban .allowed = 1|2|4|8|16|32|64|128|512|1024|2048|4096; //Allowed Settings.. end; OnPCLoginEvent: if ($security){ if (!#security){ callsub OnPlayerMenu; } } close;OnSecurity: if (getgmlevel()){ mes "[^FFA500 Security System ^000000]"; mes "Hello GM, How may I help you?"; callsub OnGMMenu; end; } OnPlayerMenu: // Don't Change Order. setarray .@restrictions$,"Can't Drop Item", // 1 "Can't receive Trade Requests", // 2 "Can't send Trade Request", // 4 "Can't open Guild Storage", // 8 "Can't take item from guild storage", // 16 "Can't add item to guild storage", // 32 "Can't sell items", // 64 "Can't use Vending", // 128 "Can't delete items by any means", // 256 "Can't buy items", // 512 "Can't Send Guild Invite", // 1024 "Can't Receive Guild Invite", // 2048 "Can't Leave the guild"; // 4096 while (1){ mes "[^FFA500 Security System ^000000]"; mes "Security Status: "+ ((#security>0)?"^00FF00On^000000":"^FF0000Off^000000"); mes "Status: "; for (.@i = 0; .@i < getarraysize(.@restrictions$); .@i++){ .@bit = (1<<.@i); if (.allowed&.@bit) mes .@restrictions$[.@i] + " - "+ ((#secure_opt&.@bit)?"^00FF00On^000000":"^FF0000Off^000000"); } switch(select("Info",((#security>0)?"Dea":"A")+"ctivate the Security","Settings","Close")){ case 4: close; case 3: next; mes "[^FFA500 Security System ^000000]"; if (!#security){ mes "^FF0000You don't have security enabled^000000"; next; break; } mes "Enter your ^FF0000OLD^000000 Security Code"; mes "^FF0000- Wrong Code more than "+ .max_attempt +" times can result into ban.^000000"; mes "Chances Left: "+ (.max_attempt-security_maxtry); input .@security; next; mes "[^FFA500 Security System ^000000]"; if (#secure_code != .@security){ mes "Wrong Code..."; security_maxtry++; if (security_maxtry >= .max_attempt){ atcommand "@ban +"+.ban_hour+"h ""+strcharinfo(0)+"""; //Ban the Player for 1 hour. security_maxtry = 0; //Reset After tha Ban end; } close; } next; security_maxtry = 0; mes "[^FFA500 Security System ^000000]"; mes "Choose Restrictions to Enable/Disable"; .@menu$ = "^00FF00Enable All^000000:^FF0000Disable All^000000:"; .@opt = 0; for (.@i = 0; .@i < getarraysize(.@restrictions$); .@i++){ .@bit = (1<<.@i); if (.allowed&.@bit){ .@index[.@opt] = .@i; .@opt++; .@content$ = .@restrictions$[.@i] + " - "+ ((#secure_opt&.@bit)?"^00FF00On^000000":"^FF0000Off^000000"); .@menu$ = .@menu$ + "" + .@content$ +":"; mes .@content$; } } .@t_menu = select(.@menu$)-1; next; if (.@t_menu == 1){ mes "[^FFA500 Security System ^000000]"; if (!#secure_opt){ mes "You already have all Settings disabled."; next; break; } mes "Are you Sure you want to disable all?"; if (select("Yes:No..") == 2){ next; mes "[^FFA500 Security System ^000000]"; mes "As you wish.."; next; break; } next; mes "[^FFA500 Security System ^000000]"; mes "All Settings Disabled"; #secure_opt = 0; next; break; } else if (.@t_menu == 0){ mes "[^FFA500 Security System ^000000]"; if (#secure_opt >= .allowed){ mes "You already have all Settings enabled."; next; break; } mes "Are you Sure you want to enable all?"; if (select("Yes:No..") == 2){ next; mes "[^FFA500 Security System ^000000]"; mes "As you wish.."; next; break; } next; mes "[^FFA500 Security System ^000000]"; mes "All Settings Enabled"; #secure_opt = .allowed; next; break; } .@t_menu -= 2; .@menu = .@index[.@t_menu]; mes "[^FFA500 Security System ^000000]"; mes .@restrictions$[.@menu]; mes "Are you sure you want to "+ ((#secure_opt&(1<<.@menu))?"Disable":"Enable") +" this?"; if (select("Yes:No..") == 2){ next; mes "[^FFA500 Security System ^000000]"; mes "As you wish.."; next; break; } next; mes "[^FFA500 Security System ^000000]"; mes "Setting "+ ((#secure_opt&(1<<.@menu))?"Disabled":"Enabled"); if (#secure_opt&(1<<.@menu)) #secure_opt -= 1<<.@menu; else #secure_opt += 1<<.@menu; next; break; case 2: next; mes "[^FFA500 Security System ^000000]"; if (#security){ mes "Enter your ^FF0000OLD^000000 Security Code"; mes "^FF0000- Wrong Code more than "+ .max_attempt +" times can result into ban.^000000"; mes "Chances Left: "+ (.max_attempt-security_maxtry); input .@security; next; mes "[^FFA500 Security System ^000000]"; if (#secure_code != .@security){ mes "Wrong Code..."; security_maxtry++; if (security_maxtry >= .max_attempt){ atcommand "@ban +"+.ban_hour+"h ""+strcharinfo(0)+"""; //Ban the Player for 1 hour. security_maxtry = 0; //Reset After tha Ban end; } close; } mes "Security Deactivated."; #security = 0; security_maxtry = 0; close; } mes "Insert your ^00FF00NEW^000000 Security Code"; mes "^FF0000- Must be 4-8 Digits^000000"; mes "^FF0000- Only numerics are allowed(0-9)^000000"; mes "^FF0000- Don't use 0 in beginning of security code^000000"; input .@security; next; mes "[^FFA500 Security System ^000000]"; if (.@security < 1000 || .@security > 99999999){ mes "Security code must be of 4-8 digits."; next; break; } mes "^00FF00 Re-insert the Security Code ^000000"; input .@secu2; next; mes "[^FFA500 Security System ^000000]"; if (.@secu2 != .@security){ mes "Security Code Mismatch.."; next; break; } mes "Security Code Set"; #secure_code = .@security; #security = 1; next; break; case 1: next; mes "[^FFA500 Security System ^000000]"; mes "Security Code can be of 4-8 Digits."; mes "When Security Code is enabled, you can do following settings as a security step:"; for (.@i = 0; .@i < getarraysize(.@restrictions$); .@i++){ .@bit = (1<<.@i); if (.allowed&.@bit) mes "^FF0000- "+ .@restrictions$[.@i] +"^000000"; } next; break; } } end; OnGMMenu: switch(select("Player Menu: Settings")){ case 1: next; callsub OnPlayerMenu; end; case 2: next; mes "[^FFA500 Security System ^000000]"; mes "Force Player to set @security?"; mes "Status: "+ (($security>0)?"^00FF00On^000000":"^FF0000Off^000000"); .@menu = select((($security>0)?"^00FF00Disable^000000":"^FF0000Enable^000000"),"Cancel"); if (.@menu == 2) close; next; mes "[^FFA500 Security System ^000000]"; if ($security) $security = 0; else $security = 1; mes "Force Security Setting Set."; close; } end;}
  24. Thats wrong configuration of plugin, though it's just a warning...You can do this to avoid these warning for plugin Right-click project, select "Properties". Click "Build". Switch "Treat warnings as errors" from "All" to "Specific warnings" or "None". theres no build category on the properties .. and I just followed the steps according here http://herc.ws/wiki/Building_HPM_Plugin_for_MSVC it already work the @itemmap command. but is it okay to leave the warning? I just forgot to insert something on the plugin.conf well the itemmap1 and itemmap2 isn't working.
  25. @@Dastgir i got error on itemmap.c (even though it is success i can't use @itemmap command) 1>------ Build started: Project: itemmap, Configuration: Release Win32 ------ 1> itemmap.c 1>..srcpluginsitemmap.c(194): warning C4996: 'strcmpi': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strcmpi. See online help for details. 1> C:Program Files (x86)Microsoft Visual Studio 10.0VCincludestring.h(245) : see declaration of 'strcmpi' 1>..srcpluginsitemmap.c(196): warning C4996: 'strcmpi': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strcmpi. See online help for details. 1> C:Program Files (x86)Microsoft Visual Studio 10.0VCincludestring.h(245) : see declaration of 'strcmpi' 1>..srcpluginsitemmap.c(203): warning C4996: 'sscanf': This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> C:Program Files (x86)Microsoft Visual Studio 10.0VCincludestdio.h(325) : see declaration of 'sscanf' 1>..srcpluginsitemmap.c(211): warning C4996: 'sscanf': This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> C:Program Files (x86)Microsoft Visual Studio 10.0VCincludestdio.h(325) : see declaration of 'sscanf' 1>..srcpluginsitemmap.c(219): warning C4996: 'sscanf': This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> C:Program Files (x86)Microsoft Visual Studio 10.0VCincludestdio.h(325) : see declaration of 'sscanf' 1> Creating library ..pluginsitemmap.lib and object ..pluginsitemmap.exp 1> Generating code 1> Finished generating code 1> itemmap.vcxproj -> D:DevelopingServersideChaos ROHerculesitemmap..pluginsitemmap.dll ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.