-
Posts
2044 -
Joined
-
Last visited
-
Days Won
51
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by AnnieRuru
-
I don't think this script will lag the definition of lag is sent data to client, where there are some script commands run through the clif.c file playerattach(), hp, maxhp, sp, maxsp are calculated internally in map-server.exe but still, running in 1ms will eat up a lot of RAM usage ( I believe currently fastest RAM is DDR3 2GB ? or maybe I'm outdated ... depends on your server host data-center I guess ) so its still discourage to do so some commands that will confirm lagging players are waitingroom ... announce ... which confirmed run through clif.c
-
hey ... the maximum number allow is 4096 why you put 8192 ? my item also disappear delete from inventory where equip = 8192; EDIT: http://rathena.org/b...192#entry111473 ok, use a newer client my hexed client also outdated
-
like this ? OnPCLoginEvent: if ( getgmlevel() < 99 ) end; while ( playerattached() ) { if ( hp != maxhp ) { .@hp = maxhp - hp; // skilleffect 28, .@hp; heal .@hp, 0; } if ( sp != maxsp ) { .@sp = maxsp - sp; // skilleffect 9, .@sp; heal 0, .@sp; } sleep2 250; } @monsterignore is more practical ... creating a bonus like this will only make players jealous of you
-
damn... I scare people bump unnecessary topics =/ this one will get started after I finish that wow battleground, and maybe your ro-bust event and I felt this script can be as challenging as wow battleground
-
no, I think he means, he wants his custom map to maintain night mode, while all other maps unaffected by night* BrowEdit http://www.eathena.ws/board/index.php?showtopic=279252 Source modification http://www.eathena.ws/board/index.php?s=&showtopic=273585&view=findpost&p=1502640
-
ok I move this topic into Community > Projects. but meh .... my briefing in my 1st post need to be edited EDITED: done
-
impossible with source edit alone you need some people who knows how to hex client ( like shinryo ) to enable name length above 23 so yeah its an edit with both source edit and client hexing this modification is damn tough ... I don't think shinryo will be interested in doing this and there's too few members in this board know how to hex a client
-
#define pc_maxparameter(sd) ( ((((sd)->class_&MAPID_UPPERMASK) == MAPID_KAGEROUOBORO) || (sd)->class_&JOBL_THIRD ? ((sd)->class_&JOBL_BABY ? battle_config.max_baby_third_parameter : battle_config.max_third_parameter) : ((sd)->class_&JOBL_BABY ? battle_config.max_baby_parameter : ( (sd)->class_&JOBL_2 ? 60 : battle_config.max_parameter)) ) ) see that (sd)->class_&JOBL_2 ? 60 change that to your desire value lazy to make it configurable in conf\battle
-
Signed items - with arbitrary strings (no existing character) ?
AnnieRuru replied to LordAioria's question in Source Support
http://www.eathena.ws/board/index.php?s=&showtopic=272346&view=findpost&p=1491772 GmOcean seems to still remember this trick xD -
I wonder do you know how to apply a patch ? http://rathena.org/wiki/Diff add a "-" and write the line that must be modified example:[code.]-this line will be removed from the original code[/code.] add a "+" and write the line that need to be placed to replace or added to the original code example:[code.]+this line will be added in the new code[/code.]
-
sounds right o.O yeah ... equip this item should also STUCK their exp gain so they wont be able to leveling up (sounds like source modification) yeah, I also thinking about countering this with a new permanent variable inside pc_reg_received functionI also agree this bonus has no practical usage ... better just lower down their stat into 1,1,1,1,1,1 ... so I'm out
-
prontera,155,187,5 script kdjsfhdksjf 100,{ .@page = 5; // display 5 items per page query_sql( "select count(1) from storage where account_id = "+ getcharid(3), .@total ); while (1) { .@nb = query_sql( "select nameid, amount, identify, refine, attribute, card0, card1, card2, card3 from storage where account_id = "+ getcharid(3) +" limit "+ .@page +" offset "+ .@offset, .@itemid, .@amount, .@identify, .@refine, .@broken, .@card1, .@card2, .@card3, .@card4 ); mes "= Total "+ .@total +" items, Page No."+ .@current_page++ +" ="; for ( .@i = 0; .@i < .@nb; .@i++ ) mes .@amount[.@i] +"x "+ @itemname2_info$[0] + callfunc( "getitemname2", .@itemid[.@i], .@identify[.@i], .@refine[.@i], .@broken[.@i], .@card1[.@i], .@card2[.@i], .@card3[.@i], .@card4[.@i] ) +"^000000"; .@offset += .@page; if ( .@offset < .@total ) next; else close; } close; } simpliest SQL script ever remember need to have my getitemname2 function or maybe you want to show them in another way ? EDIT:fix .@amount into .@amount[.@i]
-
delete from global_reg_value where str = 'brokeemp'; its a SQL script
-
ok , reported http://rathena.org/board/tracker/issue-6847-onsellitem-only-the-sold-card4-return-value/ Index: npc.c =================================================================== --- npc.c (revision 16857) +++ npc.c (working copy) @@ -1561,14 +1561,16 @@ static int npc_selllist_sub(struct map_session_data* sd, int n, unsigned short* item_list, struct npc_data* nd) { char npc_ev[EVENT_NAME_LENGTH]; - char card_slot[NAME_LENGTH]; - int i, j, idx; + int i, idx; int key_nameid = 0; int key_amount = 0; int key_refine = 0; int key_attribute = 0; int key_identify = 0; - int key_card = 0; + int key_card1 = 0; + int key_card2 = 0; + int key_card3 = 0; + int key_card4 = 0; // discard old contents script_cleararray_pc(sd, "@sold_nameid", (void*)0); @@ -1576,12 +1578,10 @@ script_cleararray_pc(sd, "@sold_refine", (void*)0); script_cleararray_pc(sd, "@sold_attribute", (void*)0); script_cleararray_pc(sd, "@sold_identify", (void*)0); - - for( j = 0; MAX_SLOTS > j; j++ ) - {// clear each of the card slot entries - snprintf(card_slot, sizeof(card_slot), "@sold_card%d", j + 1); - script_cleararray_pc(sd, card_slot, (void*)0); - } + script_cleararray_pc(sd, "@sold_card1", (void*)0); + script_cleararray_pc(sd, "@sold_card2", (void*)0); + script_cleararray_pc(sd, "@sold_card3", (void*)0); + script_cleararray_pc(sd, "@sold_card4", (void*)0); // save list of to be sold items for( i = 0; i < n; i++ ) @@ -1596,12 +1596,11 @@ script_setarray_pc(sd, "@sold_refine", i, (void*)(intptr_t)sd->status.inventory[idx].refine, &key_refine); script_setarray_pc(sd, "@sold_attribute", i, (void*)(intptr_t)sd->status.inventory[idx].attribute, &key_attribute); script_setarray_pc(sd, "@sold_identify", i, (void*)(intptr_t)sd->status.inventory[idx].identify, &key_identify); - - for( j = 0; MAX_SLOTS > j; j++ ) - {// store each of the cards from the equipment in the array - snprintf(card_slot, sizeof(card_slot), "@sold_card%d", j + 1); - script_setarray_pc(sd, card_slot, i, (void*)(intptr_t)sd->status.inventory[idx].card[j], &key_card); - } + script_setarray_pc(sd, "@sold_sold", i, (void*)(intptr_t)sd->status.inventory[idx].identify, &key_identify); + script_setarray_pc(sd, "@sold_card1", i, (void*)(intptr)sd->status.inventory[idx].card[0], &key_card1); + script_setarray_pc(sd, "@sold_card2", i, (void*)(intptr)sd->status.inventory[idx].card[1], &key_card2); + script_setarray_pc(sd, "@sold_card3", i, (void*)(intptr)sd->status.inventory[idx].card[2], &key_card3); + script_setarray_pc(sd, "@sold_card4", i, (void*)(intptr)sd->status.inventory[idx].card[3], &key_card4); } } you can try apply this noob source code to fix the bug if developer already fix it with proper code, apply official one and throw this custom one out
-
prontera,159,172,5 script market#2 100,{ getitem2 1201, 1,1,0,0, 4001,4002,4003,0; callshop "market2#hidden", 2; end; OnSellItem: .@size = getarraysize( @sold_nameid ); for ( .@i = 0; .@i < .@size; .@i++ ) dispbottom callfunc( "getitemname2", @sold_nameid[.@i], @sold_identify[.@i], @sold_refine[.@i], @sold_attribute[.@i], @sold_card1[.@i], @sold_card2[.@i], @sold_card3[.@i], @sold_card4[.@i]); end; OnInit: npcshopattach "market2#hidden"; end; } - shop market2#hidden -1,512:10,513:20,514:30,515:40,516:50 wow ... you're right, my getitemname2 function only able to show the @sold_card4, but not the card1~card3 area maybe I should file a bug report
-
set PK enable in conf\battle\misc.conf in the source, its the same as making ALL maps become a pvp map and the nopvp mapflag is the one responsible to make the map non-pvp just read that file and you'll know which configuration you have to make 1. OnPCKillEvent: if ( killedrid == getcharid(3) ) end; attachrid killedrid; set .@level, baselevel; attachrid killerrid; set baseexp, baseexp + xxx ... 2. pvp_nightmaredrop mapflag ... 3. 4. ... they already answered
-
How to Do Skull Will be Auto loot on pvp
AnnieRuru replied to simplexjay2's question in Source Requests
wait.... wait a moment ... why you guys gives the one DIED have the killer's skull ? - script test -1,{ OnPCKillEvent: if ( getmapflag( strcharinfo(3), mf_pvp ) == 0 || killedrid == getcharid(3) ) end; attachrid killedrid; .@charid = getcharid(0); attachrid killerrid; getitem2 7420, 1,1,0,0, 254, 0, .@charid % pow(2,16), .@charid / pow(2,16); // getnameditem 7420, rid2name( killedrid ); // <-- EDITED, this command doesn't drop item on floor end; } Brian I just read script.c getitem2 command automatically make the item on floor, while getnameditem doesn't -
no need source modification 1201,Knife,......, {}, { set @save_baselevel, baselevel; set baselevel, 1; }, { set baselevel, @save_baselevel; set @save_baselevel, 0; } OnPCLogoutEvent: // prevent overwrite value when player login if ( @save_baselevel ) { unequip EQI_HAND_R; unequip EQI_HAND_L; }
-
on the script part its already done 75% and I've even taken out the respawn position area to make them configurable ( so I just need to insert in the area after the map is done ) you don't have to worry that my script wont work, after all I have my pride as a scripting mod XD personally I'll go for a smaller 150x150 for script testing purpose also, with Ragnarok battleground system that only supports the score board from 0~100 numbers having too big will just encourage the players drag on the match to win ( because with Ragnarok client, score can only display so little range 0~99 points, compare to the official WoW client that can count up to 1600 points ) so ... I guess small map is enough unless you want a suggestion to break out displaying more than 3 digits which might spam using *announce ... though confirm I should follow this http://www.wowwiki.com/Arathi_Basin PS: damn ... now I need to learn how to install custom texture, me client noob >,< and ... this topic is inside script request section btw
-
@GmOcean, OnPCStatCalcEvent: you try search in this forum, all OnPCStatCalcEvent: is my post lol @stydianx RO-burst is your server name right ? so you want your idea becomes the event name ? lol but still, this script is somewhat a level2 type event script ( ok I hope I'm right this time ) because this uses a party counter variable to calculate which team that still survive in the room hmm ... this script is seriously a tough one even I need about 4~6 days to tackle this script fully so stydianx you are doing this on your own, or wants someone write it for you ?
-
addtimer 5000,strnpcinfo(0)+"::OnTimeLimit"; ..... OnTimeLimit: message strcharinfo(0),"Time's Up."; sleep2 3000; warp "SavePoint",0,0; end; means the user can only stay inside the room for 8 seconds total if( #Daily == gettime(5) ) mes "You cant enter again by today"; else{ set #Daily,gettime(5); means it can only go in once per day... ( but can be bug if went in monthly ) no wonder everyone in the board use this method to deny daily <.< so it was emistry spreading this technique should've use gettimestr("%Y%m%d", 9)
-
GmOcean has already explained very clearly why your script doesn't work in this script support section, is where scripters asking for support why your script isn't working, we only point out why your script doesn't work, we wouldn't fix it for you because we are expecting that you are also one of us who knows how to script and if you are asking somebody else fix it for you, you should still provide some fact - what your script does - what your idea is, - how you want it to work I can't move this topic into script request section because currently your post doesn't provide enough information to be suit into support section or request section please ask in correct section if you want to be supported or you are asking someone else do it for you or this topic will become invalid
-
a bit off-topic ... but see-ing that script reminds of myself that's the technique I used 4 years ago xD well after you finish that script and felt some accomplishment, you can ask here for some optimization tips that cheating stuff ... can only happen with party/guild system (level2 event script type) a normal event script ( level1 event script type ) is quite impossible to be cheated because of the nowarpto + nomemo + nosave mapflag you can also try OnInit: setmapflag "ordeal_1-2", mf_pvp, 1; to make the configuration easier and ... wow ... is that your 1st script ? such a standard ... really amazing ... I remember my 1st event script was devil square which took me over 8 months since I start learn scripting, then only I'm confident enough to fix that script
-
PVP warper and Healer with auto heal,buff,and FCP.
AnnieRuru replied to Michael D.'s question in Script Requests
I still remember 2 years ago Emistry and Keikun started their scripting lesson from this kind of scripts ( wahaha emistry ... forever 1 of my student XD ) after all, script request section is a training ground for those who are willing to learn how to script we should give some other people chance to show off their scripting skill ... I also started out my scripting journey from this kind of scripts ... guided slowly by Yhn and Trancid ... seems like many people misunderstood the meaning of script request section ... this area is suppose to be for members who are interested to improve their scripting skills ( with guidance from senior members ) not to tell them back how to make themself ... I quote again the definition of Script Request -
ok I admit even I can't find that post @_@ so many [spoiler.] tag