-
Posts
10018 -
Joined
-
Days Won
408
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Emistry
-
https://rathena.org/board/files/category/159-fully-coded-themes/
- 1 reply
-
- 1
-
-
askald,145,195,3 script Gold Room Enter#prt 920,{ mes "Enter the red colored code:"; .@code$ = rand(100000); mes rand(100, 999999) + "^FF0000"+.@code$+"^000000" + rand(100, 999999); input .@input$; if (.@input$ == .@code$) { warp "pvp_n_4-1",0,0; end; } else { mes "wrong."; } close; OnInit: waitingroom "Gold Room Enter",0; end; }
-
the warning already told you the solution.....find and replace RC_PLAYER with RC_PLAYER_HUMAN
-
Read the date? reply are made on May .. and the PR came out after that? You're probably hoping that editing that one line would help you solve your issue, but the truth is more work are required to implement the support for above 65k IDs. and what is the answer? Nitrous already posted that. Implement the PR and help test for the result.
-
mes "<ITEM>"+getitemname(.@matches[.@i]) +"<INFO>"+.@name$+"</INFO></ITEM> [" + getitemslots(.@matches[.@i]) + "]"; change into mes "<ITEM>"+.@matches[.@i]+"<INFO>"+getitemname(.@matches[.@i])+" [" + getitemslots(.@matches[.@i]) + "]</INFO></ITEM>";
-
//===== rAthena Script ======================================= //= Find the Mushroom //===== By: ================================================== //= Mysterious //===== Current Version: ===================================== //= 3.6a //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= Find the Mushroom - random amount of Mushrooms spawns in random maps. //= Players need to find these mushrooms and kill them to gain prizes! //===== Additional Comments: ================================= //= 3.0 Fully Functional with Rewritten script. [Mysterious] //= 3.6a Slightly edited. [Euphy] //============================================================ prontera,142,228,6 script Find the Mushroom 1084,{ mes "[ Find The Mushroom ]"; if (.status == 1) { .@count = mobcount( .event_map$, strnpcinfo(0) + "::OnMobKilled" ); if (.@count > 0) { mes "There are " + .@count + " Mushrooms left in " + .event_map$ + "!"; mes "Find and kill the mushrooms to gain " + getitemname(.prize) + "!"; close; } .event_map$ = ""; .status = 0; mes "All the mushrooms are killed?"; } mes "There is no event at the moment!"; if (.status || getgmlevel() < .GM) close; mes "Start the event?"; next; if (select("- No:- Yes") == 1) close; donpcevent strnpcinfo(0) + "::OnMinute30"; mes "[ Find The Mushroom ]"; mes "Event started!"; close; OnInit: .prize = 30000; // Reward item ID .amount = 1; // Reward item amount .GM = 60; // GM level required to access NPC setarray .maps_list$[0],"izlude","geffen","morocc","prontera"; // Possible maps end; OnMinute30: // Start time (every hour) if (.status) end; if (agitcheck() || agitcheck2() || agitcheck3()) end; .status = 1; .@spawn = rand(1,50); // How many Mushrooms should spawn? .event_map$ = .maps_list$[ rand(getarraysize(.maps_list$)) ]; .@label$ = strnpcinfo(0) + "::OnMobKilled"; killmonster .event_map$, .@label$; monster .event_map$,0,0,"Please don't kill me!",1084,.@spawn, .@label$; announce "We will be having Find Mushroom Event!",0; sleep 5000; announce "Total of " + .@spawn + " Mushrooms have been spawned in " + .event_map$ + ".",0; sleep 2500; announce "Every Mushroom you kill will give you 1 " + getitemname(.prize) + " and 1 Activity Point.",0; sleep 2500; announce "Now lets do this! Goodluck!",0; initnpctimer; end; OnTimer1800000: // max 1800 seconds. OnEnd: .status = 0; .event_map$ = ""; killmonster .event_map$, strnpcinfo(0) + "::OnMobKilled"; announce "The Find the Mushroom Event has ended. All the Mushrooms have been killed.",0; end; OnMobKilled: dispbottom "You got 1 Activity Point for Killing the Mushroom"; set #ACTIVITYPOINTS, #ACTIVITYPOINTS += 1; if (playerattached() == 0) end; getitem .prize, .amount; .@spawn = mobcount( .event_map$, strnpcinfo(0) + "::OnMobKilled" ); if (.@spawn > 0) announce "[ " + strcharinfo(0) + " ] has killed a Mushroom. There are now " + .@spawn + " Mushroom(s) left.",bc_map; else { donpcevent strnpcinfo(0) + "::OnEnd"; } end; } try
-
input .@amount, 0, countitem(7711); if (.@amount > 0) { delitem 7711, .@amount; #KAFRAPOINTS += (.@amount * 10); }
-
Ever wonder why these random number show up in your RO game client? It's called Character Code (C-CODE), an old system that implemented around 2013. If you enable this system you'll be protected against fraud since it offers a unique additional protection for each player present in-game. As you can see from the screenshot above, there exists an extra set of codes (It show up int he basic information window, and the right-click menu of player object). According to KRO, these codes doesn't repeat/overlap and its unique for every players. It offers a unique additional protection for each player present in-game. When you right-click on any player object, the C-Code are shown at the last menu ([C-Code] : ### - ###) Its ranging from 000-000 ~ 999-999, around 1,000,000 set of codes. However its not confirmed that the numbers won't repeat itself if there are multiple server setup. Click on the menu, the C-Code will be copied to clipboard. Open up any text editor or notepad, press on CTRL + V, the codes will be shown in the editor. Notes: If you copied the codes, and take a screenshot right away, the codes will be removed from the clipboard. The codes are shown display behind character's level in the trading window. Sample of different C-Code for different characters. References: home.gamer.com.tw
-
.@x = rand(1, 300); .@y = rand(1, 300); movenpc strnpcinfo(3), .@x, .@y; warp .@map$, .@x, .@y;
-
Looking for more information on Costume Thanatos Sword Code
Emistry replied to shadowmu's question in Database Requests
refer to the value you have set in your lua files/datainfo/accessoryid.lub -
OnPCDieEvent: .@killerrid = killerrid; if (strcharinfo(3) == .map$ && .@killerrid != getcharid(3)) { .@total_gold_point = #GOLDPOINTS; #GOLDPOINTS = 0; dispbottom "You died, you lost all the points."; if (attachrid(.@killerrid)) { #GOLDPOINTS += .@total_gold_point; dispbottom "You gained "+.@total_gold_point+" gold points."; } } end;
-
setarray $@SRT,100,100,100,100,100,100,100,100,0,0,0,0,0,0,0,0,0,0,0,0; increase/decrease the value ..... (value / sum_of_value * 100%) = your rate
-
Can i put a navigation link in the quest log?
Emistry replied to admagnus's question in Client-side Support
[1234] = { Title = "Sample Quest", IconName = "ico_ep.bmp", Description = { "Go to <NAVI>[prontera]<INFO>prontera,155,181,0,101,0</INFO></NAVI>." }, Summary = "Sample Quest for navigation." }, edit your OnGoingQuestinfoList LUB file. -
set .@left, 50 - $giveaway; mes .@left + " Items left."; change to mes "Give Away: "+ $giveaway;
-
better formatting and readability for each fields.
-
check if the player is from the guild that has the castle
Emistry replied to powkda's question in Scripting Support
- script Guarda -1,{ OnInit: .map$ = "prtg_cas01"; .enable_if_woe_on = 1; setmapflag .map$, mf_loadevent; end; OnPCLoadMapEvent: if (strcharinfo(3) == .map$) { .@castle_gid = getcastledata(.map$, 1); .@gid = getcharid(2); if (.@castle_gid && .@gid == .@castle_gid) { dispbottom "[Sala do Clã]: Seja bem vindo a Sala do Clã"; } else { dispbottom "[Sala do Clã]: Apenas os Guerreiros que conquistaram o Castelo de Kriemhild podem estar neste lugar!"; if (.enable_if_woe_on && (agitcheck() || agitcheck2() agitcheck3())) { // allow during woe if enabled. } else { warp "kalindor",146,169; } } } end; } -
Disallow Dual Login/IP/Account and allow Autotrade for this case
Emistry replied to Tales's question in General Support
change query_sql( "SELECT `login`.`account_id` FROM `login` INNER JOIN `char` ON `char`.`account_id` = `login`.`account_id` WHERE `last_ip` = '"+escape_sql( getcharip() )+"' AND `char`.`online` = 1 AND `login`.`account_id` NOT IN ( SELECT `account_id` FROM `autotrade_merchants` )",.@count ); to query_sql( "SELECT `login`.`account_id` FROM `login` INNER JOIN `char` ON `char`.`account_id` = `login`.`account_id` WHERE `last_ip` = '"+escape_sql( getcharip() )+"' AND `char`.`online` = 1 AND `login`.`account_id` NOT IN ( SELECT `account_id` FROM `vendings` )",.@count ); -
How to convert quest_db to quest_db.yml
Emistry replied to EzioO Auditore's question in Database Support
There are 2 reasons: you didn't compiled it, or failed to compile it you compiled it but your antivirus removed the exe -
find the Go function and replace it.
-
Enable/disable npc in certains different day and time
Emistry replied to LearningRO's question in Scripting Support
your script, just redundancy, and NPC may not show upon reloaded at certain hours. performance-wise, maybe its is lightly better, since it do much less computation than mine, but its too less to be notice. -
you should change those for(set .i,0; .i < getarraysize(.idc);set .i,.i+1){ for(set .x,1; .x <= 10;set .x,.x+1){ if(getequipid(.x) == .idc[.i]){ unequip .x; } } } into for(set .@i,0; .@i < getarraysize(.idc);set .@i,.@i+1){ for(set .@x,1; .@x <= 10;set .@x,.@x+1){ if(getequipid(.@x) == .idc[.@i]){ unequip .@x; } } } anyway, i think you could try something like this, which should work too. OnPCLoginEvent: if (!getgmlevel()) { if (isequippedcnt(30267,30268,30269,30285,30286,30287,30282,30283,30284,30276,30277,30278,30264,30265,30266,30273,30274,30275,30270,30271,30272,30279,30280,30281,30289,30302,30316,30261,30262,30263,30310,30311,30312,30295,30296,30297,30305,30293,30290,30303,30299,30291,30300,30298,30292,30308,30309,30294,30063,30064,30065,30066,30067,30068,30301,30304,30288,30306,30307,30317,30314,30315,30313,30318,30319,30320,30321,30322,30323,30197,30198,30199,30200) > 0) { nude; } } end;
-
OnInit: OnTimer1000: initnpctimer; delwaitingroom; waitingroom "Status: "+( (getmapusers(.yourmap$) == 0)?"No Player":"Having Player"),0; end; avoid using those infinite while(1) tricks... its not resource friendly...
-
Requesting for 2018 Client support Renewal
Emistry replied to Onairda's question in Client-side Support
http://nemo.herc.ws/clients/#2018 -
Enable/disable npc in certains different day and time
Emistry replied to LearningRO's question in Scripting Support
prontera,139,219,3 script NPC 99,{ mes "helo"; close; OnInit: OnMinute00: if ((gettime(DT_DAYOFWEEK) == SUNDAY && gettime(DT_HOUR) >= 18 && gettime(DT_HOUR) < 19) // Day A 1800~1900 || (gettime(DT_DAYOFWEEK) == MONDAY && gettime(DT_HOUR) >= 19 && gettime(DT_HOUR) < 20) // Day B 1900~2000 ) { hideoffnpc strnpcinfo(0); } else { hideonnpc strnpcinfo(0); } end; } -
if (checkquest(xxxxx) != -1) { erasequest xxxxx; } find the quest id that are used for quest cooldown.