-
Posts
325 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by Santafe
-
-
2 hours ago, Alayne said:
Yeah the disablenpc will disable it as said ans I dunno if when disabled the onclock, which is inside the same npc, will un hide it. To be tested.
For the menu can you make a screen I don't understand sorry ^^'. The items are in the array you need to fill it I used dummy data.
The menu is split into 2 ( meaning, when i click the "3" option, it goes to a new option with 3 and exchange with carrot as a new menu again )
-
49 minutes ago, Scanty said:
hideoffnpc strnpcinfo(3);
to
disablenpc strnpcinfo(0);
Maybe?
Yea that actually worked, thanks! but i donno if it would reappear when the OnClock happens,
Also @Alayne the menu when I talk to npc seems to be messed up like, "What do you want to do" >> options are :
3
exchange for carrot
i cant exchange for anything else but a carrot or a grape
-
6 hours ago, Alayne said:
Can't test it, but this should more or less do the job
Tell me if there's an issue.
Hey Alayne thanx for the script, It works quite well but for some reason the npc isnt hidden i can see its shadow xD (guessing thats the 903 NPC ID)
-
Hey everyone,
I would like to request a unique item exchanger. Lets say there are 4 items a,b,c,d. The exchanger can exchange item "a" for b/c/d / item "b" for a/c/d and so on. This exchanger also appears only at a particular day? like OnFriday with an OnClock ? and also there is an announcement when he arrives and leaves. He disappears after 1 hour (hidenpc?)
Thanks and Regards ,
Santa
-
On 11/7/2017 at 10:47 PM, Innos said:
Take this, this are the Maps from the Script. More i haven't.
Ah i never knew this got a reply my bad! Thanks for the script / grf just wat i needed
-
9 hours ago, sader1992 said:
- script mall_command -1,{ OnMall: if(getmapflag(strcharinfo(3),mf_town)){ warp "quiz_02",0,0; }else{ message strcharinfo(0),"you have to be in town to use this command"; } end; OnInit: bindatcmd("mall",strnpcinfo(3)+"::OnMall",0,99); }
oh ma gerd works like a charm ty Sader <3
@Alayne thanks for your help too <3
-
6 hours ago, Alayne said:
Can't test it but this should do the job
prontera,119,42,0 script AtCommand::alaatcom HIDDEN_WARP_NPC,{ end; OnWarpAsked: freeloop 1; .@continue = 1; for( .@i = 0; .@i<getarraysize(.townMap$) && .@continue == 1; .@i++) { if(.townMap$[.@i] == strcharinfo(3)) { .@continue = 0; } } freeloop 0; if(.@continue == 0) { warp .warpMap$, .warpX, .warpY; } else { dispbottom "[Warp System] You must be in town to use this command"; } return 1; OnInit: bindatcmd "toquiz",strnpcinfo(3)+"::OnWarpAsked"; .warpMap$ = "quiz_02"; .warpX = 0; .warpY = 0; setarray .townMap$[0],"prontera","geffen","alberta"; //to fill end; }
Hello, thanks for the scrip, the command works but i get this warning and debug everytime i use it :
[warning]: script:run_func:AtCommand at prontera (119,42) [debug]: Source(NPC): AtCommand at prontera (119,42)
-
Hello everyone,
I would like to request a bind at command to warp into a specific place like a mall using @mall, It warps to quiz_02 but it can only be used in towns, If used anywhere else it asks the player to be in a town.
Thanks and regards,
Santafe
-
4 hours ago, whodhell said:
i enable the mission hunting quest on rathena
i got this error
[Warning]: script:op_2num: overflow detected op=C_MUL i1=47 i2=690130000 [Debug]: Source (NPC): Hunting Missions at prontera (145,172) [Warning]: script:op_2num: overflow detected op=C_MUL i1=47 i2=307900000 [Debug]: Source (NPC): Hunting Missions at prontera (145,172)
here is the script
//===== rAthena Script ======================================= //= Hunting Missions //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.4 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= Random hunting missions. //= Rewards are based on quest difficulty. //= //= NOTE: Requires SQL mob database. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.1 Small improvements and fixes. //= 1.2 Added party support and replaced blacklists with an //= SQL query, both thanks to AnnieRuru. //= 1.3 Re-added a blacklist adapted for the SQL query. //= 1.3a Added mission reset options. //= 1.3b Function updates. //= 1.4 Check for deleted characters, thanks to AnnieRuru. //= Syntax updates and style cleaning. //============================================================ prontera,145,172,5 script Hunting Missions 951,{ function Chk; mes "[Hunting Missions]"; mes "Hello, " + strcharinfo(0) + "!"; if (!#Mission_Delay) { next; mes "[Hunting Missions]"; mes "I can't find any records..."; mes "You must be new here!"; emotion e_omg; next; callsub Mission_Info; emotion e_go; #Mission_Delay = 1; close; } mes rand(2) ? "Working hard, as always..." : "Not slacking, I hope..."; mes "Is there anything I can help"; mes "you with?"; mes " "; mes "^777777~ You've completed " + callfunc("F_InsertPlural",Mission_Total,"mission",0,"^0055FF%d^777777 %s") + ". ~^000000"; next; switch(select( ((!Mission0) ? " ~ New Mission::" : ": ~ Mission Status: ~ Abandon Mission") + ": ~ Information: ~ Mission Shop: ~ View Top Hunters: ~ ^777777Cancel^000000" )) { case 1: mes "[Hunting Missions]"; if (#Mission_Count) { mes "You've started a mission"; mes "on another character."; if (!@hm_char_del_check) { // check for deleted character query_sql("SELECT 1 FROM `char_reg_num` WHERE `key` = 'Mission0' AND `char_id` IN(SELECT `char_id` FROM `char` WHERE `account_id` = " + getcharid(3) + ")", .@i); if (!.@i) { next; mes "[Hunting Missions]"; mes "I can't seem to find any records"; mes "for that character, though..."; mes "One moment, please."; emotion e_hmm; #Mission_Count = 0; } @hm_char_del_check = 1; } close; } if (#Mission_Delay > gettimetick(2) && .Delay) { mes "I'm afraid you'll have to wait " + callfunc("Time2Str",#Mission_Delay) + " before taking another mission."; close; } mes "You must hunt:"; query_sql("SELECT ID FROM `" + .mob_db$ + "` WHERE left(Sprite, 4) != 'meta' AND left(Sprite, 2) != 'E_' AND ~Mode & 32 AND EXP > 0 AND MVP1id = 0 AND DropCardid > 4000 AND DropCardid < 5000 AND ID < 2000 AND instr('"+.Blacklist$+"',ID) = 0 ORDER BY rand() LIMIT " + .Quests, .@mob); for (.@i = 0; .@i < .Quests; .@i++) { setd "Mission" + .@i, .@mob[.@i]; setd "Mission" + .@i +"_", 0; } #Mission_Count = rand(.Count[0], .Count[1]); callsub Mission_Status; next; mes "[Hunting Missions]"; mes "Report back when"; mes "you've finished."; mes "Good luck!"; close; case 2: mes "[Hunting Missions]"; mes "Mission status:"; callsub Mission_Status; close; case 3: mes "[Hunting Missions]"; mes "Do you really want to"; mes "abandon your mission?"; if (.Reset < 0 && .Delay) mes "Your delay time will not be reset."; else if (.Reset > 0) mes "It will cost " + callfunc("F_InsertComma",.Reset) + " Zeny."; next; switch(select(" ~ Abandon...: ~ ^777777Cancel^000000")) { case 1: if (.Reset > 0) { if (Zeny < .Reset) { mes "[Hunting Missions]"; mes "You don't have enough"; mes "Zeny to drop this mission."; emotion e_sry; close; } Zeny -= .Reset; emotion e_cash; } mes "[Hunting Missions]"; mes "Alright, I've dropped"; mes "your current mission."; specialeffect2 EF_STORMKICK4; for (.@i = 0; .@i < .Quests; .@i++) { setd "Mission"+.@i, 0; setd "Mission"+.@i+"_", 0; } #Mission_Count = 0; if (.Reset < 0 && .Delay) #Mission_Delay = gettimetick(2) + (.Delay * 3600); close; case 2: mes "[Hunting Missions]"; mes "I knew you were kidding!"; mes "Keep up the good work."; emotion e_heh; close; } case 4: callsub Mission_Info; close; case 5: mes "[Hunting Missions]"; mes "You have ^0055FF" + #Mission_Points + "^000000 Mission Points."; mes "Use them well!"; callshop "mission_shop",1; npcshopattach "mission_shop"; end; case 6: mes "[Hunting Missions]"; mes "The top hunters are:"; query_sql("SELECT char_id AS id, (SELECT `name` FROM `char` WHERE char_id = id),`value` FROM `char_reg_num` WHERE `key` = 'Mission_Total' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT 5", .@id, .@name$, .@val); for (.@i = 0; .@i < 5; .@i++) mes " [Rank " + (.@i+1) + "] " + ((.@name$[.@i] == "") ? "^777777none" : "^0055FF" + .@name$[.@i]+"^000000 : ^FF0000" + .@val[.@i] + " pt.") + "^000000"; close; case 7: mes "[Hunting Missions]"; mes "Nothing? Okay..."; emotion e_hmm; close; } end; Mission_Status: @f = 0; deletearray .@j[0], getarraysize(.@j); for (.@i = 0; .@i < .Quests; .@i++) { .@j[.@i] = getd("Mission" + .@i); .@j[.Quests] = .@j[.Quests] + strmobinfo(3,.@j[.@i]); .@j[.Quests+1] = .@j[.Quests+1] + (strmobinfo(6,.@j[.@i]) / (getbattleflag("base_exp_rate") / 100) * .Modifier[0]); .@j[.Quests+2] = .@j[.Quests+2] + (strmobinfo(7,.@j[.@i]) / (getbattleflag("job_exp_rate") / 100) * .Modifier[1]); mes " > "+Chk(getd("Mission"+.@i+"_"),#Mission_Count) + strmobinfo(1,.@j[.@i]) + " (" + getd("Mission"+.@i+"_") + "/" + #Mission_Count + ")^000000"; } // Reward formulas: .@Mission_Points = 3 + (.@j[.Quests] / .Quests / 6); .@Base_Exp = #Mission_Count * .@j[.Quests+1] / 5; .@Job_Exp = #Mission_Count * .@j[.Quests+2] / 5; .@Zeny = #Mission_Count * .Quests * .@j[.@i] * .Modifier[2]; next; mes "[Hunting Missions]"; mes "Mission rewards:"; mes " > Mission Points: ^0055FF" + .@Mission_Points + "^000000"; mes " > Base Experience: ^0055FF" + callfunc("F_InsertComma",.@Base_Exp) + "^000000"; mes " > Job Experience: ^0055FF" + callfunc("F_InsertComma",.@Job_Exp) + "^000000"; mes " > Zeny: ^0055FF" + callfunc("F_InsertComma",.@Zeny) + "^000000"; if (@f) { @f = 0; return; } next; mes "[Hunting Missions]"; mes "Oh, you're done!"; mes "Good work."; mes "Here's your reward."; emotion e_no1; specialeffect2 EF_ANGEL; specialeffect2 EF_TRUESIGHT; #Mission_Points += .@Mission_Points; BaseExp += .@Base_Exp; JobExp += .@Job_Exp; Zeny += .@Zeny; for (.@i = 0; .@i < .Quests; .@i++) { setd "Mission" + .@i, 0; setd "Mission" + .@i+"_", 0; } #Mission_Count = 0; if (.Delay) #Mission_Delay = gettimetick(2) + (.Delay * 3600); Mission_Total++; if (Mission_Total == 1) query_sql("INSERT INTO `char_reg_num` (`char_id`,`key`,`index`,`value`) VALUES (" + getcharid(0) + ",'Mission_Total','0',1)"); else query_sql("UPDATE `char_reg_num` SET `value` = " + Mission_Total + " WHERE `char_id` = " + getcharid(0) + " AND `key` = 'Mission_Total'"); close; Mission_Info: mes "[Hunting Missions]"; mes "If you so choose, I can assign"; mes "you a random hunting quest."; mes "Some are easier than others, but"; mes "the rewards increase with difficulty."; next; mes "[Hunting Missions]"; mes "Missions points are shared"; mes "amongst all your characters."; if (.Delay) mes "Delay time is, too."; mes "You can't take missions on"; mes "multiple characters at once."; next; mes "[Hunting Missions]"; mes "You can start a quest"; mes (.Delay ? "every " + ((.Delay == 1) ? "hour." : .Delay + " hours.") : "whenever you want."); mes "That's everything~"; return; function Chk { if (getarg(0) < getarg(1)) { @f = 1; return "^FF0000"; } else return "^00FF00"; } OnBuyItem: @cost = 0; for (.@i = 0; .@i < getarraysize(@bought_nameid); .@i++) for (.@j = 0; .@j < getarraysize(.Shop); .@j += 2) if (@bought_nameid[.@i] == .Shop[.@j]) { set @cost, @cost + (.Shop[.@j+1] * @bought_quantity[.@i]); break; } mes "[Hunting Missions]"; if (@cost > #Mission_Points) mes "You don't have enough Mission Points."; else { for (.@i = 0; .@i < getarraysize(@bought_nameid); .@i++) { getitem @bought_nameid[.@i], @bought_quantity[.@i]; dispbottom "Purchased " + @bought_quantity[.@i] + "x " + getitemname(@bought_nameid[.@i]) + "."; } #Mission_Points -= @cost; mes "Deal completed."; emotion e_cash; } @cost = 0; deletearray @bought_nameid[0], getarraysize(@bought_nameid); deletearray @bought_quantity[0], getarraysize(@bought_quantity); close; OnNPCKillEvent: if (!getcharid(1) || !.Party) { if (!#Mission_Count || !Mission0) end; for (.@i = 0; .@i < .Quests; .@i++) { 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) + "."; end; } } } } else if (.Party) { .@mob = killedrid; getmapxy(.@map1$,.@x1,.@y1,UNITTYPE_PC); getpartymember getcharid(1),1; getpartymember getcharid(1),2; for (.@i = 0; .@i < $@partymembercount; .@i++) { if (isloggedin($@partymemberaid[.@i], $@partymembercid[.@i])) { set .@Mission_Count, getvar(#Mission_Count, $@partymembercid[.@i]); set .@Mission0, getvar(Mission0, $@partymembercid[.@i]); set .@HP, readparam(HP, $@partymembercid[.@i]); if (.@Mission_Count && .@Mission0 && .@HP > 0) { getmapxy(.@map2$,.@x2,.@y2,UNITTYPE_PC); if ((.@map1$ == .@map2$ || .Party == 1) && (distance(.@x1,.@y1,.@x2,.@y2) <= 30 || .Party < 3)) { for (.@j = 0; .@j < .Quests; .@j++) { .@my_mob_id = getvar( getd("Mission"+.@j),$@partymembercid[.@i] ); .@my_count = getvar( getd("Mission"+.@j+"_"), $@partymembercid[.@i] ); if (strmobinfo(1,.@mob) == strmobinfo(1,.@my_mob_id)) { if (.@my_count < .@Mission_Count) { setd "Mission"+.@j+"_", (.@my_count+1), $@partymembercid[.@i]; dispbottom "[Hunting Mission] Killed " + (.@my_count+1) + " of " + .@Mission_Count + " " + strmobinfo(1,.@mob) + ".", 0x777777, $@partymembercid[.@i]; break; } } } } } } } } end; OnInit: .Delay = 6; // Quest delay, in hours (0 to disable). .Quests = 4; // Number of subquests per mission (increases rewards). .Party = 0; // Party options: 0 (exclude party kills), 1 (include party kills), 2 (same map only), 3 (screen area only) .Reset = -1; // Reset options: -1 (abandoning mission sets delay time), 0 (no delay time), [Zeny] (cost to abandon mission, no delay time) setarray .Count[0], // Min and max monsters per subquest (increases rewards). 40,50; setarray .Modifier[0], // Multipliers for Base Exp, Job Exp, and Zeny rewards. getbattleflag("base_exp_rate")/100,getbattleflag("job_exp_rate")/100,60; .mob_db$ = // Table name of SQL mob database (checkre(0))?"mob_db_re":"mob_db"; setarray .Shop[0], // Reward items: <ID>,<point cost> (about 10~20 points per hunt). 49992,100; .Blacklist$ = // Blacklisted mob IDs. "1062,1088,1183,1186,1200,1212,1220,1221,1234,1235,"+ "1244,1245,1250,1268,1290,1293,1294,1296,1298,1299,"+ "1300,1301,1303,1304,1305,1306,1308,1309,1311,1313,"+ "1515,1588,1618,1676,1677,1678,1679,1796,1797,1974,"+ "1975,1976,1977,1978,1979,1203,1108,1270,1289,1096,"+ "1388,1641,1873,1830,1839,1307,1283,1302,1582,1091,"+ "1093,1205,1783,1681,1120,1259,1990,1626,1643,1645,"+ "1720,1920,1918,1921,1919,1833,1640,1090,1262,1956,"+ "1700,1894,1701,1644,1703,1829,1991,1710,1705,1707,"+ "1712,1711,1706,1704,1709,1960,1961,1959,1958,1204,"+ "1089,1092,1765,1642,1929"; npcshopdelitem "mission_shop",512; for (.@i = 0; .@i < getarraysize(.Shop); .@i += 2) npcshopadditem "mission_shop", .Shop[.@i], .Shop[.@i+1]; end; } - shop mission_shop -1,512:-1
You have a custom base and job exp so it shows the overflow.
Replace 100 in this line :
setarray .Modifier[0], // Multipliers for Base Exp, Job Exp, and Zeny rewards. getbattleflag("base_exp_rate")/100,getbattleflag("job_exp_rate")/100,60;
into watever rate you have in ur base and job exp rate in the "exp.conf" file.
-
-
Hey everyone, does any 1 still have the script of Guild house rental from eAthena? if so plz share
thanks in advance
-
Hey everyone, I would like to request a render of rA logo so that i could use it on my login screen saying Powered by rA . (rA or rAthena is fine) Thanks in advance
Edit: My bad got it from here
-
1 hour ago, Quesooo said:
i check my grf and i find it on normal sprites not inside the costume sprites
also using Job Sprite: Third Job Costumes: Corrected but if you check the grf files inside this you cant see the sprite also
I think your client is reading grf instead of data. either merge sprites into grf or put it manually into ur data folder and convert it into grf.
-
13 hours ago, pumks said:
i mean my damage after i edit skill formula in src file from
i = 10 * (16 - skill_lv); to
i = 10 * (14 - skill_lv);
that make my CT damage increased to 999k, can you help me to decrease that to 50k or 35k?
By making it 14 u increased the skill's damage. Try to make the 14 into 18 to 22 or more depending on wat the damage output is.
-
3 hours ago, pumks said:
It's work bro to increase damage, but i want make damage high and then low by Hit chance not stay on high dmg, help me plss....
I dont understand what your saying but im guessing u mean increase the crit rate of CT. Any skill will miss if the HIT is below the flee rate unless u have seeking atk(Hits flee opponents even with low hit). If ur talking about critical damage then make a weapon that is exclusive to Whitesmith and use this bonus : bonus bCriticalRate,n; and replace "n" with any number. If u say 1 = 1% crit rate 2 = 2% and so on. Hope this helps. I dont think theres any other way to vary the damage like u mentioned.
-
14 hours ago, hendra814 said:
not sure but you could try this
https://rathena.org/board/topic/111902-sure-1-refine-w-required-item/?page=0#comment-328975
Thanks its quite close to wat i want so ill work around with it
-
Hello everyone, I would like to request a refiner that refines an equipment for a particular set of coins. Example : Safe refines like normal refiner till +4, for +5 ~ +10 player needs to exchange 10 gold coins per refine. i.e. 10 GC for +6 / 15 GC for +7... till +10 and from 11-20 using platinum coins with similar increment. The player gets a sure refine ( no chance of failing). If it matters in anyway (script wise), I use rAmod
-
On 9/20/2017 at 8:06 AM, pumks said:
Hi rAthena I need help for increase dmg Cart Termination White Smith skill anyone help me pls ....
There are 2 ways to do so.
1. You increase max_cart_weight at this directory >/conf/battle/player.conf and your CT damage increases accordingly.
2. Read the skill description and do what crazyarashi wrote but you need to do unnecessary calculations.
the % of weight considered as damage increases as level of skill increases so u just reduce the "16" in i = 10 * (16 - skill_lv);
Note: Make sure u dont change 16 to any value below 11 this might cause problems as the CT will do 0 dmg if its 10 or below.
-
Make sure you open port :80 at your modem/router via port fowarding
Also, dont open skype when u start wamp. Skype will use port : 80 thus it will make your localhost web not working.
i dont have skype. tried it and still no avail the localhost works. its just that fluxcp folder doesnt work. i click and the installation doesnt come its just a error page where it says site cannot be reached and DNS not found
-
Hey everyone, i just installed wamp and got the phpmyadmin to work. I pasted the fluxcp file in the "www" folder inside wamp. when i open it on my browser at localhost and click on fluxcp file i get a page that says "flux DNS address could not be found" and "The site cant be reached" . all database usernames and pass have been set perfectly but i donno y it isnt working plz help asap :/
-
*bump* :/
-
-
Hey guyz, i request a npc that does the following :
first says hi then bla bla bl(so i can fill in with my own quotes?)
then he asks if player has 5 items(different items) if the player does have it, hell take it from the player and gives him a hunting quest where he has to kill multiple mobs(example: 3 mobs?)(note: it should not have a time limit he can finish it any time he wants) ex: 500 porings 200 lunatics etc, and finally gives a randomized item ( out of a list of 5 items?) and gives an announcement to server saying "Player"Has finished the quest to recieve "xxx"(item name which was obtained? from those 5 items). Thanks in advance
*Blump* -
Y not use emistrys multipurpose shop? Just add the item ID of tcg and the god items and ur done
Unique exchanger
in Script Requests
Posted
none, i just removed the hidenpc and onclock to test the script, nothing else