Jump to content

Emistry

Forum Moderator
  • Posts

    10018
  • Joined

  • Days Won

    408

Everything posted by Emistry

  1. Emistry

    FluxCP Templates

    https://rathena.org/board/files/category/159-fully-coded-themes/
  2. 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; }
  3. the warning already told you the solution.....find and replace RC_PLAYER with RC_PLAYER_HUMAN
  4. 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.
  5. 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>";
  6. //===== 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
  7. Emistry

    HELP PLEASE

    input .@amount, 0, countitem(7711); if (.@amount > 0) { delitem 7711, .@amount; #KAFRAPOINTS += (.@amount * 10); }
  8. 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
  9. .@x = rand(1, 300); .@y = rand(1, 300); movenpc strnpcinfo(3), .@x, .@y; warp .@map$, .@x, .@y;
  10. refer to the value you have set in your lua files/datainfo/accessoryid.lub
  11. 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;
  12. 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
  13. [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.
  14. set .@left, 50 - $giveaway; mes .@left + " Items left."; change to mes "Give Away: "+ $giveaway;
  15. better formatting and readability for each fields.
  16. - 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; }
  17. 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 );
  18. There are 2 reasons: you didn't compiled it, or failed to compile it you compiled it but your antivirus removed the exe
  19. find the Go function and replace it.
  20. 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.
  21. 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;
  22. 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...
  23. 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; }
  24. if (checkquest(xxxxx) != -1) { erasequest xxxxx; } find the quest id that are used for quest cooldown.
×
×
  • Create New...