utofaery

Members
  • Content count

    101
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by utofaery

  1. prontera,158,167,3 script Sample 4_M_SIT_NOVICE,{ if (#xTaken + .next_take> gettimetick(2)) { mes "[Random Item Giver]"; mes "Please talk to me after 24 hours."; close; } else { mes "[Random Item Giver]"; mes "Have some of these!"; [email protected] = rand ([email protected],[email protected]); [email protected] = rand ([email protected],[email protected]); [email protected] = rand ([email protected],[email protected]); [email protected] = [email protected][rand(getarraysize ([email protected]))]; [email protected] = [email protected][rand(getarraysize ([email protected]))]; [email protected] = [email protected][rand(getarraysize ([email protected]))]; getitem ( [email protected], [email protected] ) ; // dispbottom ( "rItemid1 :: " + [email protected] + " riRate1 :: " + [email protected] + " Name :: " + getitemname ( [email protected] ) ) ; // debug use only !!! getitem ( [email protected], [email protected] ) ; // dispbottom ( "rItemid2 :: " + [email protected] + " riRate2 :: " + [email protected] + " Name :: " + getitemname ( [email protected] ) ) ; // debug use only !!! getitem ( [email protected], [email protected] ) ; // dispbottom ( "rItemid3 :: " + [email protected] + " riRate3 :: " + [email protected] + " Name :: " + getitemname ( [email protected] ) ) ; // debug use only !!! #xTaken = gettimetick(2); next; close; } OnInit: //set cooldown to take item again. .next_take = 24*60*60; //set item here setarray .Aitem1[0],501,502,503,504,505,14510; setarray .Aitem2[0],601,602,603,604,605,14510; setarray .Aitem3[0],701,702,703,704,705,14510; //set rate here .Ai11 = 1; .Ai12 = 10; .Ai21 = 5; .Ai22 = 15; .Ai31 = 10; .Ai32 = 20; end; } Refined and fixed up npc variable..
  2. This should means on PvP enabled map? When player A kill player B, Show effect xxx on player A. But what is "manner"? Side note : Why can't I delete code box (and content of code box) on Android chrome? And it's same with quote box!
  3. Recompile???
  4. Lucas I assumed. Issue :: You have incomplete conf folder. Explaination :: Which means you got something missing from "Hercules/conf/plugins.conf" folder Recovery Step :: Re-Clone or Re-Update your hercules installation. Vital.
  5. By script (easier), skill is source (harder). make a clone npc at destination with on touch then announce something Database support not script anymore! anyway~ any filename that has "skill" 1. hercules\db\ 2.1 hercules\db\pre-re\ or 2.2 hercules\db\re\ OR 3 you want customly made stuff ( aka custom skill ) https://herc.ws/wiki/Adding_new_skills ( BENEFICIAL read) ( sorry to make it caps, no people takes reading stuff seriously these days ) Yes we know the good old floating npc which no normal play can click see or OnTouch...
  6. Bad suggestion: Erm another thing is to try hunting private server (which used 2015) for the "questid2display.txt"
  7. First thing first this line is found on the first page of https://github.com/Asheraf/Translation This fork meant to work only for the lastest RagexeRE client release, backward compatibility is not maintained. 1. Thing is if you use 2015 client make sure you get translation package that target 2015 client only not anything 2018 or etc. old client need old translation. so you need to do homework to get translation for 2015 client searching in github. 2. or you could use new client with new translation? which is easier and maintain'ed for current version of client. 3. or if you insist to use 2015, then wait for someone to save you .. Side Note: Any way this is found in rathena with 1 hour difference.. same topic same description. https://rathena.org/board/topic/118479-quest-log-crash/
  8. Q>what does this warning means This happen'd when I tried to do this: Map server error: A function call'ed on another npc with getmapflag check...of all mapflag found in constants
  9. 1. I was trying to make this work by donpcevent "Guardian#"+.RTaken$[[email protected]]+"::OnSpawnGuardians"; but it's not working how do I fix this? deletearray (.RTaken$); [email protected]$ = ""; [email protected] = 0; for ( [email protected] = 0 ; [email protected] < getarraysize(.castle$); [email protected] ) { if ( getcastledata( .castle$[[email protected]], 1 ) == getcharid(CHAR_ID_GUILD) && (.RTaken$[[email protected]] == .castle$[[email protected]]) == false ) { // CD_GUILD_ID [email protected]; dispbottom ( [email protected] + " " + getcastlename(.castle$[[email protected]]) + " is currently controlled by " + strcharinfo(PC_GUILD) + " " + .RTaken$[[email protected]] ) ; setarray .RTaken$[getarraysize(.RTaken$)],.castle$[[email protected]]; [email protected]$ = [email protected]$ + getcastlename( .castle$[[email protected]] ); [email protected]$ = [email protected]$ + ":"; } } if ([email protected] < 1) { mes ( "[email protected] < 1 You have to work harder to obtain glory, chief!"); close; } else { mes ( "[email protected] == " + [email protected]); mes ( " Select a Castle." ); [email protected] = select( [email protected]$ ) - 1; mes "You selected menu : "+ [email protected]$[[email protected]]; while(true) { switch ( select ( "Maximize Castle Economy & Defense", //xsa//2, 3 "Enable Kafra", //xsa//9 "Disable Kafra", //xsa//9 "Enable All Guardian", // 10 11 12 13 14 15 16 17 "Check Guild Status", "Exit" )) { case 1: setcastledata(.RTaken$[[email protected]], 2, 100 ); setcastledata(.RTaken$[[email protected]], 3, 100 ); break; case 2: setcastledata(.RTaken$[[email protected]], 9, 1 ); enablenpc "Kafra Staff#"+.RTaken$[[email protected]]; break; case 3: setcastledata(.RTaken$[[email protected]], 9, 0 ); disablenpc "Kafra Staff#"+.RTaken$[[email protected]]; break; case 4: setcastledata(.RTaken$[[email protected]], 10, 1 ); setcastledata(.RTaken$[[email protected]], 11, 1 ); setcastledata(.RTaken$[[email protected]], 12, 1 ); setcastledata(.RTaken$[[email protected]], 13, 1 ); setcastledata(.RTaken$[[email protected]], 14, 1 ); setcastledata(.RTaken$[[email protected]], 15, 1 ); setcastledata(.RTaken$[[email protected]], 16, 1 ); setcastledata(.RTaken$[[email protected]], 17, 1 ); donpcevent "Guardian#"+.RTaken$[[email protected]]+"::OnSpawnGuardians"; break; case 5: dispbottom ( "Guld Name :: " + getcastledata(.RTaken$[[email protected]], 1) ) ; dispbottom ( "Guild Economy Level :: " + getcastledata(.RTaken$[[email protected]], 2) ) ; dispbottom ( "Guild Defense Level :: " + getcastledata(.RTaken$[[email protected]], 3) ) ; dispbottom ( "Guild Kafra :: " + getcastledata(.RTaken$[[email protected]], 9) ) ; dispbottom ( "Guild 1st Guardian Soldier :: " + getcastledata(.RTaken$[[email protected]], 10) ) ; dispbottom ( "Guild 2nd Guardian Soldier :: " + getcastledata(.RTaken$[[email protected]], 11) ) ; dispbottom ( "Guild 3rd Guardian Soldier :: " + getcastledata(.RTaken$[[email protected]], 12) ) ; dispbottom ( "Guild 4th Guardian Archer :: " + getcastledata(.RTaken$[[email protected]], 13) ) ; dispbottom ( "Guild 5th Guardian Archer :: " + getcastledata(.RTaken$[[email protected]], 14) ) ; dispbottom ( "Guild 6th Guardian Knight :: " + getcastledata(.RTaken$[[email protected]], 15) ) ; dispbottom ( "Guild 7th Guardian Knight :: " + getcastledata(.RTaken$[[email protected]], 16) ) ; dispbottom ( "Guild 8th Guardian Knight :: " + getcastledata(.RTaken$[[email protected]], 17) ) ; break; case 6: close; } } close; } OnInit: setarray .castle$[0], "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05", "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05", "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05", "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05", "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05", "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05"; end; } 2. can we disable default woe system and create custom woe system? 3. by doing this [email protected] = 1; [email protected] = 10; while ( [email protected] <= [email protected] ) { atcommand "@slaveclone "+strcharinfo(0); [email protected] += 1; } dispbottom ("spawn'ed " + ([email protected]) + " clones" ); can it able to announce when a slave clone die or should it be changed to something else? if yes please show me how. and can it be used with *setunitdata ??
  10. Question about 1: Q1. Do I use this npc as duplicate like woe FE did?? like the guild manager or guild starter npc? Q2. about the bindatcmd it only work if I duplicate them?
  11. Since this is sample questlog, Might be wise to include sample Instance?
  12. Hercules\conf\char\char-server.conf // Player-related configuration player: { new: { // Start point (Renewal) start_point_re: { map: "iz_int" x: 18 y: 27 } // Start point (Pre-Renewal) start_point_pre: { map: "new_1-1" x: 53 y: 111 }
  13. prontera,150,180,5 script Instance Challenger 4_M_EINMINER,{ mes ( " Big sun Big day ! " ) ; dispbottom ( " #GRRoomDelay :: " + #GRRoomDelay ) ; switch ( select( "~ Create Instance", "~ Exit.", "~ Clear Instance" )){ case 3: instance_destroy( );//[email protected] ); close; case 1: [email protected]$ = "[email protected]"; #GRHunt = 0; if( #GRRoomDelay > gettimetick(2) ) { .last = #GRRoomDelay - gettimetick(2); [email protected] = .last % ( 24 * 3600 ) % 3600 / (60); mes "Wait for ^FF0000"[email protected]+" Minutes^000000."; close; } [email protected] = instance_create( [email protected]$, getcharid( 3 ), IOT_CHAR); if( [email protected] < 0 ) { dispbottom "Instance Failed."; close; } dispbottom "" + [email protected]$ + "- Attempting to create Farm Instance."; if( instance_attachmap("1[email protected]",[email protected]) == "" ) { instance_destroy( [email protected] ); dispbottom "Failed to instance [email protected]"; end; } dispbottom "" + [email protected]$ + " attempt successful on Instance attach!"; instance_set_timeout( 3600, 300, [email protected] ); instance_init( [email protected] ); instance_attach [email protected]; 'cid = getcharid(0); 'aid = getcharid(3); FarmIns_cooldown = gettimetick(2) + 3600; // 1 hour cooldown warp instance_mapname("[email protected]",[email protected]),166,130; end; case 2: close; end; } close; } //===================================================== /* [Farm Zone] Gold Room Information/How-To Setup: 'GRRate - The rate at which they obtain Gold, which is in %. So 50 = 50%. .GRDelayMin - Controls Time Limit of Re-entering: 1 = 1 Minute, 2 = 2 Minute, etc. .MaxGRLimit - Max amount of Gold they can Farm until instance is complete, if they don't reach max amount they just complete the instance. 'MOB1ID/MOB2ID - Select the ID of the monster you want. 'MOB1AM/MOB2AM - Select the Amount of designated Monsters you want to spawn. NOTE: Don't make the .MaxGRLimit exceed the total amount of monsters you selected to spawn. Otherwise, they will never reach the Max Limit. All other variables do not touch, especially the Count, and the Start. ('Farm_Count and 'Farm_Start) */ //===================================================== [email protected],28,23,1 script IxGR#Ins FAKE_NPC,{ OnInstanceInit: .GRDelayMin = (1/10); .MaxGRLimit = 1000; 'GRRate = 5; 'MOB1ID = 1002; 'MOB2ID = 1113; 'MOB1AM = 40; 'MOB2AM = 35; 'MobTOTAL = 'MOB1AM+'MOB2AM; 'Farm_Count = 0; 'Farm_Start = 0; if (!'Farm_Start) { donpcevent instance_npcname("IxGR#Ins")+"::OnGRFarmStart"; 'Farm_Start++; end; } OnGRFarmStart: //instance_announce -1,"[Farming Instance] Enjoy farming some Gold!",bc_map; monster instance_mapname("[email protected]"),0,0,"[ Farm Zone ] Gold Holder",'MOB1ID,'MOB1AM,instance_npcname("IxGR#Ins")+"::OnFarmGR"; monster instance_mapname("[email protected]"),0,0,"[ Farm Zone ] Gold Guest",'MOB2ID,'MOB2AM,instance_npcname("IxGR#Ins")+"::OnFarmGR"; end; OnFarmGR: 'dMon = killedrid; if ( #GRHunt >= .MaxGRLimit ) { dispbottom "[ Farm Zone ] : You are trying to abuse Farm Zone! Prematurely ending."; sleep2 500; #GRRoomDelay = gettimetick(2) + ( .GRDelayMin * 60 ); #GRHunt = 0; warp "prontera",150,185; instance_destroy(); end; } monster instance_mapname("[email protected]"),0,0,"[ Farm Zone ] Gold Holder",'dMon,'MOB1AM,instance_npcname("IxGR#Ins")+"::OnFarmGR"; if ( rand(100) < 'GRRate ) { #GRHunt++; 'Farm_Count++; dispbottom "[ Farm Zone ] : Farmed "+#GRHunt+" / "+.MaxGRLimit+" Gold."; if( #GRHunt >= .MaxGRLimit ) { getitem 969, 1; message strcharinfo(0),"Limit Reach , you may join again later."; sleep2 500; #GRRoomDelay = gettimetick(2) + ( .GRDelayMin * 60 ); warp "prontera",150,150; instance_destroy(); end; } getitem 969, 1; dispbottom ( " Current farm Count :: " + 'Farm_Count + " Hunted Gold Count :: " + #GRHunt ) ; donpcevent instance_npcname("IxGR#Ins")+"::OnGRFarmCount"; } else { 'Farm_Count++; dispbottom ( " Current farm Count :: " + 'Farm_Count + " Hunted Gold Count :: " + #GRHunt ) ; donpcevent instance_npcname("IxGR#Ins")+"::OnGRFarmCount"; end; } end; OnGRFarmCount: if ('Farm_Count >= 'MobTOTAL) { // modified >> .MaxGRLimit << if( attachrid('aid) ) if( getcharid(0) == 'cid ) { instance_announce -1,"[Farming Instance] Farming instance Completed.",bc_map; #GRRoomDelay = gettimetick(2) + ( .GRDelayMin * 60 ); sleep2 5000; instance_destroy(); end; } else end; } } 1. I was borrowing instance script ( Forgot where I collected this script from but it's from herc.ws) but it's always randomly terminate by this line: dispbottom "[ Farm Zone ] : You are trying to abuse Farm Zone! Prematurely ending."; or some time randomly terminate. 2. the script is suppose to let you player to kill 1000 mobs with repeated spawning of dead mobs but it's working randomly because of random termination of instance.
  14. Another thing I forgot 1. Can plugins be "rojak" into one plugin? 2. Is that consider healthy practice ???
  15. From this file : plugin-sample.vcxproj can it be modified to load multiple .c file? as in mapcache.c customplugin1.c .... etc inside one plugin-sample.vcxproj? The reason to mash up plugin ==> SSD is hyper expensive storage option... compare to HDD
  16. - script BmapMobList -1,{ OnInit: bindatcmd "mapmoblist2", strnpcinfo(0)+"::Onaaa"; end; Onaaa: if ( [email protected]_numparameters ) { if ( getmapusers([email protected]_parameters$) == -1 ) { dispbottom "Map not exist"; end; } [email protected]$ = [email protected]_parameters$; } else [email protected]$ = strcharinfo(3); [email protected] = getunits( BL_MOB, [email protected], false, [email protected]$ ); freeloop true; for ( [email protected] = 0; [email protected] < [email protected]; [email protected] ) { [email protected]$ = rid2name([email protected][[email protected]]); if ( !getd("[email protected]"+ [email protected]$) ) { [email protected]$[[email protected]] = [email protected]$; getmapxy [email protected]$, [email protected], [email protected], UNITTYPE_MOB, [email protected][[email protected]]; [email protected][[email protected]] = [email protected]; [email protected][[email protected]] = [email protected]; [email protected][[email protected]] = getunitdata( [email protected][[email protected]], UDT_HP ); [email protected][[email protected]] = getunitdata( [email protected][[email protected]], UDT_MAXHP ); [email protected]; } setd "[email protected]"+ [email protected]$, getd("[email protected]"+ [email protected]$) +1; } dispbottom " === These are monsters in "+ [email protected]$ +" ==="; for ( [email protected] = 0; [email protected] < [email protected]; [email protected] ) if ( getd("[email protected]"+ [email protected]$[[email protected]]) ) dispbottom ( [email protected] )+". "+ [email protected]$[[email protected]] +" : "+ getd("[email protected]"+ [email protected]$[[email protected]])+"x"; if ( getgmlevel() < 99 ) end; // Hercules doesn't catch dead monsters as being alive dispbottom " === Location of unique monsters === "; for ( [email protected] = 0; [email protected] < [email protected]; [email protected] ) if ( getd("[email protected]"+ [email protected]$[[email protected]]) == 1 ) dispbottom [email protected]$[[email protected]] +" --> X = "+ [email protected][[email protected]] +" Y = "+ [email protected][[email protected]] +" | Hp left = "+ [email protected][[email protected]] +"/"+ [email protected][[email protected]]; end; } As topic as requested don't blame me multi topic spamming..
  17. 1. What to change if this occur? 2. can that be created?? somehow? 3. On the pass some forum restrict people from flooding topic in forum...which is something I faced before so ... the reason I did mashup topic. this forum encourage flooding then??
  18. #include "common/hercules.h" #include "map/pc.h" #include "common/nullpo.h" #include "plugins/HPMHooking.h" #include "common/HPMDataCheck.h" HPExport struct hplugin_info pinfo = { "blockexp", SERVER_TYPE_MAP, "0.1", HPM_VERSION, }; bool pc_authok_post( bool retVal, struct map_session_data *sd, int login_id2, time_t expiration_time, int group_id, const struct mmo_charstatus *st, bool changing_mapservers ) { if ( retVal == false ) return false; if ( pc_readglobalreg( sd, script->add_variable("blockexp") ) == true ) clif->message( sd->fd, "@blockexp turn ON." ); return true; } bool pc_gainexp_pre( struct map_session_data **sd, struct block_list **src, uint64 *base_exp, uint64 *job_exp, bool *is_quest ) { nullpo_ret(*sd); if ( *src == NULL && pc_readglobalreg( *sd, script->add_variable("blockexp") ) == true ) *base_exp = 0; return true; } void pc_calcexp_post( struct map_session_data *sd, uint64 *base_exp, uint64 *job_exp, struct block_list *src ) { if ( pc_readglobalreg( sd, script->add_variable("blockexp") ) == true ) *base_exp = 0; return; } ACMD(blockexp) { if ( pc_readglobalreg( sd, script->add_variable("blockexp") ) ) { clif->message( sd->fd, "@blockexp turn OFF." ); pc_setglobalreg( sd, script->add_variable("blockexp"), false ); } else { clif->message( sd->fd, "@blockexp turn ON." ); pc_setglobalreg( sd, script->add_variable("blockexp"), true ); } return true; } HPExport void plugin_init(void) { addHookPre( pc, gainexp, pc_gainexp_pre ); addHookPost( pc, calcexp, pc_calcexp_post ); addAtcommand( "blockexp", blockexp ); } As Topic
  19. 1. ok what should be changed to fix that?? should I change that variable to instance variable?? or should it be player temporary variable?? whenever player starts the instance by talking to the npc? this instance script need to chew upon to understand. 2. The cases is that in that particular instance it runs till killed monster 75 or 77 then it terminates or randomly terminate.
  20. thanks for 2 and 3 but what am I right about 1?? I thought I make something broken??? and about 3 if I put this part into item script strnpcinfo(NPC_NAME)+"::Onaaa" I need change the part strnpcinfo(NPC_NAME) to make it work, correct?
  21. 1. how to make it not list clone monster? or slaveclone? 2. can it be use as script onPCLogin?? and does this one stop gaining exp from mvp too? 3. is there a way to sort inventory item ?? be it by item id or item name (ascending sort) ? 4 how to make sanctuary only heal allies ( party guild and slave clone ) but not enemies ( anything that is hostile to player ) 5 clone or slave clone or evil clone can kill emperium how do I prevent this happen? when player are not in guild.. 6 why is it only when player are in guild it shows your party and when player are not in guild not showing party name??? 7. can we combine multiple plugins into one file ?? What my plugin way is edit >> plugin-sample.vcxproj search for word sample replace with PluginName then save as plugin-PluginName.vcxproj then add existing project in visual studio and compile which resulting in multiple folder in vcproj-15 with various sizes of multiple file so the end question is can I combine different multiple plugins into one file??
  22. shops

    question 1: what is HULD compatible??? question 2: you mean there's a merge of Feature 1~4 in one script of this lotti girl? which I wonder if it's seperated or merged.
  23. I have a broken pet egg exchanging old egg to new egg script which need help in fixing. - script F_PetTrader FAKE_NPC,{ disable_items; getinventorylist; for ( [email protected] = 0; [email protected] < @inventorylist_count; [email protected] ) { [email protected]_type = getiteminfo( @inventorylist_id[[email protected]], ITEMINFO_TYPE ); if ( [email protected]_type == IT_PETEGG ) { if ( .petid[ @inventorylist_id[.[email protected]] ] && [email protected][ @inventorylist_id[[email protected]] ] ) { [email protected][[email protected]++] = @inventorylist_id[[email protected]]; [email protected][ @inventorylist_id[[email protected]] ] = false; } } } [email protected]$ = "+&Sort&Count&Item&Name+&^FF0000Quit^000000:"; for ( [email protected] = 0; [email protected] < getarraysize([email protected]); [email protected] ) { mes getitemname( [email protected][[email protected]] ); [email protected]$ += [email protected] + " " + countitem([email protected][[email protected]] ) + " " + getitemname([email protected][[email protected]]) + " :"; dispbottom ( " [email protected] :: " + [email protected] + " Count item :: " + countitem([email protected][[email protected]] ) + " ItemName :: " + getitemname([email protected][[email protected]]) ) ; } [email protected] = select([email protected]$)-1; if ( [email protected] > getarraysize([email protected]) ) { dispbottom ( " Dont mess with bug or I bug you! " ) ; close2; end; } else { mes (" [email protected] " + [email protected] ); [email protected] = [email protected][[email protected]]; [email protected] = countitem([email protected][[email protected]] ); if ( [email protected] ) { delitem ( [email protected], [email protected] ) ; makepet ( [email protected] ); mes ( " Exchanged :: " + [email protected] + " of " + [email protected] ) ; } else { dispbottom ( " [email protected] :: " + [email protected] + " [email protected] :: " + [email protected] ) ; } } close; OnInit: [email protected] = query_sql( "select id from item_db where type & "+( 7 ), [email protected] ); freeloop true; for ( [email protected] = 0; [email protected] < [email protected]; [email protected] ) .petid[ [email protected][[email protected]] ] = true; end; } It is suppose to list what egg in player inventory but always returning poring egg.. sometimes nothing is listed..or 0 somewhere is broken and I failed to find out where and the [email protected]$ part is confusing for me since it's not something I always messing with.
  24. Yes woe script is messy for me to get my hand on .. its a web hard to know where to where.. 1 original guardian + extra guardian (auto respawn) Was meant for harder woe conquering. If not conquer can it be spawned too? With auto respawn. 2 correcto..I fail to get the point of it. If you will do show me how will I merge those extra part into the woe-fe and worse script.