Jump to content

AnnieRuru

Script Developers
  • Content Count

    1677
  • Joined

  • Last visited

  • Days Won

    245

Everything posted by AnnieRuru

  1. instead of increasing MATK its better to let MVPs cast higher level skill example, like them cast level20 firebolt, etc etc and to increase HIT, increase the dex http://herc.ws/wiki/Custom_Mobs
  2. ACMD(chkally) { struct guild * g = guild->search( sd->status.guild_id ); struct map_session_data * pl_sd = map->nick2sd( message ); if ( !message || !*message ) { clif->message( fd, "empty" ); return false; } else if ( !g ) { clif->message( fd, "you don't have a guild" ); return false; } else if ( !pl_sd ) { clif->message( fd, "the input player is not exist or not online" ); return false; } else { struct guild * pl_g = guild->search( pl_sd->status.guild_id ); int i = 0; if ( !pl_g ) { clif->message( fd, "the input player doesn't have a guild" ); return false; } ARR_FIND( 0, MAX_GUILDALLIANCE, i, pl_sd->status.guild_id == g->alliance[i].guild_id ); if ( sd->status.guild_id == pl_sd->status.guild_id || i < MAX_GUILDALLIANCE ) { clif->message( fd, "that player is your guild member or guild ally" ); return true; } else { clif->message( fd, "that player is not your guild member or ally" ); return true; } }} ACMD_DEF(chkally),
  3. nah, in fact I just completed a battleground script request on rathena an hour ago lol since I'm using hercules to write, I had to convert the source modification into hercules ones in order to start writing so ... source modification http://upaste.me/637f10590efeb783e shuffle function function script rand__ { .@range = getarg(0); .@count = getarg(2, 0); if ( !.@count || .@count > .@range ) .@count = .@range; else if ( .@count > 128 ) .@count = 128; while ( .@i < .@count ) { .@r = .@save = rand( .@i, .@range -1 ) ; if ( !getd( ".@tmp1_"+ .@i ) ) { .@r = ( getd(".@tmp1_"+ .@r ) )? getd( ".@tmp2_"+ .@r ) : .@r; setd ".@tmp2_"+ .@i, .@r; setd ".@tmp2_"+ .@save , .@i; setd ".@tmp1_"+ .@save , 1; set getelementofarray( getarg(1), .@i ), .@r; if ( .@save < .@count ) set getelementofarray( getarg(1), .@save ), .@i; } .@i++; } return .@count;}and the scripthttp://upaste.me/2549105918b144448
  4. its not the same, but the script commands can easily port over honestly, when I wrote the bg queue system, the queue is done in npc script, not in the source http://rathena.org/board/topic/78493-help-in-battleground-script/?p=178573
  5. prontera,155,184,5 script sdfjksdh 100,{ end;OnInit: while(true) { specialeffect EF_HEAL; sleep 1000; } end; // shouldn't reach}
  6. first of all, do you know vending_tax is actually means the vendor has lesser income ? your source mod actually means ... if the buyer is guild member or guild ally, then vendor will be tax by that rate isn't the idea quite conflict ? and to add check guild or allies, it should be {struct guild *g = guild_search( sd->status.guild_id );if ( sd->status.guild_id == vsd->status.guild.id ||g->alliance[0].guild_id == vsd->status.guild.id ||g->alliance[1].guild_id == vsd->status.guild.id ||g->alliance[2].guild_id == vsd->status.guild.id )<is a guild member or ally guild member>;else<false condition>;}
  7. I don't think its possible to alter the /who to display non-autotrade but @who and @whomap can http://upaste.me/4d1e10585e29b0b0d you guys need to change the message.conf into other numbers ... I simply pick randomly for the script command, I think I'll propose an alternative method something like *getservermember ... just use this commmand and count respectively
  8. the problem is areawarp "quiz_01",183,81,191,59,"prontera",131,97;if the player step in the wrong box, they are immediately warp back to townso how to make 3 rounds when the players is already outside of the map ? also, although I never play with this event before, but I think this event will take quite some time to finish depends on how large your server is if there are many players who are very lucky to keep guessing right number, how long will the player have to wait for the next round ? because this event will keep going on until 1 player left
  9. the above script only check online player, it didn't check the player is doing no matter what so @afk should be able to detect
  10. I have tested this on rathena before, I don't get this kind of bug now just tested on hercules, also didn't get this kind of bug
  11. http://rathena.org/board/topic/90929-rscript/ think I write another for hercules http://upaste.me/f7881058492d6f76b can someone convert this into plugin ? I wanna see how the player variable in pc.h is added
  12. no, actually if I'm remember right fluxcp come together with a npc script that can give player to convert points from SQL table into in-game variable http://rathena.org/board/topic/91524-vote-for-points-help/?p=240266 in that topic, he needs to use 2 scripts, 1 from SQL into script varaible (from fluxcp), 1 from script variable into player's desire item( from euphy's) your table name is different, so I guess the script should be different too if you don't have that kind of script, you have to make one manually to get points from SQL table into an item
  13. then show the script that has *query_sql on this table
  14. true condition if ( Class == Job_Champion || Class == Job_Sura_T ) false condition if ( Class != Job_Champion && Class != Job_Sura_T ) http://rathena.org/board/topic/91437-mensege-console/?p=239902
  15. https://github.com/HerculesWS/Hercules/blob/master/npc/other/CashShop_Functions.txt#L43
  16. actually possible with source modifications inside skill.c when use vending skill loop through all online players and search if ( sd->ip_address == pl_sd->ip_address && !strcmp( sd->mapindex, "prontera" ) ) i++; if ( i >= 4 ) return false; // cannot use vending skill something like that but lazy to do hahaha
  17. BUILDIN(checkemblem) { struct guild *g = guild->search( script_getnum(st,2) ); if ( g && g->emblem_id ) script_pushint(st,1); else script_pushint(st,0); return true;} BUILDIN_DEF(checkemblem,"i"),.tested with prontera,155,185,5 script khdsgfjshf 100,{ if ( checkemblem( getcharid(2) ) ) dispbottom "You can join this event"; else dispbottom "Your guild needs an emblem to join King of Emperium Hill event"; end;}.. there is no need for optional parameter because getcharid itself can support optional parameter checkemblem( getcharid(2, rid2name( <account_id> ) ) );
  18. ACMD(chkmvp) { if( !message || !*message ) { clif->message( fd, "empty" ); return false; } else if ( mob->db( atoi(message) )->mexp ) { clif->message( fd, "This is a MVP" ); return true; } else { clif->message( fd, "No mobs or not MVP" ); return true; }} ACMD_DEF(chkmvp),
  19. then make a bug report for it from my understanding, currently disabled_skills only disable active skill from casting to fix this bug, status_calc_pc should have an additional check when calculating bonuses from passive skills . . EDIT: yeah tested, I have disabled_skills: AC_OWL: "PLAYER" doesn't work, as I still have +10 dex . . hmm ... set_sc( GD_LEADERSHIP , SC_LEADERSHIP , SI_BLANK , SCB_STR ); set_sc( GD_GLORYWOUNDS , SC_GLORYWOUNDS , SI_BLANK , SCB_VIT ); set_sc( GD_SOULCOLD , SC_SOULCOLD , SI_BLANK , SCB_AGI ); set_sc( GD_HAWKEYES , SC_HAWKEYES , SI_BLANK , SCB_DEX );actually they have their own SC_ ....
  20. that script came from here http://rathena.org/board/topic/84477-dual-client-kick-at-same-map/?p=237480 honestly that script is unoptimized use mine ... -> something like this - script auto_kicker -1,{OnPCLoadMapEvent: .@limit = 4; // on 4th account will be warp away if ( strcharinfo(3) == "prontera" ) { query_sql "select count(1) from `char` right join login on login.account_id = `char`.account_id where `char`.online = 1 and login.last_ip = '"+ getcharip() +"'", .@count; if ( .@count >= .@limit ) { dispbottom "you cannot have more than "+ .@limit +" accounts in this map"; warp "geffen", 0,0; end; } } end;}prontera mapflag loadeventEDIT: this script doesn't detect vendors but able to detect multi-client users
  21. ok ... its my turn to give suggestion time .. http://rathena.org/board/topic/77088-certain-map-weapon-restriction/?p=239342 noitem mapflag meant for rathena when compare my code and hercules map_zone_db.conf hercules can already restrict items by ID but my modifications can allow to restrict an item type example pvp_y_1-1 mapflag noitem 0this pvp map cannot use healing itemsevent_gm mapflag noitem 4,5this gm hosting event will disallow players to equip any kind of equipments so how about hercules have the same thing { name: "PvP no Pot" inherit: ( "PvP" ) disabled_items: { IT_HEALING: true }}, { name: "GM event" disabled_items: { IT_WEAPON: true IT_ARMOR: true }},
  22. Ind, does that means that Pneuma animation duration is hardcoded in the client ? test ... I cast pneuma and @refresh ... the animation gone ...
  23. ok my previous idea was sux... change it into sc_end SC_ENERGYCOAT when the player step in the map then inside status->change_start function, inside these zones will return 0, and the icon wouldn't be there ... sounds easy though
  24. invite/expel a guild member is part of the behavior of guildlock mapflag http://rathena.org/wiki/Mapflag#guildlock why not just add guildlock mapflag on these castle maps ? EDIT: ok I was wrong ... again the original behavior was already disallow to invite/expel now he wants a configuration that allows to invite/expel
  25. Ind, using your method will probably need to write the code in a very messy way I counter-suggest change into disable_status: { SC_ENERGYCOAT: true }if SC_ENERGYCOAT is being calculated in these zones, the bonus stats/effect is not calculated (but icon is still there) implement in this way should be fast and clean EDIT: or maybe I'm going off-topic ... hahaha
×
×
  • Create New...

Important Information

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