Jump to content

AnnieRuru

Members
  • Posts

    2044
  • Joined

  • Last visited

  • Days Won

    51

Everything posted by AnnieRuru

  1. https://rathena.svn....t_variables.txt I believe its better to use bits to set the quest completed or not or you can try keyworld's setbit function ... (lol I think I'm going too far)
  2. about viewpoint I think I need to loop through every battleground members at the same time when a flag is captured and the color adjustment need to set to white if neutral however like I said the viewpoint in RO system is not perfect I can feel the location is slightly off from the mini-map which, this one need to tweak again after the map is complete and 2nd one, currently my respawn system is respawn to the nearest captured flag but Eradicate said the respawn point should be the last captured flag from team members ... so weird I don't understand why wow use this kind of respawn system, but its do-able don't worry, I think I can script everything out of this by my ownself EDIT: I start to have doubt about the respawn system or issit... players can go to the captured flag to set to respawn there ?
  3. sometimes we don't like how the official behavior works can't you guys add a configuration in conf\battle\skill.conf setting there and do like member ask ? set it as official behavior 1 ( default ) and custom, intended behavior as 2
  4. damn ... if everyone can make explanation like this in script request section ... I'm sure script request section will become very interesting I think I can handle the script part, no problem however currently Olrox is currently making this WoE EX Castles by Olrox [Free Release Project] - Morroc theme I'm not sure if he is interested to adjust his current project to substitute yours still, we missing map designer for this I think I try out with Olrox 1st, then ... since I've work together with Olrox and DevilEvil before, next one I always want to try is Syouji EDIT: no, I don't think this woe and that battleground script can merge together ... this script (gvg) and that script (battleground) is totally different ones ... but still, I think I'll try contact a few map designers that like to take part in this one EDIT2: seems like there's 7 emperium rooms, its a prime number so its hardly can get same ... unless its 3-3-1, oh well
  5. move topic to source modification ? lol I'm not interested in making skill modification though, I only prefer script type source modification
  6. hmm ... isn't barricade is a plant type monster that only receive 1 damage per hit ? then anyone with highest aspd can break it off easily I suggest we do something like OnPCAttackEvent, and it return a variable @damage, and use it in scripts to keep track the damage done to mobs when I have some free time, maybe I'll make this modification to prove this rumor right or wrong
  7. put sleep 1; under OnInit label then
  8. if you mean u want to make a OR condition like this if ( countitem(unlimited poison bottle) ) { useskill enchant deadly poison }else if ( countitem(poison bottle) ) { delitem poison bottle useskill enchant deadly poison } you have to do something like this in the skill.c afterall, skill_require_db.txt only applicable with AND condition
  9. search key word: ammo, ammunition http://www.eathena.ws/board/index.php?showtopic=270221
  10. I don have the ability to hex a client like shinryo or create a new custom effect modification like devilevil so no ... but if you do it with bleed status it just bonus2 bAddEff,e,x;
  11. seriously, parse_simpleexpr: unmatch ')' 15 : if (checkweight(607,500) == 0 ) goto overWeight; 16 : if (countitem(7073) < 1) goto noCoupon; 17 : mes @name$; 18 : mes "How many coupon to berries?"; 19 : input .@num; * 20 : if (countitem(7073 < .@num)'{' 21 : mes @name$; 22 : mes "Insufficient coupon!"; 23 : close; 24 : }else 25 : { parse_line: need ';' 31 : } 32 : case 2: 33 : if (checkweight(7073,1) == 0 ) goto overWeight; 34 : if (countitem(500) < 1) goto noBerry; 35 : mes @name$ * 36 : 'm'es "How many berries to coupon?"; 37 : input .@num2; 38 : if (countitem(607) < .@num2){ 39 : mes @name$; 40 : mes "Insufficient berries!"; 41 : close; do you need other people to post out the error for you ?
  12. then make a npc for it o.o mes "I can make a guild ..."; if ( countitem("emperium")== 0 ) { don have ... } input .@name$; atcommand "@guild "+ .@name$ watever
  13. I want to know how to reproduce that bug, step by step and I don't want to hear some noob gm right-click kill npc <.<
  14. actually I also think that's the problem I noticed most of the maps in graphic release section are either custom towns or marketplace ... its very rare to see them makes an event map ... only a few pvp map, not even 1 gvg map or battleground maps because they don't know how to write event script themselves ! ... with the exception of Aerie .... and yes ... without a map, this topic discussion will not go anywhere maybe can try find an official RO map to substitute in I also think we from scripting section side should work together with members from graphic section more often like this and this heh ... kinda fun make something extraordinary once in a while EDIT: hmm ... this also counts just browse through that section and can't seem to find a good one for this
  15. I believe bindatcmd is works for ALL players what you are doing now is like, you only want to make change to that particular player, but you set a global variable <.< I believe this is how this command should works we shouldn't overwrite the original atcommands and you should try multi-client to check 1 side can use, another side can't use because it set globally if I understand correctly that u need that command limited to prontera only I believe you need to edit atcmd(refresh) in atcommand.c directly which ... isn't very hard to do if you can read source
  16. I finished this script in less than 10 minutes, but took me over 3 hours to write out battle.c, so noob me sql-files REPLACE INTO `mob_db2` VALUES (2901,'EMPERIUM_1','Emperium','Emperium',90,5,1,0,0,1,60,73,64,50,1,17,80,50,26,20,10,12,0,8,26,0x160,300,1288,288,384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); REPLACE INTO `mob_db2` VALUES (2902,'EMPERIUM_2','Emperium','Emperium',90,5,1,0,0,1,60,73,64,50,1,17,80,50,26,20,10,12,0,8,26,0x160,300,1288,288,384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); REPLACE INTO `mob_db2` VALUES (2903,'EMPERIUM_3','Emperium','Emperium',90,5,1,0,0,1,60,73,64,50,1,17,80,50,26,20,10,12,0,8,26,0x160,300,1288,288,384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); REPLACE INTO `mob_db2` VALUES (2904,'EMPERIUM_4','Emperium','Emperium',90,5,1,0,0,1,60,73,64,50,1,17,80,50,26,20,10,12,0,8,26,0x160,300,1288,288,384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); REPLACE INTO `mob_db2` VALUES (2905,'EMPERIUM_5','Emperium','Emperium',90,5,1,0,0,1,60,73,64,50,1,17,80,50,26,20,10,12,0,8,26,0x160,300,1288,288,384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0); db\mob_avail.txt 2901, 1288 2902, 1288 2903, 1288 2904, 1288 2905, 1288 diff Index: battle.c =================================================================== --- battle.c (revision 16821) +++ battle.c (working copy) @@ -5021,6 +5021,24 @@ if( (s_bl = battle_get_master(src)) == NULL ) s_bl = src; + if ( s_bl->type == BL_PC && t_bl->type == BL_MOB ) { + struct map_session_data *sd = BL_CAST( BL_PC, s_bl ); + struct mob_data *md = BL_CAST( BL_MOB, t_bl ); + if ( !strcmp( mapindex_id2name(sd->mapindex), "prontera" ) ) { + if ( md->class_ >= 2901 && md->class_ <= 2905 && battle_getcurrentskill(src) > 0 ) + return 0; + if ( + md->class_ == 2901 && sd->status.guild_id == mapreg_readreg( add_str( "$@woe_5emp_1" ) ) || + md->class_ == 2902 && sd->status.guild_id == mapreg_readreg( add_str( "$@woe_5emp_2" ) ) || + md->class_ == 2903 && sd->status.guild_id == mapreg_readreg( add_str( "$@woe_5emp_3" ) ) || + md->class_ == 2904 && sd->status.guild_id == mapreg_readreg( add_str( "$@woe_5emp_4" ) ) || + md->class_ == 2905 && sd->status.guild_id == mapreg_readreg( add_str( "$@woe_5emp_5" ) ) + ) { + return 0; + } + } + } + if ( s_bl->type == BL_PC ) { switch( t_bl->type ) { case BL_MOB: // Source => PC, Target => MOB Index: battle.h =================================================================== --- battle.h (revision 16821) +++ battle.h (working copy) @@ -3,6 +3,7 @@ #ifndef _BATTLE_H_ #define _BATTLE_H_ +#include "mapreg.h" // state of a single attack attempt; used in flee/def penalty calculations when mobbed typedef enum damage_lv { script - script woe -1,{ OnWhisperGlobal: announce "woe started", 0; for ( .@i = 1; .@i <= 5; .@i++ ) monster "prontera", 149 + .@i *3, 185, "Emperium No."+ .@i, 2900 + .@i, 1, strnpcinfo(0)+"::On"+ .@i; end; On1: callsub L_down, 1; On2: callsub L_down, 2; On3: callsub L_down, 3; On4: callsub L_down, 4; On5: callsub L_down, 5; L_down: announce strcharinfo(2) +" has broken Emperium No. "+ getarg(0), 0; setd "$@woe_5emp_"+ getarg(0), getcharid(2); monster "prontera", 149 + getarg(0) *3, 185, "Emperium No."+ getarg(0), 2900 + getarg(0), 1, strnpcinfo(0)+"::On"+ getarg(0); end; } ok, this is still a sketch script, but since the idea has been become real, now its better to get the topic roll faster still, you still missing - tell how the victory condition properly - *EDIT* confirm this is a pvp/gvg/ or battleground script - and the MAP !! btw, did anyone experience having client crash when multi-client ? especially login in this prontera map, having shown this emperium stuff EDIT: seems to be cause by emperium id 1288 inside mob_avail when change 1288 into 1915 doesn't give gravity error ... hmm ...
  17. AnnieRuru

    @mi

    http://www.eathena.ws/board/index.php?showtopic=272124 wild guess ... you using 3ceam or eamod ? EDIT: let me try out in this rathena ... EDIT2: quite confirm this bug ... sometimes able to reproduce ... sometimes can't like bloody knight can, but emperium/empelium can't
  18. AnnieRuru

    npc_error

    or maybe some noob GM right click on the npc to kill it ? o.O
  19. omg your engrish @_@though you can try something like OnPCUseSkillEvent and just like lighta said, using atcommand or script commands for activating skills is bad practice ( I also mentioned it in that post ) but this is 1 of the easier method to get the job done ( which I also mentioned it ... mainly use for event purposes )
  20. I'm interested on this one reminds me of ... some other rpg games Incineration -> burn down enemy hp by 0.5% every second, for 4 seconds (total 2% hp reduce if success, damage lower on boss) I believe rathena doesn't have this one well ... kinda similar to bleed status though
  21. the answer is OFFSET select * from mob_db limit 10 OFFSET 5; but yeah ... putting a limit 5,5 also works, like you did select * from mob_db limit 5,10;
  22. how the **** can you get npc_checknear error from a floating npc ???? unless you are using some other emulator like eamod or other eathena ?
  23. I'm having fun with your script, unedited u know ... it reminds me back in the days when some random members made endless tower b4 eathena has it http://www.eathena.ws/board/index.php?s=&showtopic=183810&view=findpost&p=1010571 in less than 12 hours the topic posted, everyone start play with his script, but I fixed it 1st haha ... some nice old days ..
  24. switch(select(.@md_name$ + "Enter the dungeon:Return to Alberta:Cancel")) { case 1: if (has_instance("1@tower") == "") { mes "The memorial dungeon " + .@md_name$ + " does not exist."; mes "The party leader did not generate the dungeon yet."; } else if ((has_instance("1@tower") != "") && (.@partymembercount < 2)) mes "You can enter the dungeon after making a party."; else { mapannounce "e_tower", .@p_name2$ + " of the party, " + .@p_name$ + ", is entering the dungeon, " + .@md_name$ + ".",bc_map,"0x00ff99",FW_NORMAL,12; set etower_timer,gettimetick(2); setquest 60200; setquest 60201; warp "1@tower",52,354; end; } break; the elseif and else part is the one to modify if you want to limit it into only 1 player
×
×
  • Create New...