Jump to content

AnnieRuru

Members
  • Posts

    2044
  • Joined

  • Last visited

  • Days Won

    51

Posts posted by AnnieRuru

  1. @Peopleperson49

    well since we release free stuffs on the board

    other members of course has the permission to edit to his liking to put on his server

    but in this board, you have to give permission to edit to put in this board

    private server is a place where players enjoy themself, and the gm there has power to control their server

    but in this board, everyone of us is equal in terms of script writing

    please don't put your personally feeling from that server into this board

    I don't wish to see you hurt anyone else

    ( I'm actually glad that you hit me, because I've experienced this many times in the past )

    I'm actually just asking to put "but annieruru did it 1st" something like that in script release section

    it shouldn't be hard to do

    @nanakiwurtz

    http://www.eathena.ws/board/index.php?s=&showtopic=156045&view=findpost&p=860205

    http://www.eathena.ws/board/index.php?s=&showtopic=181741&view=findpost&p=1478950

    please do note that copyarray from $@partymemberaid immediately into another array to avoid clashing with another party

    is a strong rumor in script_commands.txt

    ultramage has already explained once a script executed

    all CPU power will dedicate in running that script instance until it hit a end; next; sleep ... something

  2. what I mean is he should say something like,

    annieruru started before me... but he didn't say anything in script release section

    and sounds like he claim he is the only one who made it 1st

    lol its actually fine by me lol

    I'm also kinda lazy to put some lame script like this up in script release section

    you see I finished that script in just 1 hour time anyway

    many of my script also scatter around script support/request section if you guys know how to search properly

    and this also isn't the 1st time I encounter this

    my 5 years eathena scripting, there're many members did the same to me in the past

    what I actually meant is reminding him

    while we all learn how to do scripting, especially in script request section

    whoever has already done any scripts before your post, or even just giving some direction/guide

    the name should be mentioned in script release section

    because everyone has helped contribute to make this script possible to be done

    he should be feel more thanksgiving for all around him who've contributed, not claim all the credit for himself

    example

    Basically what you get is a little banner NPC with a chatroom on it who's title updates with the amount of time left till WoE starts or ends. (Little idea stolen from one of annie's scripts =P...some mvp arena i think)
    So this is a project I've been working on and off for a while and only really just had it done to a release standard recently. The original reason I started this script was cause of Annie's Favorite Warper script. While pretty original in that I think it was the 1st one to implement a favorites menu in a warper, I absolutely detested how ugly that script looked. No offence to annie, but it looked like an absolute nightmare to configure (menu structure in one area, warp data in another, lots of duplicated data all over the place making it very easy to make a mistake). So I set out to write a warper that meets this one objective:

    • Be able to portray the configuration of all map and menu structure data in a single glance.

    even a small amount of introduction ... can let others who've done it before you felt at ease
  3. @Peopleperson49

    since ancient times there has been many people keep copy each other's idea

    like toasty warper copy my favourite warper ....

    but you should at least leave a link (at least link this topic) that someone else has done this same idea

    I usually don't care that other people ripping my script

    cause I know I'm already popular icon for being pro scripter in this board ( I already famous enough as it is )

    however other members might not able to tolerate this behavior

    ( if it was other members did it 1st and you re-release again, I wont be so sure what is going to happen )

    I understand you are willingly to learn, but leaving some credit to previous author is recommended

  4. mapflag is the only way to do it without touching source

    you mean certain players can equip knife, but certain players can't equip knife in the same map ?

    EDIT: I regretted I post this

    I shouldn't have support if the topic didn't provide enough information

  5. OnInit:
       disablenpc "WOR";
       hideonnpc "Emperium Wars#WOR1";
       end;

    the npc is invisible, and your GM account can see it

    when there's no guild are fighting and event are accessible, only that npc will become visible

    seriously, that's why I also don't like using hideonnpc, I prefer disablenpc

    edit for below

    this person seriously need to be spoon feed

  6. sc_check

    http://www.eathena.w...dpost&p=1498382

    hmm I didn't explain how to use

    sc_check <effect type>;

    sc_check <effect type> {, <account ID> };

    sc_check <effect type> {, <type> };

    sc_check <effect type> {, <type> {, <account ID> } };

    <type> is only use for soul link

    because sc_spirit has extra argument that different to every jobs

    http://www.eathena.w...howtopic=274421

    for agi: if ( sc_check(sc_strfood) || sc_check(sc_agifood) || sc_check(sc_vitfood ) end; else sc_start sc_agi, 1000,1;

    for str: if ( sc_check(sc_agifood) || sc_check(sc_agifood) || sc_check(sc_vitfood ) end; else sc_start sc_str, 1000,1;

    expand them as you see fit

    EDIT:

    there's getstatus script command implemented on newer rathena that's doing similar to my modification

    change my sc_check into official getstatus script command

  7. run_script() as OnPCStatCalcEvent as npc name ? o.O

    this sounds like this label no able to run more than twice

    test ...

    -	script	kjfhsdfkjhsd	-1,{
    OnPCStatCalcEvent:
    bonus bstr, 10;
    end;
    }
    -	script	kjhdfkjsdfh	-1,{
    OnPCStatCalcEvent:
    bonus bagi, 10;
    end;
    }
    -	script	fjfkjsdfskdfj	-1,{
    OnPCStatCalcEvent:
    bonus bvit, 10;
    end;
    }

    post-8685-0-62024800-1350469736_thumb.jpg

    can't reproduce error o.o

    well watever if it works just fine

    • Upvote 2
  8. from eathena

    Download:

    [paste=7207eo0p96gx]

    new method and examples -> just visit the one in hercules forum .... lazy to copy and paste

    http://hercules.ws/board/topic/4570-

    Note: bg_kickall has been removed so no need to recycle the team ID

    -----------------------------------------

    [spoiler=OLD method - eAthena period]

    Download:

    battleground_16873.diff

    -----------------------------------------

    *createbgid <respawn map>, <respawn x>, <respawn y>, <On Quit event>, <On Death event>;

    create a specific battleground ID, for the rest .... refer to doc

    -----------------------------------------

    *setbgid <battleground ID> {, <player name> };

    player attached to the script will join the battleground team,

    but if a player name ( or account ID ) is specify, will let that player join the battleground team

    the command returns positive number ( > 0 ) if the function is successful

    if it return negative :-

    -1: the battleground team haven't create yet ... has to be create with createbgid

    -2: the team already full, it reached MAX_BG_MEMBERS = 30 which can increase at src\map\battleground.h

    -3: player not found ... happens when the input <player name> is not online or not found

    -4: invalid battleground ID ... currently only accept ID range within 1~1000

    -5: the player already join the battleground ID that you specify

    if the player has joined battleground ID 500, and you use setbgid 700;

    this will force the player to leave battleground ID 500 and join battleground ID 700 without any notification

    only when the player joined bg ID 500, and use setbgid 500; then only the command return -5 <-- failed

    setbgid 0; is equal to bg_leave;

    and setbgid 0, "annie"; or setbgid 0, 2000000;

    will make the player "annie" ( or account id "]2000000 ) leave the battleground team without using attachrid + bg_leave

    -----------------------------------------

    *getbgusers <battleground ID>;

    similar to getpartymember <party ID>, 2; // <-- return account ID

    this will create an array "$@arenamembers" holding all the player's account ID from the battleground team

    and $@arenamembersnum is equal to bg_get_data(<battleground ID>, 0), just like $@partymembercount

    -----------------------------------------

    *bg_kickall <battleground ID>;

    kick every player out from the battleground team

    this command is counter-part from bg_destroy

    -----------------------------------------

    .

    [spoiler=OLD method - rAthena period]-----------------------------------------

    *createbgid <respawn map>, <respawn x>, <respawn y>, <On Quit event>, <On Death event>;

    create a specific battleground ID, for the rest .... refer to doc

    .red = createbgid( "guild_vs3", 13,50, strnpcinfo(0)+"::Onredout", strnpcinfo(0)+"::Onreddead" );
    .blue = createbgid( "guild_vs3", 86,50, strnpcinfo(0)+"::Onblueout", strnpcinfo(0)+"::Onbluedead" );
    -----------------------------------------

    *setbgid <battleground ID> {, <player name> };

    *setbgid <battleground ID> {, <player account ID> };

    player attached to the script will join the battleground team,

    but if a player name ( or account ID ) is specify, will let that player join the battleground team

    warpwaitingpc "guild_vs3", 0,0;
    for ( .@i = 0; .@i < $@warpwaitingpcnum; .@i++ )
    setbgid ( .@i % 2 )? .red : .blue, $@warpwaitingpc[.@i];
    the command returns positive number ( > 0 ) if the function is successful

    if it return negative :-

    -1: the battleground team haven't create yet ... has to be create with createbgid

    -2: the team already full, it reached MAX_BG_MEMBERS = 30 which can increase at src\map\battleground.h

    -3: player not found ... happens when the input <player name> is not online or not found

    -5: the player already join the battleground ID that you specify

    if the player has joined battleground ID 500, and you use setbgid 700;

    this will force the player to leave battleground ID 500 and join battleground ID 700 without any notification

    ( player who same group will receive a message mention that "player xxx leaving battlefield" )

    only when the player joined bg ID 500, and use setbgid 500; then only the command return -5

    but the script will still continue running without posting any error, so don't worry

    setbgid 0; is equal to bg_leave;

    and setbgid 0, "annie"; or setbgid 0, 2000000;

    will make the player "annie" ( or account id 2000000 ) leave the battleground team without using attachrid + bg_leave

    -----------------------------------------

    *getbgusers <battleground ID>;

    similar to getpartymember <party ID>, 2; // <-- return account ID

    this will create an array "$@arenamembers" holding all the player's account ID from the battleground team

    and $@arenamembersnum is equal to bg_get_data(<battleground ID>, 0), just like $@partymembercount

    getbgusers .red;
    for ( .@i = 0; .@i < $@arenamembersnum; .@i++ )
    getitem 501, 1, $@arenamembers[.@i];
    -----------------------------------------

    *bg_kickall <battleground ID>;

    kick every player out from the battleground team

    this command is counter-part from bg_destroy

    -----------------------------------------

    currently don't have enough samples for this new method,

    because I've done a few battleground script ...

    and it seems members are prefer not to use source modification ... o.o

    remember these steps

    • use OnInit with createbgid
    • use setbgid to let player join
    • don't use bg_destroy command, but use bg_kickall command instead
    • remember different script use different teams, there's a limit of 30 players on each team only <- can increase at src/map/battleground.h#L10
    eg: this battleground script use bg id 1 & 2, next battleground script use bg id 3 & 4  ( bg id is self generated in ascending order )

    Example ...

    difference is quite a lot

    although both also can achieve the battleground team creation,

    but its obvious the 2nd one is much much cleaner and more feature

    Example :

    use OnInit + createbgid, then use setbgid to attach 2 teams on the event controller npc

    if your script assigned bg_id 1 & 2, then your script use bg_warp 1 ... and bg_warp 2 ...

    EDITED SCRIPT :

    prontera,155,181,5	script	Sample	100,{
    	mes "Battlegound";
        if ( select ( "join/leave", "warp all bg members to you" ) == 1 )
            if( getcharid(4) ){
    			bg_leave;
    			dispbottom "Leave BG";
    		}else{
    			setbgid .bg_id;
    			dispbottom "Joined BG";
    		}
        else if ( getcharid(4) == 0 )
            dispbottom "you didn't join a battleground team";
    		
        else {
            getmapxy .@map$, .@x, .@y, 0;
            bg_warp .bg_id, .@map$, .@x, .@y;
    		
        }
        close;
    OnInit:
        getmapxy .@map$, .@x, .@y, 1;
        .bg_id = createbgid( .@map$, .@x, .@y, "", "" );
        end;
    }
    
    the current sample script should be look like this now .... battleground will auto generate the Battle Group ID , you cant assign the ID. :)

    tested and work fine in rev 17532 ...

    [spoiler=Archive]

    battleground_16819.diff

    battleground_16873.diff

    battleground_17101.diff

    battleground_17102.diff

    • Upvote 4
  9. at that time I overlooked that topic because a lot members complain about tabbing ... heading... etc

    which I thought that script might not get popular ... though

    and now comparing this request and that topic, its just simply not the same thing

    - request for randomizing team members, but the script use fix party vs party

    - request player from same team can attack each other, but the script use pvp ( I'll go for battleground )

    - request for 1 specific player to be crown as king, but the script doesn't has one

    anyway thx for fixing the modification for me, I'll test it soon and post in source snippet

    PS: to list out top player kills in your team, sorting algorithm is required XD

    if you play counter-strike, and show the score, that's what I mean

    EDIT: I found that patch don't even have to fix anything lol

  10. lol

    http://www.eathena.ws/board/index.php?showtopic=241950

    when I wrote that script I did use OnWhisperGlobal to turn event on and off

    but his script uses different direction -> actively register to start, and when over, another 2 guilds can sign up again

    either you try to expand my script there ( I already learned battleground script system by then )

    or you have to figure out the way how to stop active-registration ...

    btw since this is support section, at least show which part of the script you have edited

  11. yes, similar to that

    however I still think its much better to script this using battleground system

    as the battleground system itself auto-create team and prevented players killing teammate

    PS: this topic also now under 1 of my to-do list, please leave this topic to me

    I did say I wanted to support anyone who wanted to make that but nobody even PM me how to make it

    so I guess I personally make this myself

×
×
  • Create New...