-
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
-
spoon feed LMS.txt
-
http://www.eathena.ws/board/index.php?showtopic=275732 lol ... my script is really everywhere rand(<some number>) will always return a fixed table order, unlike rand() return randomize order @madtoyz better use the script on post#13 the solution provide by Kenpachi doesn't work well ... kenpachi always gave wrong info ... I'm more surprised that topic has 3 pages and yet nobody said anything about it being bug x.x hmm ... reloop the query_sql is a big no-no ...
-
Hunting Mission with party and individual quest
AnnieRuru replied to mightyryan's question in Script Requests
want to show you another trick ? query_sql("SELECT `name`,CAST(`value` AS SIGNED) FROM `global_reg_value` LEFT JOIN `char` ON `global_reg_value`.char_id = `char`.char_id WHERE `global_reg_value`.str = 'Mission_Total' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT 5",.@name$,.@val); this line, I don't like table join either select char_id as abc, ( select name from `char` where char_id = abc ), value from global_reg_value where str = 'PC_DIE_COUNTER' order by cast(value as signed) desc limit 5; topic http://www.eathena.ws/board/index.php?showtopic=268999 SQL optimization - try to avoid using JOIN table if possible the sql will always join both tables together before it start its calculation - cast( value as signed ) used twice in that script you might not notice it, but to optimized sql performance, try to avoid having too many commands well ... I think that's all about his script replace into runs slower than insert into / update, so its fine -
[Warning]: connect_check: DDoS Attack detected from 127.0.0.1! WTF server gaves me this warning when I test that script <.< anyway after restarting test server prontera,155,180,5 script dksfsdfkb 100,{ mes "select which skill you want to be copy, your existing one will be overwrite"; next; set .@menu, select(.menu$) -1; if ( getskilllv(.skill$[.@menu * 3 +1]) ) { mes "you already copied that skill"; close; } mes "are you sure you want to copy "+ .skill$[.@menu * 3] +"?"; mes "you'll need to relogin again"; next; if ( select ( "Yes", "No" ) == 2 ) close; set CLONE_SKILL, .skill$[.@menu * 3 +1]; set CLONE_SKILL_LV, .skill$[.@menu * 3 +2]; atcommand "@kick "+ strcharinfo(0); end; OnInit: setarray .skill$, "< Remove >", 0, 0, "Fire Bolt", 19, 10, "Cold Bolt", 14, 10, "Lightning Bolt", 20, 10; set .@skillsize, getarraysize(.skill$); for ( set .@i,0; .@i < .@skillsize; set .@i, .@i +3 ) set .menu$, .menu$ + .skill$[.@i] +":"; end; } it seems to turn out perfectly fine and my stalker does have the plagiarize skill remove after relog @darristan you set a permanent player variable with "", will do nothing
-
query from log is easiest way http://www.eathena.ws/board/index.php?showtopic=247755 I did proposed something that I can't write it myself XD though I think this patch is ... I hardly found it useful ... though
-
like I said, I want to give more examples of advance SQL commands select distinct left( name_japanese, 1 ) as aaa from item_db where type = 5 and equip_locations & 256 union select distinct left( name_japanese, 1 ) from item_db_re where type = 5 and equip_locations & 256 union select distinct left( name_japanese, 1 ) from item_db2 where type = 5 and equip_locations & 256 order by aaa; to select the left most alphabetical order then select id, name_japanese, view from item_db where type = 5 and equip_locations & 256 and left( name_japanese, 1 ) = 'a' union select id, name_japanese, view from item_db_re where type = 5 and equip_locations & 256 and left( name_japanese, 1 ) = 'a' union select id, name_japanese, view from item_db2 where type = 5 and equip_locations & 256 and left( name_japanese, 1 ) = 'a' group by view limit 128; to select all headgears that's start with A script prontera,153,187,5 script djsfhskfj 100,{ mes "select an order"; next; .@nb = query_sql("select distinct left( name_japanese, 1 ) as aaa from item_db where type = 5 and equip_locations & 256 union select distinct left( name_japanese, 1 ) from item_db_re where type = 5 and equip_locations & 256 union select distinct left( name_japanese, 1 ) from item_db2 where type = 5 and equip_locations & 256 order by aaa", .@alphabet$ ); .@menu$ = .@alphabet$; for ( .@i = 1; .@i < .@nb; .@i++ ) .@menu$ = .@menu$ +":"+ .@alphabet$[.@i]; .@select = select( .@menu$ ) -1; .@nb = query_sql("select id, name_japanese, view from item_db where type = 5 and equip_locations & 256 and left( name_japanese, 1 ) = '"+ .@alphabet$[.@select] +"' union select id, name_japanese, view from item_db_re where type = 5 and equip_locations & 256 and left( name_japanese, 1 ) = '"+ .@alphabet$[.@select] +"' union select id, name_japanese, view from item_db2 where type = 5 and equip_locations & 256 and left( name_japanese, 1 ) = '"+ .@alphabet$[.@select] +"' group by view limit 128", .@id, .@name$, .@view ); .@menu$ = .@name$; for ( .@i = 1; .@i < .@nb; .@i++ ) .@menu$ = .@menu$ +":"+ .@name$[.@i]; .@select = select( .@menu$ ) -1; changelook 4, .@view[.@select]; close; } can almost say this script no need to spend your time to write any more array and if your server add in more custom headgear, you don't have to spend your time adding itemid into this script as this script automatically detects the items you've added inside item_db2 SQL is most powerful in this kind of situation
-
I usually don't reply to this kind of easy question ( oh well ) but your post looks promising like you're willingly to learn so ... I can only say read more wiki at the moment this is how to add a new script command with diff file, example like toasty string manipulation http://www.eathena.ws/board/index.php?showtopic=204976 and this is wiki explaining about diff http://rathena.org/wiki/Diff actually I don't have any programming background despite that you think I know how to write some script commands what I learned is rathena source commands lol just take a peak in script.c ... do some copy-paste from other official script commands and keep crashing my visual express compiler hahaha .. that's how I learn
-
Hunting Mission with party and individual quest
AnnieRuru replied to mightyryan's question in Script Requests
G_ and EVENT_ has been countered with dropcardid 4001~4999 check Dream metal has been countered with ~mode & 32 check (not a boss monster) set .Party,3;// Party options: 0 (exclude party kills), 1 (include party kills), 2 (same map only), 3 (screen area only) about screen area, the number 30 is just because I like that number XD the actual screen area is actually getbattleflag("area_size") I tried use that before on a live server and got people complain it doesn't work, no idea how ( 3 years ago ) that's why I use a fix number you can try getbattleflag("area_size") *2 ... or something, perhaps ? its your script anyway -
setcloneskill EDIT: http://www.eathena.ws/board/index.php?showtopic=272712 weird, GmOcean already support this topic before and even explained to others how my commands works o.O
-
okies, but I cannot guarantee I can even start this right now my priority seems to gear towards battleground related scripts 1st <-- pls stop buying ... then I'll update all my old scripts from eathena forum to compatible with rathena ... this one might come very late
-
Hat Smith npc[not sure how to do setup]
AnnieRuru replied to kealzorz's question in Scripting Support
that's why I said this script is beyond your level and I don't think at your current level you can learn anything from this script try study some scripts that is more suitable to your level, like rikimaru's script well since I already made it, you can make request for more feature etc... just post a reply and describe in detail what u want me to add -
Help to disable @sleep command on pvp and gvg maps
AnnieRuru replied to Petey Pablo's question in Source Support
can I ask something 1st ? isn't that currently atcommand should be looking like this ? ACMD_FUNC(<command name>) { struct map_session_data* pl_sd; nullpo_retr(-1, sd); ..... clif_displaymessage(fd, blahblah); return 0; } ..... ACMD_DEF(<command name>), how comes yours still using something like 3~4 years old eathena source -
I think this board currently missing some members to explain more advance SQL commands prontera,153,187,5 script djsfhskfj 100,{ mes "search for a headgear name"; next; input .@search$; .@nb = query_sql( "select id, name_japanese, view from item_db where type = 5 and equip_locations & 256 and name_japanese like '%"+ escape_sql(.@search$) +"%' group by view order by id limit 128", .@id, .@name$, .@view ); .@menu$ = .@name$; for ( .@i = 1; .@i < .@nb; .@i++ ) .@menu$ = .@menu$ +":"+ .@name$[.@i]; set .@select, select( .@menu$ ) -1 ; changelook 4, .@view[ .@select ]; close; } actually I already started writing this before your post#5 if ( query_sql("select....", .@dummy ) <execute here if sql returns some value> >= 1 rows else <execute here if sql Does NOT return anything> 0 rows useful to check something like account created or not ... etc
-
while I was stumbling some of my old topics regarding advance SQL commands I accidentally found 1 of the most interesting script that I discontinued http://www.eathena.ws/board/index.php?s=&showtopic=271842&view=findpost&p=1490082 in post#21, got an attachment name guess_me.txt well that time it was unfinished script, and so do now however I search on this board, and haven't found any related topics or maybe someone else already release ? if nobody haven't did this, I might continue and finish it for more information, it is a feature of eamod and I wanted to write my own version
-
rathena script engine cannot control players to equip or unequip inside a map the only way to do that is to modify the source which is a very .... very simple patch just take a peak and you'll understand I'm actually just add a return 0; inside pc_equip and pc_unequip inside pc.c and the reason to have be in a party because I use instancing well there's not enough instance script on this board yet though so I guess you should search 'instance_attachmap' filter with my name 'annieruru' inside eathena board for more information I don't mind people asking questions, just want you have to some minimum IQ and willingly to learn (no spoon feed pls) and seriously, I consider this script is very easy, issit that hard to have a script that modify npc + src + data folder ?
-
sounds more like 1 more script to add into npc\custom\ folder ? o.O
-
WoE EX Castles by Olrox [Free Release Project]
AnnieRuru replied to Olrox's topic in Client Releases
@GmOcean gogogo do it xD it just some copy paste https://rathena.svn.sourceforge.net/svnroot/rathena/trunk/npc/guild2/arug_cas01.txt TOOO simple script just duplicate all the npc and put them in this map then have another file add warper like this https://rathena.svn.sourceforge.net/svnroot/rathena/trunk/npc/warps/guildcastles.txt seriously, the npc side can be done in no time if you do it, your name will be credited xD @Olrox now I seriously consider putting your userbar in my sig !!!! damn, now I also want to make my Annieruru fan club userbar , hmm ... -
Hunting Mission with party and individual quest
AnnieRuru replied to mightyryan's question in Script Requests
that long long condition down there replace with this } else { .@killedrid = killedrid; getmapxy .@map1$, .@x1, .@y1, 0; .@origin_level = baselevel; getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; while ( .@j < $@partymembercount ) { if ( isloggedin( $@partymemberaid[.@j], $@partymembercid[.@j] ) ) { attachrid $@partymemberaid[.@j]; if ( #Mission_Count && Mission1 && sqrt( pow( .@origin_level - baselevel, 2 ) ) <= 20 && hp > 0 ) { // shit I forgot to add dead check getmapxy .@map2$, .@x2, .@y2, 0; if ( .@map1$ == .@map2$ && distance( .@x1, .@y1, .@x2, .@y2 ) <= 30 ) { .@i = 0; while ( .@i < .Quests ) { if ( strmobinfo( 1, .@killedrid ) == strmobinfo( 1, getd("Mission"+.@i) ) ) { if ( getd("Mission"+ .@i +"_") < #Mission_Count) { dispbottom "[Hunting Mission] Killed "+( set( getd("Mission"+ .@i +"_"), getd("Mission"+ .@i +"_") +1 ) )+" of "+#Mission_Count+" "+strmobinfo(1,.@killedrid)+"."; break; } } .@i++; } } } } .@j++; } } will trigger only with party levels within 20 range -
prontera,155,186,5 script kdfhskdjf 100,{ setarray .@map$, "prontera", "morocc", "alberta", "aldebaran", "izlude"; setarray .@x, 156, 156, 192, 140, 128; setarray .@y, 191, 93, 147, 143, 146; set .@arraysize, getarraysize(.@map$); mes "[Warp Agent]"; mes "Please type the name of the map where you want to go:^0000FF"; for ( .@i = 0; .@i < .@arraysize; .@i++ ) mes ( .@i +1 )+". "+ .@map$[.@i]; next; input .@warp$; .@i = 0; while ( .@warp$ != .@map$[.@i] && .@i < .@arraysize ) .@i++; if ( .@i == .@arraysize ) { mes "[Warp Agent]"; mes "invalid map"; close; } mes "[Warp Agent]"; mes "You'll be warping to "+ .@map$[.@i] +" town"; close2; warp .@map$[.@i], .@x[.@i], .@y[.@i]; end; } erm .... you PM me to help but you suddenly got it working x.x
-
<wait this 0.0 script is bug> fight_your_clone0.1.txt nochangeequip.diff and remember to duplicate map in resnametable 2@g_vs.gnd#guild_vs2.gnd# 2@g_vs.gat#guild_vs2.gat# 2@g_vs.rsw#guild_vs2.rsw# À¯ÀúÀÎÅÍÆäÀ̽º\map\2@g_vs.bmp#À¯ÀúÀÎÅÍÆäÀ̽º\map\guild_vs2.bmp# disable healing items should be done with db\item_noequip ... wait ... WHERE DID THIS FILE GO ??? EDIT: hidden inside db\pre-re\item_noequip.txt <.< although I also know how to make another mapflag to disable using healing items whew simple script, just less than 2 hours if you want I also can do ladder style, display who has kill the most clones and least time
-
http://www.eathena.ws/board/index.php?showtopic=188436 disable changing equipment eh ... that will require source modification ... hmmm... sounds fun, I think I on-hold that wow battleground and do this one 1st
-
I don't think exp has anything to do with die counter but having super novice soul link will reset the die counter
-
http://www.eathena.ws/board/index.php?showtopic=235648
-
Script Command: pull value from a quest_db.txt entry?
AnnieRuru replied to Smoke's question in Scripting Support
http://www.eathena.ws/board/index.php?showtopic=275905 http://www.eathena.ws/board/index.php?s=&showtopic=269839&view=findpost&p=1481667