-
Posts
459 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Everything posted by rakuzas
-
Hi, I don't know what is the cause.. And I just notice recently.. Why I keep getting DB Error ? Like picture below..
-
For those who cant apply patch, you need to do it manually.. I just tested and its working with clean rAthena and 2015 client.. But it would be nice if the script auto disable when player died and respawn.. And also be nice if we manage to display cutin when player activate the @autoattack command.. Nice release.. Love it!!
-
Hi, Very nice script.. But 4. In-game Item Descriptions: I have problem.. Do I need to edit something to make it works? Because when I put @ii2 501, it not works.. Just show <ITEMLINK>Red Potion <INFO>501</INFO></ITEMLINK> Click on the name of the item above.
-
WELCOME BACK GIVER NPC Hello, I just to share one of my scripts that currently using in my current server as thanks for this community for helping me a lot since I join 2013 till now. Thanks to @Emistry for giving examples script for just give item for certain player only~ What does this script do? This NPC will give items base on last ID you set. So, newer player who register later cannot claimed this gift. How to configure? Just edit line : 1) LAST ACCOUNT ID if ( getcharid(3) > 2000003 ) Note : 2000003 is the last ID I want to give the package.. You may set it to any ID you want.. Only the last ID can claim.. So, player who register later with ID 2000004 and so on cannot claim. 2) ITEM TO GIVE getitem 31129,1; Note : 31129 is my custom Package, you can replace to any other item, and 1 is amount of items to give. So, enjoy the script.. Hope it will be useful.. Welcome Back Giver NPC.txt
-
Tested.. Working.. But.. When I set // Number of times same IP can recive rewards // 0 = unlimited .IPCheck = 1; The scripts not working.. It will run this line : if(.IPCheck){ query_sql("SELECT last_ip FROM `login` WHERE account_id = "+getcharid(3)+"", .@LastIp$); query_sql("SELECT account_id FROM `login` WHERE last_ip = '"+.@LastIp$+"'", .@AccountId); if(getarraysize(.@AccountId) > .IPCheck){ message strcharinfo(0),"[Daily Rewards]: rewards are limited to "+.IPCheck+" per IP sorry."; end; } } If set to 0 (unlimited), the script will running smoothly again.. And also, are there any command or something to view the cutin of that day rewards?
-
Hi, I see some fluxcp display top player and top guild with emblem.. My question is.. Do they use any addon or it included in paid theme? Thank you..
-
- 1
-
-
Errr.. It's that easy? I thought need call SQL Query like that.. Thanks.. Will update after I tested.. Thanks you Sir..
-
I tried git pull in my current rathena.. And got this message : npc/re/quests/quests_glastheim.txt npc/re/quests/quests_izlude.txt npc/re/quests/quests_lighthalzen.txt npc/re/quests/quests_malangdo.txt npc/re/quests/quests_malaya.txt npc/re/quests/quests_mora.txt npc/re/quests/quests_morocc.txt npc/re/quests/quests_nameless.txt npc/re/quests/quests_veins.txt npc/re/quests/skills/swordman_skills.txt npc/re/quests/woe_te/te_goditem_alde1.txt npc/re/quests/woe_te/te_goditem_prt01.txt npc/re/quests/woe_te/te_mission_alde.txt npc/re/quests/woe_te/te_mission_main.txt npc/re/quests/woe_te/te_mission_prt.txt npc/re/scripts_athena.conf npc/re/scripts_guild.conf npc/re/scripts_jobs.conf npc/re/scripts_main.conf npc/re/scripts_mapflags.conf npc/re/scripts_monsters.conf npc/re/scripts_warps.conf npc/re/warps/cities/brasilis.txt npc/re/warps/cities/dewata.txt npc/re/warps/cities/dicastes.txt npc/re/warps/cities/eclage.txt npc/re/warps/cities/izlude.txt npc/re/warps/cities/malangdo.txt npc/re/warps/cities/malaya.txt npc/re/warps/cities/rachel.txt npc/re/warps/cities/yggdrasil.txt npc/re/warps/dungeons/bra_dun.txt npc/re/warps/dungeons/dic_dun.txt npc/re/warps/dungeons/ecl_dun.txt npc/re/warps/dungeons/ecl_tdun.txt npc/re/warps/dungeons/iz_dun.txt npc/re/warps/dungeons/moc_pryd.txt npc/re/warps/fields/bif_fild.txt npc/re/warps/fields/bra_fild.txt npc/re/warps/fields/com_fild.txt npc/re/warps/fields/dic_fild.txt npc/re/warps/fields/geffen_fild.txt npc/re/warps/fields/hugel_fild.txt npc/re/warps/fields/morroc_fild.txt npc/re/warps/fields/payon_fild.txt npc/re/warps/fields/prontera_fild.txt npc/re/warps/fields/rachel_fild.txt npc/re/warps/fields/veins_fild.txt npc/re/warps/fields/yuno_fild.txt npc/re/warps/guildcastles.txt npc/re/warps/other/arena.txt npc/re/warps/other/dimensional_gap.txt npc/re/warps/other/jobquests.txt npc/re/warps/other/paradise.txt npc/re/warps/other/s_workshop.txt npc/re/warps/other/sign.txt npc/scripts_athena.conf npc/scripts_custom.conf npc/scripts_guild.conf npc/scripts_jobs.conf npc/scripts_mapflags.conf npc/scripts_monsters.conf npc/scripts_test.conf npc/scripts_warps.conf npc/test/OnInterInit.txt npc/test/infinite_warp.txt npc/test/npc_test_checkweight.txt npc/warps/cities/alberta.txt npc/warps/cities/aldebaran.txt npc/warps/cities/amatsu.txt npc/warps/cities/ayothaya.txt npc/warps/cities/comodo.txt npc/warps/cities/einbech.txt npc/warps/cities/einbroch.txt npc/warps/cities/geffen.txt npc/warps/cities/gonryun.txt npc/warps/cities/hugel.txt npc/warps/cities/lighthalzen.txt npc/warps/cities/louyang.txt npc/warps/cities/lutie.txt npc/warps/cities/manuk.txt npc/warps/cities/mid_camp.txt npc/warps/cities/morroc.txt npc/warps/cities/moscovia.txt npc/warps/cities/nameless.txt npc/warps/cities/niflheim.txt npc/warps/cities/payon.txt npc/warps/cities/prontera.txt npc/warps/cities/splendide.txt npc/warps/cities/umbala.txt npc/warps/cities/veins.txt npc/warps/cities/yuno.txt npc/warps/dungeons/abbey.txt npc/warps/dungeons/abyss.txt npc/warps/dungeons/alde_dun.txt npc/warps/dungeons/ama_dun.txt npc/warps/dungeons/anthell.txt npc/warps/dungeons/ayo_dun.txt npc/warps/dungeons/beach_dun.txt npc/warps/dungeons/c_tower.txt npc/warps/dungeons/ein_dun.txt npc/warps/dungeons/gef_dun.txt npc/warps/dungeons/gon_dun.txt npc/warps/dungeons/ice_dun.txt npc/warps/dungeons/in_sphinx.txt npc/warps/dungeons/iz_dun.txt npc/warps/dungeons/juperos.txt npc/warps/dungeons/kh_dun.txt npc/warps/dungeons/lhz_dun.txt npc/warps/dungeons/lou_dun.txt npc/warps/dungeons/mag_dun.txt npc/warps/dungeons/mjo_dun.txt npc/warps/dungeons/moc_pryd.txt npc/warps/dungeons/mosk_dun.txt npc/warps/dungeons/odin.txt npc/warps/dungeons/orcsdun.txt npc/warps/dungeons/pay_dun.txt npc/warps/dungeons/prt_maze.txt npc/warps/dungeons/ra_san.txt npc/warps/dungeons/tha_t.txt npc/warps/dungeons/thor_v.txt npc/warps/dungeons/treasure.txt npc/warps/dungeons/tur_dun.txt npc/warps/dungeons/um_dun.txt npc/warps/dungeons/xmas_dun.txt npc/warps/fields/abyss_warper.txt npc/warps/fields/amatsu_fild.txt npc/warps/fields/ein_fild.txt npc/warps/fields/gefenia.txt npc/warps/fields/glastheim.txt npc/warps/fields/jawaii.txt npc/warps/fields/lhalzen_fild.txt npc/warps/fields/lutie_fild.txt npc/warps/fields/man_fild.txt npc/warps/fields/mtmjolnir.txt npc/warps/fields/spl_fild.txt npc/warps/fields/umbala_fild.txt npc/warps/guildcastles.txt npc/warps/other/airplane.txt npc/warps/other/arena.txt npc/warps/other/god.txt npc/warps/other/jobquests.txt npc/warps/other/kiel.txt npc/warps/other/other.txt npc/warps/pvp.txt pcre3.dll rAthena-10.sln rAthena-12.sln rAthena-13.sln rAthena-14.sln rAthena-9.sln runserver.bat serv.bat sql-files/item_cash_db.sql sql-files/item_cash_db2.sql sql-files/item_db.sql sql-files/item_db2.sql sql-files/item_db2_re.sql sql-files/item_db_re.sql sql-files/logs.sql sql-files/main.sql sql-files/mob_db.sql sql-files/mob_db2.sql sql-files/mob_db2_re.sql sql-files/mob_db_re.sql sql-files/mob_skill_db.sql sql-files/mob_skill_db2.sql sql-files/mob_skill_db2_re.sql sql-files/mob_skill_db_re.sql sql-files/roulette_default_data.sql sql-files/tools/convert_engine_innodb.sql sql-files/tools/convert_engine_myisam.sql sql-files/tools/convert_passwords.sql sql-files/upgrades/upgrade_20131105.sql sql-files/upgrades/upgrade_20131111.sql sql-files/upgrades/upgrade_20131115.sql sql-files/upgrades/upgrade_20131115_2.sql sql-files/upgrades/upgrade_20131118.sql sql-files/upgrades/upgrade_20131227.sql sql-files/upgrades/upgrade_20131231.sql sql-files/upgrades/upgrade_20140104.sql sql-files/upgrades/upgrade_20140114.sql sql-files/upgrades/upgrade_20140205.sql sql-files/upgrades/upgrade_20140523.sql sql-files/upgrades/upgrade_20140612.sql sql-files/upgrades/upgrade_20140612_log.sql sql-files/upgrades/upgrade_20140616.sql sql-files/upgrades/upgrade_20140627.sql sql-files/upgrades/upgrade_20140713_log.sql sql-files/upgrades/upgrade_20140723.sql sql-files/upgrades/upgrade_20140822.sql sql-files/upgrades/upgrade_20140826.sql sql-files/upgrades/upgrade_20140915.sql sql-files/upgrades/upgrade_20140915_log.sql sql-files/upgrades/upgrade_20150103_log.sql sql-files/upgrades/upgrade_20150131.sql sql-files/upgrades/upgrade_20150211_skillset.sql sql-files/upgrades/upgrade_20150327_market.sql sql-files/upgrades/upgrade_20150408.sql sql-files/upgrades/upgrade_20150408_log.sql sql-files/upgrades/upgrade_20150619.sql sql-files/upgrades/upgrade_20150619_log.sql sql-files/upgrades/upgrade_20150804_log.sql sql-files/upgrades/upgrade_20150828.sql sql-files/upgrades/upgrade_20150831.sql sql-files/upgrades/upgrade_20150917_log.sql sql-files/upgrades/upgrade_20151230_log.sql sql-files/upgrades/upgrade_20160106.sql sql-files/upgrades/upgrade_20160112.sql sql-files/upgrades/upgrade_20160614.sql sql-files/upgrades/upgrade_20160814.sql sql-files/upgrades/upgrade_20160814_log.sql sql-files/upgrades/upgrade_svn15003.sql sql-files/upgrades/upgrade_svn15420_log.sql sql-files/upgrades/upgrade_svn15519_log.sql sql-files/upgrades/upgrade_svn15531_db.sql sql-files/upgrades/upgrade_svn15572.sql sql-files/upgrades/upgrade_svn15818_log.sql sql-files/upgrades/upgrade_svn15885.sql sql-files/upgrades/upgrade_svn15926_log.sql sql-files/upgrades/upgrade_svn16490.sql sql-files/upgrades/upgrade_svn16518.sql sql-files/upgrades/upgrade_svn16639.sql sql-files/upgrades/upgrade_svn16645.sql sql-files/upgrades/upgrade_svn16663.sql sql-files/upgrades/upgrade_svn16823.sql sql-files/upgrades/upgrade_svn16914_log.sql sql-files/upgrades/upgrade_svn17014.sql sql-files/upgrades/upgrade_svn17080.sql sql-files/upgrades/upgrade_svn17080_log.sql sql-files/upgrades/upgrade_svn17086.sql sql-files/upgrades/upgrade_svn17086_log.sql sql-files/upgrades/upgrade_svn17136.sql sql-files/upgrades/upgrade_svn17176.sql sql-files/upgrades/upgrade_svn17178.sql sql-files/upgrades/upgrade_svn17183.sql sql-files/upgrades/upgrade_svn17194.sql sql-files/upgrades/upgrade_svn17242.sql sql-files/upgrades/upgrade_svn17256.sql sql-files/upgrades/upgrade_svn17303_log.sql sql-files/upgrades/upgrade_svn17351.sql sql-files/upgrades/upgrade_svn17541.sql src/CMakeLists.txt src/char/CMakeLists.txt src/char/Makefile.in src/char/char.c src/char/char.h src/char/char_clif.c src/char/char_clif.h src/char/char_cnslif.c src/char/char_cnslif.h src/char/char_logif.c src/char/char_logif.h src/char/char_mapif.c src/char/char_mapif.h src/char/int_auction.c src/char/int_auction.h src/char/int_elemental.c src/char/int_elemental.h src/char/int_guild.c src/char/int_guild.h src/char/int_homun.c src/char/int_homun.h src/char/int_mail.c src/char/int_mail.h src/char/int_mercenary.c src/char/int_mercenary.h src/char/int_party.c src/char/int_party.h src/char/int_pet.c src/char/int_pet.h src/char/int_quest.c src/char/int_quest.h src/char/int_storage.c src/char/int_storage.h src/char/inter.c src/char/inter.h src/common/CMakeLists.txt src/common/Makefile.in src/common/atomic.h src/common/cbasetypes.h src/common/cli.c src/common/cli.h src/common/conf.c src/common/conf.h src/common/core.c src/common/core.h src/common/db.c src/common/db.h src/common/des.c src/common/des.h src/common/ers.c src/common/ers.h src/common/evdp.h src/common/evdp_epoll.c src/common/grfio.c src/common/grfio.h src/common/malloc.c src/common/malloc.h src/common/mapindex.c src/common/mapindex.h src/common/md5calc.c src/common/md5calc.h src/common/mempool.c src/common/mempool.h src/common/mmo.h src/common/msg_conf.c src/common/msg_conf.h src/common/mutex.c src/common/mutex.h src/common/netbuffer.c src/common/netbuffer.h src/common/network.c src/common/network.h src/common/nullpo.c src/common/nullpo.h src/common/raconf.c src/common/raconf.h src/common/random.c src/common/random.h src/common/showmsg.c src/common/showmsg.h src/common/socket.c src/common/socket.h src/common/spinlock.h src/common/sql.c src/common/sql.h src/common/strlib.c src/common/strlib.h src/common/thread.c src/common/thread.h src/common/timer.c src/common/timer.h src/common/utils.c src/common/utils.h src/common/winapi.h src/config/classes/general.h src/config/const.h src/config/core.h src/config/renewal.h src/config/secure.h src/custom/atcommand.inc src/custom/atcommand_def.inc src/custom/battle_config_init.inc src/custom/battle_config_struct.inc src/custom/script.inc src/custom/script_def.inc src/login/CMakeLists.txt src/login/Makefile.in src/login/account.c src/login/account.h src/login/ipban.c src/login/ipban.h src/login/login.c src/login/login.h src/login/loginchrif.c src/login/loginchrif.h src/login/loginclif.c src/login/loginclif.h src/login/logincnslif.c src/login/logincnslif.h src/login/loginlog.c src/login/loginlog.h src/login/server/CMakeLists.txt src/map/CMakeLists.txt src/map/Makefile.in src/map/atcommand.c src/map/atcommand.h src/map/battle.c src/map/battle.h src/map/battleground.c src/map/battleground.h src/map/buyingstore.c src/map/buyingstore.h src/map/cashshop.c src/map/cashshop.h src/map/channel.c src/map/channel.h src/map/chat.c src/map/chat.h src/map/chrif.c src/map/chrif.h src/map/clif.c src/map/clif.h src/map/date.c src/map/date.h src/map/duel.c src/map/duel.h src/map/elemental.c src/map/elemental.h src/map/guild.c src/map/guild.h src/map/homunculus.c src/map/homunculus.h src/map/instance.c src/map/instance.h src/map/intif.c src/map/intif.h src/map/itemdb.c src/map/itemdb.h src/map/log.c src/map/log.h src/map/mail.c src/map/mail.h src/map/map.c src/map/map.h src/map/mapreg.c src/map/mapreg.h src/map/mercenary.c src/map/mercenary.h src/map/mob.c src/map/mob.h src/map/npc.c src/map/npc.h src/map/npc_chat.c src/map/party.c src/map/party.h src/map/path.c src/map/path.h src/map/pc.c src/map/pc.h src/map/pc_groups.c src/map/pc_groups.h src/map/pet.c src/map/pet.h src/map/quest.c src/map/quest.h src/map/script.c src/map/script.h src/map/script_constants.h src/map/searchstore.c src/map/searchstore.h src/map/server/CMakeLists.txt src/map/skill.c src/map/skill.h src/map/status.c src/map/status.h src/map/storage.c src/map/storage.h src/map/trade.c src/map/trade.h src/map/unit.c src/map/unit.h src/map/vending.c src/map/vending.h src/tool/CMakeLists.txt src/tool/Makefile.in src/tool/mapcache.c tools/build_doc.pl tools/check-doc.pl tools/config.pl tools/convert_itemtype.pl tools/convert_monstermode.pl tools/convert_sql.pl tools/mapreg-converter.php tools/rA_Common.pm tools/setup_perl.sh tools/stackdump tools/update.pl uninstall.sh vcproj-10/char-server.vcxproj vcproj-10/char-server.vcxproj.filters vcproj-10/login-server.vcxproj vcproj-10/login-server.vcxproj.filters vcproj-10/map-server.vcxproj vcproj-10/map-server.vcxproj.filters vcproj-10/mapcache.vcxproj vcproj-10/mapcache.vcxproj.filters vcproj-12/char-server.vcxproj vcproj-12/char-server.vcxproj.filters vcproj-12/login-server.vcxproj vcproj-12/login-server.vcxproj.filters vcproj-12/map-server.vcxproj vcproj-12/map-server.vcxproj.filters vcproj-12/mapcache.vcxproj vcproj-12/mapcache.vcxproj.filters vcproj-13/char-server.vcxproj vcproj-13/char-server.vcxproj.filters vcproj-13/login-server.vcxproj vcproj-13/login-server.vcxproj.filters vcproj-13/map-server.vcxproj vcproj-13/map-server.vcxproj.filters vcproj-13/mapcache.vcxproj vcproj-13/mapcache.vcxproj.filters vcproj-14/char-server.vcxproj vcproj-14/char-server.vcxproj.filters vcproj-14/login-server.vcxproj vcproj-14/login-server.vcxproj.filters vcproj-14/map-server.vcxproj vcproj-14/map-server.vcxproj.filters vcproj-14/mapcache.vcxproj vcproj-14/mapcache.vcxproj.filters vcproj-9/char-server.vcproj vcproj-9/dbghelpplug.vcproj vcproj-9/login-server.vcproj vcproj-9/map-server.vcproj vcproj-9/mapcache.vcproj zlib1.dll Please move or remove them before you merge. Aborting git did not exit cleanly (exit code 1) (8190 ms @ 24/11/2016 8:42:45:AM)
-
Hi, Can someone give me example how to make NPC just give this Free Gift for account ID 2000187 and Below only? So that player who register after that cannot claimed this rewards.. Thank you in advance..
-
Hi, Sorry for asking this question.. Before this, I'm using Tortoise SVN back in 2013.. And It much easier to update and checking new and conflict item.. But when I'm using GIT.. I'm kinda confuse with how to update my current outdated rathena into latest as in github.. Because, I just download new rathena from github about 2 month ago and copy custom script and edit vanilla script from my old 2013 rathena.. I already search how to update this using git but I not fully understand how.. I keep getting error.. Maybe I'm using wrong method for updating.. Hope someone can guide me.. Thank you..
-
Have any idea how to edit to make it works with 2015 client?
-
Emistry Mushroom Counting and Monster Counting Not Working
rakuzas replied to rakuzas's question in Scripting Support
Sorry again.. I found PCRE folder in rathena.. But I don't have any idea how to check if it enable or not.. Since I download latest and fresh rathena git, then edit some files to make rathena works with my client.. Thats all.. And I'm using Windows 7 and Visual Studio 2013 for compiling.. UPDATE : Disguise NPC are working.. So I think PCRE is already functioning.. -
Emistry Mushroom Counting and Monster Counting Not Working
rakuzas replied to rakuzas's question in Scripting Support
Maybe I missed that part.. May I know how or where to check that? Because rathena wiki seems down right now.. Thank you in advance~ -
Emistry Mushroom Counting and Monster Counting Not Working
rakuzas posted a question in Scripting Support
Hi, When I'm using this script on rathena 2013, Mushroom Counting Game working fine.. Then, after I updated 2016 version.. The NPC not respond anything even if we give correct answer.. Same for Monster Counting Game too.. May I know what is the cause? There is no error or debug message.. Thank you in advance.. -
Hmmm.. So I cant make it 2 side with 2 NPC? I thought about it too.. Ok then..
-
Wow.. Much cleaner.. Love it.. worth waiting to forum back online.. Keep the good works guys~
-
Hi, I'm using Emistry Vendor Control Script.. The script working magnificently.. So awesome and neat.. I really love the feature.. But my server have 2 side of vending location.. Side West and East.. So, I tried making 2 different npc because of different vending location.. And I succeed.. No problem.. But East vending location, the signboard keep appear and dissappear and keep using and playing sound like hiding effect.. I checked the script there is no effect.. But if I disable West script, all this signboard on East area working normally.. If enable again both script.. The east side signboard will playing the effect although no effect on script. .Tried to figure it out almost 1 hour and tried so many ways.. But still same.. So I ask here and maybe someone can help pointing whats wrong.. And my custom script rathena reading West Side before East Side.. Effect that I said like this : WEST SIDE SCRIPT : milenia,118,179,5 script West Market Officer 533,{ for( set .@i,1; .@i <= .count; set .@i,.@i + 1 ){ getmapxy( .@map$,.@x,.@y,1,"#vend_slot"+.@i ); if( !getareausers( .map$,.@x,.@y,.@x,.@y ) && .@x > 1 && .@y > 1 ){ set .@available,.@available + 1; set .@menu$,.@menu$ + "Slot - "+.@i+":"; }else{ set .@menu$,.@menu$ + ":"; } } if( !.@available ){ mes "Dont have any available slot."; }else if( !getskilllv("MC_VENDING") ){ mes "You dont have ^0055FFVending Skill^000000."; }else{ mes "Available Slot : "+.@available; mes "Please select a slot to vending."; set .@i,select( .@menu$ ); getmapxy( .@map$,.@x,.@y,1,"#vend_slot"+.@i ); if( .@x == 1 || .@y == 1 ){ mes "This NPC at invalid location..."; }else{ warp .@map$,.@x,.@y; hideonnpc "#vend_slot"+.@i; } } close; OnInit: sleep 1000; // Map for vending set .map$,"milenia"; setcell .map$,0,0,284,365,cell_novending,1; // x and y horizone .. setarray .x_line,95,91,87,83,79,75,71,67,63,59,55,51,47; setarray .y_line,174,178,182,186; set .x_line_size,getarraysize( .x_line ); set .y_line_size,getarraysize( .y_line ); set .count,1; for( set .@x,0; .@x < .x_line_size; set .@x,.@x + 1 ) for( set .@y,0; .@y < .y_line_size; set .@y,.@y + 1 ) if( checkcell( .map$,.x_line[.@x],.y_line[.@y],cell_chkpass ) ){ movenpc "#vend_slot"+.count,.x_line[.@x],.y_line[.@y]; setcell .map$,.x_line[.@x],.y_line[.@y],.x_line[.@x],.y_line[.@y],cell_novending,0; set .count,.count + 1; } npctalk "Vending Spot : "+.count; donpcevent "::OnSetup"; end; } - script vend_slot -1,{ getmapxy( .@map$,.@x,.@y,1 ); if( !getskilllv("MC_VENDING") ){ mes "You dont have ^0055FFVending Skill^000000."; }else if( getareausers( .@map$,.@x,.@y,.@x,.@y ) ){ mes "Someone already selected this spot."; }else{ mes "Spot : ^777777Available^000000"; mes "^0055FF[ Vending Area Rules ]^000000"; mes "^FF0000 ~ Use proper Shop Name.^000000"; mes "^FF0000 ~ Never sell Junk/Gifts.^000000"; mes " "; mes "^777777Player will failed to follow these will be punished.^000000"; if( select( "Select this Spot","Cancel" ) == 1 ){ warp .@map$,.@x,.@y; hideonnpc strnpcinfo(0); } } close; OnSetup: getmapxy( .@map$,.@x,.@y,1 ); set .@npcname$,strnpcinfo(0); while( .@map$ != "" ){ if( getareausers( .@map$,.@x,.@y,.@x,.@y ) ){ hideonnpc .@npcname$; }else{ hideoffnpc .@npcname$; // specialeffect 313; } sleep 5000; } end; } // Add more if needed. milenia,1,1,4 duplicate(vend_slot) #vend_slot1 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot2 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot3 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot4 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot5 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot6 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot7 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot8 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot9 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot10 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot11 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot12 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot13 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot14 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot15 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot16 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot17 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot18 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot19 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot20 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot21 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot22 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot23 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot24 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot25 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot26 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot27 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot28 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot29 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot30 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot31 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot32 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot33 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot34 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot35 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot36 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot37 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot38 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot39 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot40 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot41 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot42 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot43 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot44 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot45 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot46 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot47 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot48 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot49 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot50 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot51 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot52 858 EAST SIDE SCRIPT : milenia,121,179,11 script East Market Officer 529,{ for( set .@i,1; .@i <= .count; set .@i,.@i + 1 ){ getmapxy( .@map$,.@x,.@y,1,"#vend_slot"+.@i ); if( !getareausers( .map$,.@x,.@y,.@x,.@y ) && .@x > 1 && .@y > 1 ){ set .@available,.@available + 1; set .@menu$,.@menu$ + "Slot - "+.@i+":"; }else{ set .@menu$,.@menu$ + ":"; } } if( !.@available ){ mes "Dont have any available slot."; }else if( !getskilllv("MC_VENDING") ){ mes "You dont have ^0055FFVending Skill^000000."; }else{ mes "Available Slot : "+.@available; mes "Please select a slot to vending."; set .@i,select( .@menu$ ); getmapxy( .@map$,.@x,.@y,1,"#vend_slot"+.@i ); if( .@x == 1 || .@y == 1 ){ mes "This NPC at invalid location..."; }else{ warp .@map$,.@x,.@y; hideonnpc "#vend_slot"+.@i; } } close; OnInit: sleep 1000; // Map for vending set .map$,"milenia"; setcell .map$,0,0,284,365,cell_novending,1; // x and y horizone .. setarray .x_line,144,148,152,156,160,164,168,172,176,180,184,188,192; setarray .y_line,174,178,182,186; set .x_line_size,getarraysize( .x_line ); set .y_line_size,getarraysize( .y_line ); set .count,1; for( set .@x,0; .@x < .x_line_size; set .@x,.@x + 1 ) for( set .@y,0; .@y < .y_line_size; set .@y,.@y + 1 ) if( checkcell( .map$,.x_line[.@x],.y_line[.@y],cell_chkpass ) ){ movenpc "#vend_slot"+.count,.x_line[.@x],.y_line[.@y]; setcell .map$,.x_line[.@x],.y_line[.@y],.x_line[.@x],.y_line[.@y],cell_novending,0; set .count,.count + 1; } npctalk "Vending Spot : "+.count; donpcevent "::OnSetup"; end; } - script vend_slot -1,{ getmapxy( .@map$,.@x,.@y,1 ); if( !getskilllv("MC_VENDING") ){ mes "You dont have ^0055FFVending Skill^000000."; }else if( getareausers( .@map$,.@x,.@y,.@x,.@y ) ){ mes "Someone already selected this spot."; }else{ mes "Spot : ^777777Available^000000"; mes "^0055FF[ Vending Area Rules ]^000000"; mes "^FF0000 ~ Use proper Shop Name.^000000"; mes "^FF0000 ~ Never sell Junk/Gifts.^000000"; mes " "; mes "^777777Player will failed to follow these will be punished.^000000"; if( select( "Select this Spot","Cancel" ) == 1 ){ warp .@map$,.@x,.@y; hideonnpc strnpcinfo(0); } } close; OnSetup: getmapxy( .@map$,.@x,.@y,1 ); set .@npcname$,strnpcinfo(0); while( .@map$ != "" ){ if( getareausers( .@map$,.@x,.@y,.@x,.@y ) ){ hideonnpc .@npcname$; }else{ hideoffnpc .@npcname$; // specialeffect 313; } sleep 5000; } end; } // Add more if needed. milenia,1,1,4 duplicate(vend_slot) #vend_slot01 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot02 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot03 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot04 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot05 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot06 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot07 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot08 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot09 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot010 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot011 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot012 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot013 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot014 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot015 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot016 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot017 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot018 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot019 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot020 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot021 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot022 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot023 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot024 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot025 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot026 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot027 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot028 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot029 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot030 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot031 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot032 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot033 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot034 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot035 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot036 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot037 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot038 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot039 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot040 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot041 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot042 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot043 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot044 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot045 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot046 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot047 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot048 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot049 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot050 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot051 858 milenia,1,1,4 duplicate(vend_slot) #vend_slot052 858
-
Thank you @Capuche.. My bugs are solved.. Thank you very much..
-
Hi, I tried so many days to fix this bug.. But still failed.. So, i give up to try fix it alone.. 1. I manage to make we can add random bonus after upgrade 4th time.. So we can get 1 random bonus stone. But.. After we successfully upgrade.. We still can talk to this NPC.. And reset our upgrade into beginning and restart again and again.. 2. I manage to fix the bug which player will get empty boot with slot.. Which supposed to have all upgraded.. Then.. I spend few hours to fix this.. And I manage to get it right.. But later I found out that when adding slot, we dont get the random stone bonus.. This 2 things I cant solved it by my own.. Hope someone can help me.. Below is my script : // Merchant //============================================================ glast_01,210,273,5 script Hugin's Buttler 69,{ disable_items; if (MaxWeight - Weight < 1000) { mes "Your bag is too heavy. Reduce some weight and come back."; close; } mes "[Hugin's Buttler]"; mes "Bring Temporal Crystal items for various Temporal boots items. Pick something you want."; next; switch (select("Cancel","Buy Temporal Boots (Need 1 Temporal Crystal)","Upgrade Temporal Boots (Need 5 Temporal Crystals)")) { case 1: mes "[Hugin's Buttler]"; mes "Come back whenever you want."; close; case 2: if (countitem(6607) > 0) { mes "[Hugin's Buttler]"; mes "Take these Temporal Boots. We can upgrade your Temporal Boots with 5 Temporal Crystals."; delitem 6607,1; //Temporal_Crystal getitem 2499,1; //Temporal_Boots close; } mes "[Hugin's Buttler]"; mes "You need more Temporal Crystals. Come back when you get some more Temporal Crystals during your travel through Old Glast Heim."; close; case 3: set .@part,EQI_SHOES; if (!getequipisequiped(.@part)) { mes "[Hugin's Buttler]"; mes "Only the item you are wearing can be upgraded."; mes "Wear the ^0000FFTemporal Boots^000000 you want to upgrade, and then talk to me once again."; close; } if (isequipped(2499)) { if (countitem(6607) > 4) { mes "[Hugin's Buttler]"; mes "You can trade ^0000FF1 Temporal Boots and 5 Temporal Crystals^000000 for 1 of the following items. ^FF0000Previous refine rate will not be retained with these new ones^000000."; next; setarray .@type$[0],"Strength","Intelligence","Agility","Vitality","Dexterity","Lucky"; setarray .@equip_type[0],22000,22001,22002,22003,22004,22005; set .@select,select("Cancel","Str Boots","Int Boots","Agi Boots","Vit Boots","Dex Boots","Luk Boots"); switch (.@select) { case 1: mes "[Hugin's Buttler]"; mes "Come back anytime you want."; close; case 2: case 3: case 4: case 5: case 6: case 7: mes "[Hugin's Buttler]"; mes "Are you sure about buying Temporal ^FF0000"+.@type$[.@select-2]+"^000000 Boots? There's no refunds."; next; if (select("Think again","Yes, I am sure.") == 2) { mes "[Hugin's Buttler]"; mes "The boots have been upgraded as you want."; delequip .@part; delitem 6607,5; //Temporal_Crystal getitem .@equip_type[.@select-2],1; //Temporal_Str_Boots,Temporal_Int_Boots,Temporal_Agi_Boots,Temporal_Vit_Boots,Temporal_Dex_Boots,Temporal_Luk_Boots close; } mes "[Hugin's Buttler]"; mes "Ok, come back again when you are sure."; close; } } mes "[Hugin's Buttler]"; mes "Not enough Temporal Crystals. You need 5 Temporal Crystals to upgrade your item."; close; } mes "[Hugin's Buttler]"; mes "You are not wearing the Temporal Boots. Talk to me once you're wearing them."; close; } } // Enchant and Socket NPC //============================================================ glast_01,212,273,4 script Hugin's Magic Master 66,{ disable_items; if (MaxWeight - Weight < 1000) { mes "Your bag is too heavy. Reduce some weight and come back."; close; } mes "[Hugin's Magic Master]"; mes "So you came to enchant the Temporal Boots. Be aware that Boots with sockets cannot be enchanted, and this upgrade is only possible for the boots you are wearing."; next; if (select("How does the enchanting work?","Give effect to my Temporal Boots") == 1) { mes "[Hugin's Magic Master]"; mes "You can keep obtain ^0000FFCoagulated Spell^000000 through your travel times."; next; mes "[Hugin's Magic Master]"; mes "I can enchant your Temporal Boots items depands on the amount of that item. ^0000FFNot normal type boots^000000. Only possible for those 6 expanded version boots."; next; mes "[Hugin's Magic Master]"; mes "But, once you put a socket into the item, you cannot enchant it. Make sure to remember that."; next; mes "[Hugin's Magic Master]"; mes "I don't give out effect randomly. You can pick which effect you want for the item."; next; mes "[Hugin's Magic Master]"; mes "Of course it is for 4th slot only. You can have small effect at the start, and then the effect gets stronger."; next; mes "[Hugin's Magic Master]"; mes "To get to the final option upgrade, it will require way more Coagulated Spell items. Don't forget that."; next; mes "[Hugin's Magic Master]"; mes "Once the 4th slot completes the best option, you get to have a random bonus effect to the 3rd slot. With.. certain payment~"; next; mes "[Hugin's Magic Master]"; mes "Also, you don't lose the item even if the enchant fails, we also guarantee keeping card and refine rate. But we can't initialize enchanting."; next; mes "[Hugin's Magic Master]"; mes "Phew..."; mes "Anyways, that's all for basic enchant information. Now you should see for yourself."; close; } set .@part,EQI_SHOES; if (!getequipisequiped(.@part)) { mes "[Hugin's Magic Master]"; mes "Are you wearing the item?"; close; } set .@equip_id,getequipid(.@part); set .@equip_name$,getequipname(.@part); set .@card3,getequipcardid(.@part,3); setarray .@enchant1st[0],4808,4832,4814,4741,4869,4752; //Fighting_Spirit4,Expert_Archer1,Spell2,Vitality2,DelayafterAttack1Lv,Luck3 setarray .@enchant2nd[0],4820,4833,4813,4742,4872,4753; //Fighting_Spirit5,Expert_Archer2,Spell3,Vitality3,DelayafterAttack2Lv,Luck4 setarray .@enchant3rd[0],4821,4834,4812,4861,4873,4754; //Fighting_Spirit6,Expert_Archer3,Spell4,MHP1,DelayafterAttack3Lv,Luck5 setarray .@enchant4th[0],4822,4835,4826,4862,4881,4755; //Fighting_Spirit7,Expert_Archer4,Spell5,MHP2,DelayafterAttack4Lv,Luck6 setarray .@enchant_cost[0],1,4,15,30,10; switch (.@equip_id) { case 22000: //Temporal_Str_Boots case 22001: //Temporal_Int_Boots case 22002: //Temporal_Agi_Boots case 22003: //Temporal_Vit_Boots case 22004: //Temporal_Dex_Boots case 22005: //Temporal_Luk_Boots if (!.@card3) { //4th slot 1st try enchanting set .@cost,.@enchant_cost[0]; set .@number,1; mes "[Hugin's Magic Master]"; mes "Want to enchant ^0000FF"+.@equip_name$+"^000000?"; mes "For the "+.@number+"st enchanting, you need ^0000FF"+.@cost+"^000000 Coagulated Spell items."; next; set .@select,select("Quit","Fighting Spirit","Archery","Spell","Vitality","Attack Speed","Lucky"); switch (.@select) { case 1: mes "[Hugin's Magic Master]"; mes "Ok, come back when you are ready."; close; case 2: set .@enchant,.@enchant1st[.@select-2]; break; case 3: set .@enchant,.@enchant1st[.@select-2]; break; case 4: set .@enchant,.@enchant1st[.@select-2]; break; case 5: set .@enchant,.@enchant1st[.@select-2]; break; case 6: set .@enchant,.@enchant1st[.@select-2]; break; case 7: set .@enchant,.@enchant1st[.@select-2]; break; } } else { if (.@card3 == .@enchant1st[0] || .@card3 == .@enchant1st[1] || .@card3 == .@enchant1st[2] || .@card3 == .@enchant1st[3] || .@card3 == .@enchant1st[4] || .@card3 == .@enchant1st[5]) { set .@cost,.@enchant_cost[1]; set .@number,2; } else if (.@card3 == .@enchant2nd[0] || .@card3 == .@enchant2nd[1] || .@card3 == .@enchant2nd[2] || .@card3 == .@enchant2nd[3] || .@card3 == .@enchant2nd[4] || .@card3 == .@enchant2nd[5]) { set .@cost,.@enchant_cost[2]; set .@number,3; } else if (.@card3 == .@enchant3rd[0] || .@card3 == .@enchant3rd[1] || .@card3 == .@enchant3rd[2] || .@card3 == .@enchant3rd[3] || .@card3 == .@enchant3rd[4] || .@card3 == .@enchant3rd[5]) { set .@cost,.@enchant_cost[3]; set .@number,4; } else if (.@card3 == .@enchant4th[0] || .@card3 == .@enchant4th[1] || .@card3 == .@enchant4th[2] || .@card3 == .@enchant4th[3] || .@card3 == .@enchant4th[4] || .@card3 == .@enchant4th[5]) { set .@card2,getequipcardid(.@part,2); set .@cost,.@enchant_cost[4]; if (.@card2 == 0) { if (.@max == 1) { mes "[Hugin's Magic Master]"; //Custom text mes "Your shoes have reached the maximum option to enchant."; mes "Please bring me a new one if you want me to enchant again."; close; } else { //3rd slot random enchanting switch (.@card3) { case 4822: //Fighting_Spirit7 case 4835: //Expert_Archer4 case 4826: //Spell5 case 4862: //MHP2 case 4881: //DelayafterAttack4Lv case 4755: //Luck6 set .@max,1; set .@enchant,callfunc("F_Rand",4875,4876,4877,4878,4879,4880); //Bear's_Power,Runaway_Magic,Speed_Of_Light,Muscle_Fool,Hawkeye,Lucky_Day mes "[Hugin's Magic Master]"; //Custom text mes "Seems you already completed the best upgrade option in your 4th slot."; mes "For that I can give a random bonus effect to your 3rd slot. And of course, with certain payment..."; next; mes "[Hugin's Magic Master]"; mes "Enchanting ^0000FF"+.@equip_name$+"^000000's 3rd slot for obtaining a random bonus effect. Requires ^0000FF"+.@cost+"^000000 Coagulated Spell items."; next; if (select("Quit","Effect Upgrade!") == 1) { mes "[Hugin's Magic Master]"; mes "Ok, come back when you are ready."; close; } if (countitem(6608) < .@cost) { mes "[Hugin's Magic Master]"; mes "Hmm, you are missing "+(.@cost - countitem(6608))+" Coagulated Spell items. Go get more, and then we can talk about more enchants."; close; } specialeffect2 EF_REPAIRWEAPON; set .@equip_refine,getequiprefinerycnt(.@part); delitem 6608,.@cost; //Coagulated_Spell delequip .@part; mes "[Hugin's Magic Master]"; mes "This is it! This special stone is now yours."; mes "Hahaha... I am really the only master of these things."; mes "Thank you for believing in me."; getitem2 .@equip_id,1,1,.@equip_refine,0,0,0,.@enchant,.@card3; close; } } } } //4th slot 2nd try enchanting if (.@card3 == .@enchant1st[0]) set .@enchant,.@enchant2nd[0]; else if (.@card3 == .@enchant1st[1]) set .@enchant,.@enchant2nd[1]; else if (.@card3 == .@enchant1st[2]) set .@enchant,.@enchant2nd[2]; else if (.@card3 == .@enchant1st[3]) set .@enchant,.@enchant2nd[3]; else if (.@card3 == .@enchant1st[4]) set .@enchant,.@enchant2nd[4]; else if (.@card3 == .@enchant1st[5]) set .@enchant,.@enchant2nd[5]; //4th slot 3rd try enchanting if (.@card3 == .@enchant2nd[0]) set .@enchant,.@enchant3rd[0]; else if (.@card3 == .@enchant2nd[1]) set .@enchant,.@enchant3rd[1]; else if (.@card3 == .@enchant2nd[2]) set .@enchant,.@enchant3rd[2]; else if (.@card3 == .@enchant2nd[3]) set .@enchant,.@enchant3rd[3]; else if (.@card3 == .@enchant2nd[4]) set .@enchant,.@enchant3rd[4]; else if (.@card3 == .@enchant2nd[5]) set .@enchant,.@enchant3rd[5]; //4th slot 4th try enchanting if (.@card3 == .@enchant3rd[0]) set .@enchant,.@enchant4th[0]; else if (.@card3 == .@enchant3rd[1]) set .@enchant,.@enchant4th[1]; else if (.@card3 == .@enchant3rd[2]) set .@enchant,.@enchant4th[2]; else if (.@card3 == .@enchant3rd[3]) set .@enchant,.@enchant4th[3]; else if (.@card3 == .@enchant3rd[4]) set .@enchant,.@enchant4th[4]; else if (.@card3 == .@enchant3rd[5]) set .@enchant,.@enchant4th[5]; mes "[Hugin's Magic Master]"; mes "Enchanting ^0000FF"+.@equip_name$+"^000000's 4th slot as ^0000FF"+.@number+"^000000 level effect. Requires ^0000FF"+.@cost+"^000000 Coagulated Spell items."; next; if (select("Quit","Effect Upgrade!") == 1) { mes "[Hugin's Magic Master]"; mes "Ok, come back when you are ready."; close; } if (countitem(6608) < .@cost) { mes "[Hugin's Magic Master]"; mes "Hmm, you are missing "+(.@cost - countitem(6608))+" Coagulated Spell items. Go get more, and then we can talk about more enchants."; close; } } break; default: mes "[Hugin's Magic Master]"; mes "This is not the right item for this enchant."; mes "Remember, only those 6 types of Temporal Boots are available for enchanting."; close; } specialeffect2 EF_REPAIRWEAPON; set .@equip_refine,getequiprefinerycnt(.@part); delitem 6608,.@cost; //Coagulated_Spell delequip .@part; mes "[Hugin's Magic Master]"; mes "Trying for enchant number ^630000"+.@number+"^000000."; getitem2 .@equip_id,1,1,.@equip_refine,0,0,0,0,.@enchant; close; } // ------------------------------ Hugin's Craftsman --------------------------------------- // glast_01,210,270,8 script Hugin's Craftsman 726,{ disable_items; if (MaxWeight - Weight < 1000) { mes "Your bag is too heavy. Reduce some weight and come back."; close; } mes "[Hugin's Craftsman]"; mes "That Magic Master always says that enchanting Temporal Boots is the best. But, I think quite different."; next; mes "[Hugin's Craftsman]"; mes "I think putting a slot into the item would be the best. Even with some risk of failing."; next; mes "[Hugin's Craftsman]"; mes "Bring me ^0000FF5 Temporal Crystals^000000, and I will try to put a slot into your advanced Temporal Boots. But, it's possible to ^FF0000fail and break the item^000000. Is that ok?"; next; if (select("Cancel","Take the risk and try to add a slot") == 1) { mes "[Hugin's Craftsman]"; mes "Ok, come back anytime you want."; close; } set .@part,EQI_SHOES; if (!getequipisequiped(.@part)) { mes "[Hugin's Craftsman]"; mes "Are you sure you are wearing the item?"; close; } set .@equip_id,getequipid(.@part); switch (.@equip_id) { case 22000: //Temporal_Str_Boots case 22001: //Temporal_Int_Boots case 22002: //Temporal_Agi_Boots case 22003: //Temporal_Vit_Boots case 22004: //Temporal_Dex_Boots case 22005: //Temporal_Luk_Boots mes "[Hugin's Craftsman]"; mes "And ^FF0000all enchant or refine rates will be lost if you fail this.^000000"; mes "Still want to risk it?"; next; if (select("Cancel","I am ok with it!") == 1) { mes "[Hugin's Craftsman]"; mes "Ok, come back anytime you want."; close; } mes "[Hugin's Craftsman]"; mes "Once again, ^FF0000That Magic Master won't enchant any item with a slot.^000000"; mes "Still want to proceed?"; next; if (select("Cancel","I understand. Try to slot it.") == 1) { mes "[Hugin's Craftsman]"; mes "Ok, come back anytime you want."; close; } if (countitem(6607) < 5) { mes "[Hugin's Craftsman]"; mes "You must bring ^0000FF5 Temporal Crystal items^000000. Nothing is free you know..."; close; } set .@random,rand(100,100); if (.@random <= 80) { //Custom rates mes "[Hugin's Craftsman]"; mes "Arrggg, we failed. Better luck next time."; specialeffect2 EF_PHARMACY_FAIL; delitem 6607,5; //Temporal_Crystal delequip .@part; close; } // Magic Copy set .@part,EQI_SHOES; set .@equip_refine,getequiprefinerycnt(.@part); set .@enchant,.@enchant4th[5]; set .@card3,getequipcardid(.@part,3); mes "[Hugin's Craftsman]"; //Custom text mes "Yuhuu~ we succeed. Here you are..."; mes "A slot has been added to your advanced Temporal Boots."; mes "Thank you for believing in me."; specialeffect2 EF_PHARMACY_OK; delitem 6607,5; //Temporal_Crystal delequip .@part; if (.@equip_id == 22000) { getitem2 22006,1,1,.@equip_refine,0,0,0,.@enchant,.@card3; //Temporal_Str_Boots_ } else if (.@equip_id == 22001) { getitem2 22009,1,1,.@equip_refine,0,0,0,.@enchant,.@card3; //Temporal_Int_Boots_ } else if (.@equip_id == 22002) { getitem2 22010,1,1,.@equip_refine,0,0,0,.@enchant,.@card3; //Temporal_Agi_Boots_ } else if (.@equip_id == 22003) { getitem2 22007,1,1,.@equip_refine,0,0,0,.@enchant,.@card3; //Temporal_Vit_Boots_ } else if (.@equip_id == 22004) { getitem2 22008,1,1,.@equip_refine,0,0,0,.@enchant,.@card3; //Temporal_Dex_Boots_ } else if (.@equip_id == 22005) { getitem2 22011,1,1,.@equip_refine,0,0,0,.@enchant,.@card3; //Temporal_Luk_Boots_ } close; default: mes "[Hugin's Craftsman]"; mes "This is not it! We need ^0000FFAdvanced Temporal Boots^000000 items! The item ^0000FFwith a stat effect and without a slot^000000!"; close; } } // Glast Heim Nightmare Mode :: nightmare_gh //============================================================ glast_01,195,273,4 script Hugin's Follower#n_gh 123,{ mes "[Hugin's Follower]"; mes "I can't move between time and dimension like a master Hugin but I can pretend to move."; next; mes "[Hugin's Follower]"; mes "What about this Glast Heim is born with powerful dark force?"; next; if (select("I don't care","That is interesting, please tell me more") == 1) { mes "[Hugin's Follower]"; mes "Well~ If you are not interested in it, never mind."; close; } mes "[Hugin's Follower]"; mes "As learning ability from Hugin, I just find out the path to Old Glast Heim of more powerful dark force."; next; mes "[Hugin's Follower]"; mes "How is it? Do you want to explore there?"; next; if (select("No, I want to stop it","I really want to do that!") == 1) { mes "[Hugin's Follower]"; mes "Well~ If you are not interested in it, never mind."; close; } mes "[Hugin's Follower]"; mes "Sure that is not free~ I have to get something little bit. Hoho..."; next; mes "[Hugin's Follower]"; mes "I can send you just two place. How is it? Do you want to try?"; next; switch (select("Cancel","Monastery Cemetery (Lv100~130) - 5000z","Corridor of 2nd floor (Over Lv140) - 10000z")) { case 1: mes "[Hugin's Follower]"; mes "Alright, please come back whenever you change mind. I think you will have lots of thing to talk with me..."; close; case 2: if (Zeny < 5000) { mes "[Hugin's Follower]"; mes "Please make sure you already have all of the money."; close; } set Zeny,Zeny-5000; warp "gl_chyard_",148,144; end; case 3: if (Zeny < 10000) { mes "[Hugin's Follower]"; mes "Please make sure you already have all of the money."; close; } set Zeny,Zeny-10000; warp "gl_cas02_",104,31; end; } } gl_chyard_,148,149,4 script Hugin's Follower#n_gh1 123,{ mes "[Hugin's Follower]"; mes "You want to break?"; mes "Ok, let's get out of here.?"; next; if (select("Ah, wrong click... I mean I was not talk to you","Please let me out from here") == 1) { mes "[Hugin's Follower]"; mes "Alright just tell me whenever you want to leave."; close; } warp "glast_01",210,269; end; } gl_cas02_,104,36,4 script Hugin's Follower#n_gh2 123,{ mes "[Hugin's Follower]"; mes "You want to break?"; mes "Ok, let's get out of here.?"; next; if (select("Ah, wrong click... I mean I was not talk to you","Please let me out from here") == 1) { mes "[Hugin's Follower]"; mes "Alright just tell me whenever you want to leave."; close; } warp "glast_01",210,269; end; }
-
How to make countitem not counting equip equipments?
rakuzas replied to rakuzas's question in Scripting Support
Hmm.. So its impossible.. Ok.. I think I will stick to my current temporary solution.. Thanks for guiding and give explanation.. It really helps.. -
If crashed when using skills.. It means your lub file in client side is missing or outdated.. Please download the latest translation files for your client.. Last time I'm using herc translation files project and it works.. But kagerou skills will crashing my client.. But fixed when I download latest data.grf and kro files..
-
How to make countitem not counting equip equipments?
rakuzas replied to rakuzas's question in Scripting Support
Hmm.. I make script like example : Player can trade knife for some token.. But my current script is, the NPC will trade all knife including the equipped one.. My temporary solution is player need to un-equip any equipment to start trading.. -
How to change/move NPC in quest_nameless.txt and quest _1.3,txt?
rakuzas replied to rakuzas's question in Scripting Support
Never mind.. I already solved it by duplicating the map.. Its much more easier than disabled the npc.. -
That's make me a bit confused.. I'm using latest rathena from git.. Using 2015 client.. Before this I run 2013 rathena.. Then in 2016 I re-open my server.. Then, I updated with latest rathena and combind with my 2013 rathena but it have so many bug or not supported.. So just a weeks ago, I fully using latest rathena and many bug solved.. But just this item effect somehow make me confused.. When I checked, all the items are have their script.. But sometimes it shows in stat windows.. And if not, I'm guessing rathena calculate it directly without showing in stat window.. But last time I checked with my player.. Some item dont even calculate the effect.. It have same exact damages when equip that item or not.. So.. This is just me or common issue? Or something else? I already disable Renewal ASPD.. So my server ASPD now working back like pre-renewal.. Just this item effect have some problem..
-
Hi, May I know how Rathena calculations works? Like ASPD, Items Effect and so on.. Because many of my player keep complaining that my server item effect not same as the guide they follow and some calculator.. Last time, some user told me that rathena calculate directly and many of items not shows in STAT window.. So I told them that.. Then, they show me hit the same monster.. The damage they inflict is same either they equip the item or not.. So it make me confused.. Hope somebody can explain this matter to me.. Thank you in advance..