Jump to content

AnnieRuru

Script Developers
  • Content Count

    1677
  • Joined

  • Last visited

  • Days Won

    245

Everything posted by AnnieRuru

  1. LOL you mixed up both sql query, this one added the index alter table `char` add empbreak smallint(6) unsigned not null default 0 after unban_time, add index (empbreak);.. npc/guild/agit_main.txt query_sql "UPDATE `char` SET empbreak = empbreak+1 WHERE char_id = " + getcharid(0);which is already correct. . ////============================//// Emp Breaking Ladder////============================prontera,155,183,4 script Emperium Ranking 722,{ .@nb = query_sql( "select name, empbreak from `char` where empbreak > 0 order by empbreak desc limit 10", .@name$, .@empbreak ); mes "^FF0000[ Emperium Ranking ]^000000"; for ( .@i = 0; .@i < .@nb; .@i++ ) mes "^0000FF"+ ( .@i +1 ) +".^000000 " + .@name$[.@i] +" - ^FF0000"+ .@empbreak[.@i] +"^000000 Break(s)"; mes " "; query_sql "select empbreak from `char` where char_id = "+ getcharid(0), .@empbreak; mes "^0000FF["+ strcharinfo(0) +"'s]^000000 Emperium Break's is ^FF0000" + .@empbreak + "^000000 Break(s)"; close;OnInit:// waitingroom "Emperium's Ranking",0; // Look on the configuration! end;}use this script
  2. [Warning]: Unexpected type for argument 1. Expected variable, got C_INT.[Debug]: Data: number value=1002[Debug]: Function: set[Debug]: Source (NPC): poringwin (invisible/not on a map)[Error]: script:set: not a variable[Debug]: Data: number value=1002[Debug]: Source (NPC): poringwin (invisible/not on a map)if you look for map-server.exe for error then you know how to fix it
  3. this should belongs to source modifications, move http://herc.ws/board/tracker/issue-7894-battlegrounds-emblem-and-guardian/ if developer fix this bug, then I might be able to find the code for this modification ... the trick should be ... make 2 fake guild and put emblems on it so when battleground starts, clif send that fake guild emblem
  4. wait ... that ... patch is just introducing set_constant ... how can you get the bug for making a clone of yourself ? if your server is producing clones, then try search for an item that will *clone or @slaveclone prontera,156,183,5 script kjdhfksfj 100,{ getmapxy .@map$, .@x, .@y, 0; clone .@map$, .@x, .@y, "", getcharid(0), getcharid(0); atcommand "@slaveclone "+ strcharinfo(0); end;}or maybe I misunderstood your question ?
  5. WOOOOAAAAHHHHH !!!*go dig a hole and hides* blame myself for never play with channel system .....
  6. http://herc.ws/wiki/Diff#Using_.diff.2F.patch_files_to_patch_your_server ... lazy to explain this very ... fundamental steps ...
  7. http://herc.ws/board/topic/4700-guild-alliance-chat-ally/ I honestly think this code is very easy, but wonder why he wants to make another function for it ... I already optimized it
  8. Download: plugin <-- for those who knows how to install plugin patch <-- for those who thinks plugin is pain I don't think there's anything special about this mod yes it is, I sooo feels stupid now hercules already have #ally chat
  9. HAHAHA !!! nice spot set .@size, getarraysize( getd("@ms_b_n_"+ strnpcinfo(2)) ); for ( set .@i, 1; .@i < .@size; set .@i, .@i +1 ) { if ( getd("@ms_b_n_"+ strnpcinfo(2) +"[0]") != atoi( gettimestr("%Y%m%d", 9) ) && getd(".ms_b_m_"+ getd("@ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[6]") == 1 || getd(".ms_b_m_"+ getd("@ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[6]") == 0 ) { deletearray getd("@ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]"), 1; set .@i, .@i -1 ; } }I didn't test but I think its in this line that chunk of code needs to add set .@size, .@size -1; set .@size, getarraysize( getd("@ms_b_n_"+ strnpcinfo(2)) ); for ( set .@i, 1; .@i < .@size; set .@i, .@i +1 ) { if ( getd("@ms_b_n_"+ strnpcinfo(2) +"[0]") != atoi( gettimestr("%Y%m%d", 9) ) && getd(".ms_b_m_"+ getd("@ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[6]") == 1 || getd(".ms_b_m_"+ getd("@ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]") +"[6]") == 0 ) { deletearray getd("@ms_b_n_"+ strnpcinfo(2) +"["+ .@i +"]"), 1; set .@i, .@i -1 ; set .@size, .@size -1; // <-- this } }
  10. ahhh ! no wonder ...I read battleground.c, but the culprit is at map.c . . currently its only meant for battleground because what I heard from Ind,he says every party, guild and individual players will chunk together into 2 battleground team so currently there is no way to set it into a guild vs guild or party vs party script yet, until a battleground.conf setting can actually only enable the guild button, then only it can be use for guild vs guild script . . I rather think the whole "&& !sd->bg_queue.arena" should be removeso it will become like if( sd->bg_id ) bg->team_leave(sd,1);if that player is in any battleground team, they should leave when they log out I think no need to report until they fully make this system functional ... I also spotted a few bugs here and there ... this system is not yet finish anyways
  11. I think you mean this script https://github.com/HerculesWS/Hercules/blob/master/npc/custom/woe_controller.txt#L70
  12. hahaha ... didn't I already said this before already ? http://herc.ws/board/topic/4501-mission-board-repeatable-problem/?p=29183 when I made the script, the freeloop command wasn't even implemented, so we do sheep counting ... sheep counting = count how many loops and put sleep2 accordingly actually, just bump up your check_gotocount SHOULD have fix that problem https://github.com/HerculesWS/Hercules/blob/master/conf/script.conf#L10 change 2048 until 2048000 prepare to lag your server ... hahaha that's the reason I always wants to rewrite this script ... that was my 3rd generation script ... now I'm using 4th generation scripting style and I learned a few methods on how to optimized using string manipulations
  13. I still think that's a bug because there is a workaround for this ... detachrid prontera,156,189,5 script Raid 100,{ dispbottom "Aww...You hit the wrong one! Try again next time!"; .@aid = getcharid(3); detachrid; unitkill .@aid;// sleep 2000; if ( !attachrid(.@aid) ) end; warp "prontera",156,184; end;}in the source code it says ... if ( sd->st->state ) ... so if detachrid, then sd is not read, thus it work
  14. well, using rathena so ... you don't have to do source modification too bindatcmd can overwrite the original atcommand, useful for this operation - script kdjhfksjfhs -1,{OnInit: bindatcmd "go", strnpcinfo(0)+"::Onaaa"; bindatcmd "rura", strnpcinfo(0)+"::Onaaa"; bindatcmd "warp", strnpcinfo(0)+"::Onaaa"; bindatcmd "mapmove", strnpcinfo(0)+"::Onaaa"; end;Onaaa: if ( !Hp ) { message strcharinfo(0), "You can't use "+ .@atcmd_command$ +" when you are dead"; end; } atcommand .@atcmd_command$ +" "+ implode( .@atcmd_parameters$, " " ); end;}
  15. that's a very reassuring answer .. fixed http://upaste.me/0fd910896b0cf5621
  16. I despise giving the reward to all guild members because they can always @autotrade just outside the castle to gain multiple rewards so ... you want to give the rewards to all online guild members ? or including offline guild members
  17. ////============================//// Emp Breaking Ladder////============================prontera,155,183,4 script Emperium Ranking 722,{ .@nb = query_sql( "select char_id as aaa, ( select name from `char` where char_id = aaa ), value from char_reg_num_db where `key` = 'brokeemp' and value > 0 order by value desc limit 10", .@cid, .@name$, .@value ); mes "^FF0000[ Emperium Ranking ]^000000"; for ( .@i = 0; .@i < .@nb; .@i++ ) mes "^0000FF"+ ( .@i +1 ) +".^000000 " + .@name$[.@i] +" - ^FF0000"+ .@value[.@i] +"^000000 Break(s)"; mes " "; mes "^0000FF["+ strcharinfo(0) +"'s]^000000 Emperium Break's is ^FF0000" + brokeemp + "^000000 Break(s)"; close;OnInit:// waitingroom "Emperium's Ranking",0; // Look on the configuration! end;}should be like this though I also recommend the way like @nostafuz proposed alter the `char` table and indexed the column so it won't search over the whole table ..
  18. this is a bug reported -> http://herc.ws/board/index.php?app=tracker&showissue=8062
  19. no, you have to do it while attachrid them 1 by 1 I can actually spoon feed again ... but since you hate it, then how about like this 1. show me a script and list out how many apples in every online party member is carrying 2. then announce that party name along the sum of apples in all the online party member has it should have something like for ( .@i = 0; .@i < party_size; .@i++ ) { mes ( .@i +1 ) +". "+ player_name +" is carrying "+ countitem(apple); // list out the player name in party with the amount of apple that player is carrying announce party_name +" carrying total apple of "+ sum(apple), bc_all; // announce the total apple in that party close;show me the correct way of doing this PS: going to be a long ... topic
  20. http://herc.ws/board/topic/4593-getmemberaid/ just 3 seconds should be enough ...
  21. http://rathena.org/board/topic/91930-how-to-know-if-the-monster-kill-you-or-a-human/?p=241994 not good enough if you killed by pets, homunculus or mercenary, it also return ID above 100000000
  22. ok I write the script http://upaste.me/c94110887580df86c though its much harder than I initially thought even when I'm debugging the script, I have to keep on moving out and in from the screen to actually see the emblem I'm out, don't want to do this anymore
  23. impossible the flag emblem, has to be walk out and in, then only the emblem on the flag change if the player just stand there, they wont notice the emblem has changed, but other people can see it prontera,154,183,5 script ksdjfksjf 722,{ flagemblem getcharid(2);}click on this npc then you know what I mean EDIT: https://github.com/HerculesWS/Hercules/blob/master/doc/script_commands.txt#L6754
  24. then you need to make 12 items 1 to catch the valkyrie in the inventory 11 for the box to open with different refine rates -> 0~10 /*replace into item_db2 ( id, name_english, name_japanese, type, price_buy, price_sell, weight, equip_upper, script ) values( 31000, 'Valkyrie_box_catch', 'Valkyrie_box_catch', 11, 1,1,10, 63, 'callfunc "catch_valkyrie_armor";' ),( 31001, 'Valkyrie_box_open_0', 'Valkyrie_box_open_0', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31001, 0;' ),( 31002, 'Valkyrie_box_open_1', 'Valkyrie_box_open_1', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31002, 1;' ),( 31003, 'Valkyrie_box_open_2', 'Valkyrie_box_open_2', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31003, 2;' ),( 31004, 'Valkyrie_box_open_3', 'Valkyrie_box_open_3', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31004, 3;' ),( 31005, 'Valkyrie_box_open_4', 'Valkyrie_box_open_4', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31005, 4;' ),( 31006, 'Valkyrie_box_open_5', 'Valkyrie_box_open_5', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31006, 5;' ),( 31007, 'Valkyrie_box_open_6', 'Valkyrie_box_open_6', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31007, 6;' ),( 31008, 'Valkyrie_box_open_7', 'Valkyrie_box_open_7', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31008, 7;' ),( 31009, 'Valkyrie_box_open_8', 'Valkyrie_box_open_8', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31009, 8;' ),( 31010, 'Valkyrie_box_open_9', 'Valkyrie_box_open_9', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31010, 9;' ),( 31011, 'Valkyrie_box_open_10', 'Valkyrie_box_open_10', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31011, 10;' );*/function script catch_valkyrie_armor { getinventorylist; for ( .@i = 0; .@i < @inventorylist_count; .@i++ ) { if ( @inventorylist_id[.@i] == Valkyrie_Armor ) { delitem2 @inventorylist_id[.@i], 1, @inventorylist_identify[.@i], @inventorylist_refine[.@i], @inventorylist_attribute[.@i], @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i]; getitem2 31001 + @inventorylist_refine[.@i], 1, 1, 0, 0, @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i]; delitem Valkyrie_box_catch, 1; end; } } dispbottom "You don't have "+ getitemname(Valkyrie_Armor) +" in your inventory"; end;}function script get_valkyrie_armor { getinventorylist; for ( .@i = 0; .@i < @inventorylist_count; .@i++ ) { if ( @inventorylist_id[.@i] == getarg(0) ) { delitem2 @inventorylist_id[.@i], 1, 1, 0, 0, @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i]; getitem2 Valkyrie_Armor, 1, 1, getarg(1), 0, @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i]; end; } } dispbottom "shouldn't reach here ... if reach here, then its bug"; end;}EDITED ...
  25. I always forgot to put mapflags lol, try put them in already edited
×
×
  • Create New...

Important Information

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