-
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
-
Please help this script about mac_address
AnnieRuru replied to haball's question in Scripting Support
I can always use google translator, no worry everything is translated in a flash switch (select (" • Of course, I will go "," •. I want to hear the details "," • No, I do not have the right " )) { case 1: if ( Baselevel <80 | | Zeny <100000 ) { mes @npcname$; mes "You must be at least level 80 to get into it "; mes " and you have to pay a registration fee of 100,000 z"; break; } if ( $evilinf == 1 ) {. if (getmapusers ("guild_vs2")> = 40) {. mes @npcname$; mes "I regret that I now have a full amount "; mes " users to enter a maximum of 40 people only" ; set $evilinf, 0; break; } query_sql "select last_mac from login where account_id = "+ getcharid(3), .@ip$; if ( compare( .ip_compare$, "#"+ .@ip$ +"#" ) ) { mes "Do not multi client !"; close; } set Zeny, Zeny-100000; announce "[Devil Square]:" + strcharinfo (0) + " has entered the event ", 0,0 x00CCFF; percentheal 100,100; warp "guild_vs2", 0,0; ////// warp to event. .ip_compare$ = .ip_compare$ + .@ip$ +"#"; break; } mes @npcname$; mes " Devil Square is now the door is closed "; mes " The door will open again in 6 hours ahead "; break; ...... L_End: // find this label .ip_compare$ = "#"; // add this line ...... OnInit: // find this label .ip_compare$ = "#"; // add this line why you use $evilinf ?I thought my script use .start variable ... because when you @reloadscript, every monsters inside the map will gone ... -
GmOcean come do this then ? I drop this .... because I dunno how to do no.6, but I think you can do it I forgotten you still active lol
-
ohh.... don't use @loadnpc this script needs to restart your server
-
@Terrorsoul I just tested this script ... I don't get the same error as you initnpctimer "mission_board";... you know, I always dislike using npc timer for certain reason ...whenever I use it, some people will say my script bug but it always working fine in my test server ... so I stop use it to keep my reputation ... let me try use my old mission board trick and see does it fix this bug or not [paste=42eg4zne8ya] Terrorsoul, try use this one emistry, explain to me what this line means if( .@item_size ) for( .@i = 0; .@i < .@item_size; .@i++ ){ debugmes getitemname( .@item_list[.@i] )+" - "+.@item_qty[.@i]; } // delitem .@item_list[.@i],.@item_qty[.@i];
-
it works prontera,158,185,6 script kjdfhksj 100,{ setd ".pvp_n1-1$", "this is a pvp map"; setd ".1@tower$", "this is an instance map"; dispbottom getd(".pvp_n1-1$"); dispbottom getd(".1@tower$"); end; } I knew it wont work if you do set .pvp_n1-1$but it works when you *setd it setd ".pvp_n1-1$"this is a trick to bypass the variable checkyeah rathena script engine sucks ... this is an exploit to rathena script engine EDIT: - prontera,158,185,6 script kjdfhksj 100,{ dispbottom getd(".pvp_n1-1") +""; dispbottom getd(".pvp_n1-1$"); dispbottom getd(".1@tower") +""; dispbottom getd(".1@tower$"); end; OnInit: setd ".pvp_n1-1", 12345; setd ".pvp_n1-1$", "this is a pvp map"; setd ".1@tower", 67890; setd ".1@tower$", "this is an instance map"; end; }also works
-
I just started the script, then I suddenly stumble upon 1 question Question : what happens if there is more than 1 Godlike player in that map ? because it seems possible if 2 players who are friends, they team up keep killing other players on that map then both of them might acquire the Godlike title together Question : what happens if a Godlike player kills another Godlike player ? I can probably do your 1-5 easily however, I don't think I can do no.6, sounds very hard for me to do
-
I successfully start the event though o.o login all my 4 clients however this script ... missing battleground mapflag, or pvp mapflag I didn't see a single getcharid(4) inside this script ... then ... this script uses bat_team player variable to differentiate their teams ? means, how the hell player kill each other ? I got a hunch this script Must have source modification on battle.c... seriously, if players already register as a battleground team, players couldn't able to kill each other with same battleground ID ... no need to do source modification anymore anyways the lines that I comment to make this work is line 42 //if (BaseLevel < 265) goto Dipwede;line 44~50 // if (callfunc("has_char_from_same_ip", "new_3-4")) { // next; // mes "[CTH Recruiter]"; // mes" "; // mes "^FF0000Dual Login in CTH is not allowed!^000000"; // close; // } else {line 68 // }
-
noob here, pls help about Hourly Rewards or Points
AnnieRuru replied to l3pr3con's question in Script Requests
http://www.eathena.ws/board/index.php?s=&showtopic=269705&view=findpost&p=1479382 - script kdjfhskfjhs -1,{ OnPCLoginEvent: while (1) { sleep2 1000; // loop every 1 second getitem "TCG_Card", 1; } end; // shouldn't reach }you know ... I'm expecting some people already answered this ... -
Please help this script about mac_address
AnnieRuru replied to haball's question in Scripting Support
there are a few ways to store a value in an array the most basic is, set .array[ getarraysize(.array) ], getcharip(); prontera,158,185,5 script kjdfksjhf 100,{ .@size = getarraysize( .register_aid ); for ( .@i = 0; .@i < .@size; .@i++ ) if ( .register_aid[.@i] == getcharid(3) ) break; if ( .@i < .@size ) { dispbottom "you already registered"; end; } announce strcharinfo(0) +" has join the [slash]event[/slash] array", bc_all; .register_aid[ .@size ] = getcharid(3); end; }ok I just check your previous post, I don't think you can figure out so ... prontera,161,185,5 script kjdfk3sjhf 100,{ query_sql "select last_ip from login where account_id = "+ getcharid(3), .@ip$; if ( compare( .ip_compare$, "#"+ .@ip$ +"#" ) ) { dispbottom "you already registered"; end; } announce strcharinfo(0) +" has join the [slash]event[/slash] array", bc_all; .ip_compare$ = .ip_compare$ + .@ip$ +"#"; end; OnInit: .ip_compare$ = "#"; end; }I want to make it more complicated hahahajust change last_ip into last_mac if you can't figure out then, post your devilsquare script ( I'm the one who made it though ) and I edit for you -
it only check once, depends on when you trigger it me love write event script, how about tell me whats the idea of your event is ?
-
+ for ( .@b = 0; .@b < $@partymembercount; .@b++ ) + if ( attachrid( $@partymemberaid[.@b] ) )there's a flaw about thishttp://www.eathena.ws/board/index.php?s=&showtopic=271168&view=findpost&p=1485484 https://github.com/rathena/rathena/blob/master/doc/script_commands.txt#L8112 it should be + for ( .@b = 0; .@b < $@partymembercount; .@b++ ) + if ( isloggedin( $@partymemberaid[.@b], $@partymembercid[.@b] ) ) { + attachrid $@partymemberaid[.@b];EDIT: ops !============================================================ -EDIT- hmmm ... I think your answer is wrong for ( .@b = 0; .@b < $@partymembercount; .@b++ ) if ( attachrid( $@partymemberaid[.@b] ) ) for( set .@a,0; .@a < getarraysize( .Reward ); set .@a,.@a + 2 ) { getitem .Reward[.@a],.Reward[.@a+1], $@partymemberaid[.@b]; unittalk getcharid(3),"Yeeaaah !! Vencimos a todos los Mobs!!!"; unitemote getcharid(3),e_heh; specialeffect2 709; }if you indent properly, this script will make the player talk "Yeeaah !!" for the amount of times equal to getarraysize( .Reward ) /2ok I do this one then OnBossKill: delwaitingroom; if( mobcount( strcharinfo(3),strnpcinfo(0)+"::OnBossKill" ) > 0 ){ waitingroom "Missing ["+ mobcount( strcharinfo(3),strnpcinfo(0)+"::OnBossKill") +"] Mobs",0; end; } else { // delwaitingroom; // no need delwaitingroom twice waitingroom "PRIZE TIME",0; specialeffect EF_POK_JAP; announce "Congratulations Missing the Party [ "+ strcharinfo(1) +" ] has exceeded the Instance Of Mutant Saurus.", bc_all; getpartymember getcharid(1), 1; getpartymember getcharid(1), 2; set .@thismap$, strcharinfo(3); set .@reward_size, getarraysize( .Reward ); for ( set .@i, 0; .@i < $@partymembercount; set .@i, .@i +1 ) { if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { attachrid $@partymemberaid[.@i]; if ( strcharinfo(3) == .@thismap$ ) { unittalk getcharid(3),"Yeeaaah! We beat all the Mobs!!!"; unitemote getcharid(3), e_heh; specialeffect2 EF_POK_JAP; for( set .@a,0; .@a < .@reward_size; set .@a, .@a + 2 ) getitem .Reward[.@a], .Reward[.@a+1]; // already attached to current player, no need optional parameter dispbottom "You won a Legendary Item by passing the Instance Of Mutant Saurus"; } } } }
-
I don't see any errors with this script and tested all my 4 characters can go in the map ( open 4 multi-client ) this is the script I'm test with [paste=6j0ojwtypwr]
-
you show the wrong script the error comes from the script, that the npc located in que_moon and prt_are_in but this script has neither of them Source (NPC): BG Shop at que_moon (33,39)means the npc header should be something like this que_moon,33,39,? script BG Shop ?,{
-
http://rathena.org/board/tracker/issue-8429-bug-statpoint/ I think this should be announce in development news lol so many people gets annoyed by this bug
-
huhuhu ... somebody needs to tell me what is the name of that file, so I can transfer to my current rathena test client as well EDIT: comelro is the server I worked on long time ago in 2007~2010 I'm loading the data.grf from that server ...
-
you didn't tell your server is pk enabled server =/ - script PK System Minus -1,{ OnPCKillEvent: if ( !getd( "."+ strcharinfo(3) ) ) end; // only trigger on the maps defined in that array attachrid killedrid; .@point_amt = 1; // point to minus if ( #KAFRAPOINTS - .@point_amt < 0 ) end; // prevent the value go into negative #KAFRAPOINTS = #KAFRAPOINTS - .@point_amt ; dispbottom "You have lost "+ .@point_amt +" Point of Honour."; dispbottom "Your Total Points are : "+ #KAFRAPOINTS; end; OnInit: setarray .@map$, "prontera", "morocc", "payon"; // put all the maps here .@size = getarraysize( .@map$ ); while ( .@i < .@size ) { setd "."+ .@map$[.@i], 1; .@i++; } end; } used some tricks ...
-
[paste=62g693li049i] this script has no protection against item deleter npc though if your server has item deleter npc, this script going to be hard to read and ... of course no need to set a variable ...
-
HOW TO CHANGE THE TIME OF KOE EVENT EVERY SATURDAY?
AnnieRuru replied to Renji Abarai's question in Scripting Support
you just remind me I should put some fake labels o.o update again ... koe_0.3.txt [paste=53zbucwzu4t] koe_0.3.patch [paste=17eh6qh8492j] koe_0.3.patch the OnClock2000: can change into OnSat2000: then it will start every saturday 8pm and end it with OnSat2030: put below L_end: EDIT: ok the forum unicode problem again #include "../common/mmo.h" #include "../config/core.h" use attachment -
1 and 4 is possible 2 is impossible 3 is too hard to do ( need a long long array ... ) we don't have a script command to alter the drop rate of existing monster however can use OnNPCKillEvent + getitem to achieve this but still, quite a nice idea you have there [paste=3bzgwipu6ldl] super easy script though
-
- script PK System Minus -1,{ OnPCKillEvent: if ( !getmapflag( strcharinfo(3), mf_pvp ) ) end; // only trigger in pvp maps attachrid killedrid; .@point_amt = 1; // point to minus if ( #KAFRAPOINTS - .@point_amt < 0 ) end; // prevent the value go into negative #KAFRAPOINTS = #KAFRAPOINTS - .@point_amt ; dispbottom "You have lost "+ .@point_amt +" Point of Honour."; dispbottom "Your Total Points are : "+ #KAFRAPOINTS; end; }
-
ok, I understand what he said, because I have did similar stuff before http://www.eathena.ws/board/index.php?s=&showtopic=272409&view=findpost&p=1492359 -> update [paste=21hkxkuvt6dl] what he wants is something that can change the message/value in-game without having to login the game at all so he just need to do remote access the server, open MySQL Workbench, and change the value in the Sql table, and the in-game message will changed *query_sql script command can do this script [paste=1flvas7upfip] forget about that `id` field ... for some reason if you want to use EDIT on the table, must have a primary key field so just change the `reach` field to your currently quota, and `goal` ... self explainable using this script has to update manually though or do you already having an existing table that already list out all the donors on your server ? just do select sum(donate) from donor_table where left( donate_date, 7 ) = '2014-01'
-
prontera,156,184,5 script Quota 100,{ mes "[Quota System]"; mes "£ 200.00"; close; } tell us more about this "Quota" system that you are talking about x.x
-
reference http://rathena.org/board/topic/66423-mvp-rank/?p=178037 http://www.eathena.ws/board/index.php?showtopic=191107 script [paste=3se94m739i57]
-
http://rathena.org/wiki/Changesex dispbottom "Sex Change!";lol no need this one the player has been kicked to the login screen already, they couldn't see this message
-
waitingroom "Battle Ground",getvariableofnpc(.gameplayeramount,"batleVg"),"Battleground Vg#1::OnJoin",getvariableofnpc(.gameplayeramount,"batleVg");change into waitingroom "Battle Ground",getvariableofnpc(.gameplayeramount,"batleVg")+1,"Battleground Vg#1::OnJoin",getvariableofnpc(.gameplayeramount,"batleVg");.gameplayeramount should remain as 1 btw, most of the goddameit scripts has bugs, and he seldom debug it so if the script not working correctly, maybe its not your fault