-
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
-
Perma Stat Bonus sa Custom Achievement reward
Emistry replied to namerpus18's topic in Dito mag request ng Script at Database
you can just create a usable item that give permanent stats and assign it as rewards. -
[Error]: status_change_start: Invalid status change (888)!
Emistry replied to Stussies's question in Source Support
status with 888 doesn't exists. -
http://nemo.herc.ws/clients/#2015
-
you can get most of the client here. http://nemo.herc.ws/clients/
-
its not loaded in your server, or check for any related map-server error log in case it failed to execute
-
OnSpin: set .spin, rand(0, .pReg - 1); attachrid(getcharid(3, .playerlist$[.spin])); .@name$ = strcharinfo(0); callsub OnCheck; mapannounce "izlude", .NPC$ +" The revolver is spinning . . .",bc_map; sleep 3000; mapannounce "izlude", .NPC$ +" Revolver slowly stopped spinning . . .",bc_map; sleep 2000; mapannounce "izlude", .NPC$ +" The revolver is pointing to "+ .@name$ +" . . .",bc_map; sleep 3000; mapannounce "izlude", .NPC$ +" Pull the trigger now "+ .@name$,bc_map; callsub OnCheck; callsub OnShoot; sleep 3000; callsub OnSpin; return; try this
-
the intention is good, but opencore has long evolved to resolve these colors matching mechanism trick.
-
OnInvaEnd: announce .n$+": Thank you guys for your help in defeating the invaders, we will counting on you for the next time as well.",0; donpcevent strnpcinfo(0)+"::OnInvaRestart"; donpcevent strnpcinfo(0)+"::OnReward"; end; OnReward: addrid(0); doevent "Invasion Rewarder::OnTalk"; end; prontera,150,175,4 script Invasion Rewarder 110,{ OnTalk: mes .n$; mes "Hello, "+strcharinfo(0)+"!"; mes "So you want to be rewarded from the Mob Invasion Event, huh?"; mes "Let me take a look at your battle record."; next; ... ... ... try these
-
https://github.com/rathena/rathena/issues/7548
-
EQI_COMPOUND_ON (-1) - Item slot that calls this script (In context of item script) - exclusive to getequipid EQI_ACC_L (0) - Accessory 1 EQI_ACC_R (1) - Accessory 2 EQI_SHOES (2) - Footgear (shoes, boots) EQI_GARMENT (3) - Garment (mufflers, hoods, manteaux) EQI_HEAD_LOW (4) - Lower Headgear (beards, some masks) EQI_HEAD_MID (5) - Middle Headgear (masks, glasses) EQI_HEAD_TOP (6) - Upper Headgear EQI_ARMOR (7) - Armor (jackets, robes) EQI_HAND_L (8) - Left hand (weapons, shields) EQI_HAND_R (9) - Right hand (weapons) EQI_COSTUME_HEAD_TOP (10) - Upper Costume Headgear EQI_COSTUME_HEAD_MID (11) - Middle Costume Headgear EQI_COSTUME_HEAD_LOW (12) - Lower Costume Headgear EQI_COSTUME_GARMENT (13) - Costume Garment EQI_AMMO (14) - Arrow/Ammunition EQI_SHADOW_ARMOR (15) - Shadow Armor EQI_SHADOW_WEAPON (16) - Shadow Weapon EQI_SHADOW_SHIELD (17) - Shadow Shield EQI_SHADOW_SHOES (18) - Shadow Shoes EQI_SHADOW_ACC_R (19) - Shadow Accessory 2 EQI_SHADOW_ACC_L (20) - Shadow Accessory 1 your values are outdated
-
Como configurar a ygg para não ter cooldown ?
Emistry replied to goathenry777's topic in Suporte a Customização
Delay: Duration: 5000 Status: Reuse_Limit_F remove these from your item_db -
you probably have this setting configured? conf/battle/status.conf#L15-L20 // Will certain skill status-changes be removed on logout? // 0 = (Default) Only remove status that has the SCF_NO_SAVE flag. // 1 = Remove negative buffs (status that are flagged as debuff) // 2 = Remove positive buffs. // 3 = Remove all. debuff_on_logout: 0 or remove the SCF_NO_SAVE flag from all buff statuses
-
FluxCP Error: Unknown column 'group_id' in 'where clause'
Emistry replied to coringawill's question in Web Support
your fluxcp is too old , use a newer version of fluxcp https://github.com/rathena/FluxCP -
20 days? good luck. Been waiting since 2015 (around 2017 requested to cancel it to recreated the requests with smaller amount, so far only succeed to get one time around $7)
-
Official achievement UI repeatable achievement?
Emistry replied to Thanna20's question in Scripting Support
perhaps delete the existing achievements from player log then let them redo it ? -
-- -- Table structure for table `skill` -- CREATE TABLE IF NOT EXISTS `skill` ( `char_id` int(11) unsigned NOT NULL default '0', `id` smallint(11) unsigned NOT NULL default '0', `lv` tinyint(4) unsigned NOT NULL default '0', `flag` TINYINT(1) UNSIGNED NOT NULL default 0, PRIMARY KEY (`char_id`,`id`) ) ENGINE=MyISAM; you should check why its missing from your database or some failed queries execution.
-
try this //===== rAthena Script ======================================= //= Free Script //===== By: ================================================== //= Sader1992 //= https://rathena.org/board/profile/30766-sader1992/ //= Email [email protected] //===== Compatible With: ===================================== //= rAthena Project //= ========================================================== //= @aitem this command allows you to check how many of the item in the server //= command @aitem2 allows you to check also who have the items //= @aitem is fast, but @aitem2 will take some time to finish //= the time depend on how big your database is! //= ========================================================== //= you should wait until the command is done , do not logout/talk to npc/ anything until you get the results! //= ========================================================== //= '@AnalyzeItem' return the count of the item in the server. //= '@AnalyzeItem2' return the count of the item and the lst of who have it in the server (take more time). //= USAGE: //= @AnalyzeItem <ITEM_ID> //= @AnalyzeItem2 <ITEM_ID> //= OR //= @AItem <ITEM_ID> //= @AItem2 <ITEM_ID> //= Wait until you get the results in your chat //= to add more tables (like other storages) check the array .@tables$ and .@id$ //= F_GET_REAL_OWNER_NAME(<"string table">,<id>) get the name for id //============================================================ function script F_GET_REAL_OWNER_NAME { .@table$ = getarg(0); .@id = getarg(1); .@n$ = ""; if(.@table$ != "account_id" && .@table$ != "char_id"){ if(.@table$ != "id"){ return "(Mails):"; }else{ return "(Guilds):"; } } .@acc = .@id; if(.@table$ == "char_id"){ query_sql("SELECT `account_id` FROM `char` WHERE `char_id` = '" + .@id + "'",.@acc); } query_sql("SELECT `group_id`,`userid` FROM `login` WHERE `account_id` = '" + .@acc + "'",.@g,.@name$); if(.@g >= 1){ .@n$ = "[ Player ] "; } if(.@g >= 80){ .@n$ = "[ Staff ] "; } .@name1$ = .@n$ + .@name$; return .@name1$; } prontera,155,181,5 script Sample 757,{ input .@item_id; .@owner_name = select("Continue", "Get Real Owner Name") - 1; setarray .@tables$,"cart_inventory","guild_storage","inventory","storage", "mail_attachments"; setarray .@id$, "char_id", "guild_id", "char_id", "account_id","id"; mes "Searching for item '" + getitemname(.@item_id) + "'",0x9FFFB5; mes "Analyze Tables",0x9FFFB5; for(.@i=0;.@i<getarraysize(.@tables$);.@i++){ query_sql("SELECT `amount`,`" + .@id$[.@i] + "` FROM `" + .@tables$[.@i] + "` WHERE nameid = '"+ .@item_id +"' OR card0 = "+.@item_id+" OR card1 = "+.@item_id+" OR card2 = "+.@item_id+" OR card3 = "+.@item_id, .@count, .@id, .@c0, .@c1, .@c2, .@c3); for(.@n=0;.@n<getarraysize(.@count);.@n++){ if (.@id[.@n] != .@item_id) { .@allcounts += (.@c0[.@n] == .@item_id); .@allcounts += (.@c1[.@n] == .@item_id); .@allcounts += (.@c2[.@n] == .@item_id); .@allcounts += (.@c3[.@n] == .@item_id); } else .@allcounts += .@count[.@n]; if(.@owner_name){ .@n$ = F_GET_REAL_OWNER_NAME(.@id$[.@i],.@id[.@n]); .@ndx = inarray(.@name_list$,.@n$); if(.@ndx == -1){ .@ndx = getarraysize(.@name_list$); .@name_list$[.@ndx] = .@n$; } .@count_list[.@ndx] += .@count[.@n]; sleep2 2; } } sleep2 5; deletearray .@count[0],getarraysize(.@count); } if(.@owner_name){ mes "==================================",0x9FFFB5; mes "Extended List:",0x9FFFB5; if(getarraysize(.@name_list$) > 20){ for(.@i=0;.@i<getarraysize(.@name_list$);.@i += 3){ mes "" + .@name_list$[.@i] + " - (" + .@count_list[.@i] + ")" + " " + "(" + .@name_list$[.@i+1] + "): (" + .@count_list[.@i+1] + ")" + " " + "(" + .@name_list$[.@i+2] + "): (" + .@count_list[.@i+2] + ")",0x9FFFB5; } }else{ for(.@i=0;.@i<getarraysize(.@name_list$);.@i++){ mes "" + .@name_list$[.@i] + " - (" + .@count_list[.@i] + ")"; } } mes "==================================",0x9FFFB5; } mes "Analyze Done.",0x9FFFB5; mes "(" + .@allcounts + ")" + getitemname(.@item_id) + ".",0x9FFFB5; close; }
-
Randomize item drop by unique type, quantity
Emistry replied to Desryuu's question in Scripting Support
// -- This function was originally from Annieruru function script F_ShuffleNumbers { deletearray getarg(2); .@static = getarg(0); .@range = getarg(1) +1 - .@static; .@count = getarg(3, .@range); if (.@range <= 0 || .@count <= 0) return 0; if (.@count > .@range) .@count = .@range; for (.@i = 0; .@i < .@range; ++.@i) .@temparray[.@i] = .@i; for (.@i = 0; .@i < .@count; ++.@i) { .@rand = rand(.@range); set getelementofarray( getarg(2), .@i ), .@temparray[.@rand] + .@static; .@temparray[.@rand] = .@temparray[--.@range]; } return .@count; } - script Dropped -1,{ OnInit: setarray .item_id, 501, 645, 533; // Possible items to receive (ID, amount) setarray .item_qty, 25, 5, 30; .item_id_size = getarraysize(.item_id); end; OnDropping: getmapxy(.@map$, .@x, .@y, BL_PC); .@t = rand(.item_id_size); callfunc "F_ShuffleNumbers", 0, .@t, .@id; for ( .@i = 0; .@i < .@t; .@i++ ) makeitem .item_id[.@id[.@i]], rand(1, .item_qty[.@id[.@i]]), .@map$, .@x, .@y; end; } jupe_ele,0,0 monster Boss 1004,1,5000,0,"Dropped::OnDropping" use the monster keep respawn, you can consider use the permanent monster spawn script instead. -
R> Player has killed [monster] and got [monster card] Script
Emistry replied to funtwocrasher's question in General Support
read this -
how about start with reading the config inside the script? dont turn on the penalty if you dont want it to penalize the players https://github.com/deadlybrothers/script/blob/master/goldroom.txt#L56-L57
-
try disable SECURE_NPCTIMEOUT or add this to your warper script *ignoretimeout <flag>{,<char_id>}; Disables the SECURE_NPCTIMEOUT function on the character invoking the script, or by the given character ID/character name. Valid flag: 0 - Enabled SECURE_NPCTIMEOUT. 1 - Disable SECURE_NPCTIMEOUT. Note: SECURE_NPCTIMEOUT must be enabled for this to work.
-
L_Enter: mes "Please pay me one "+getitemname(7227); if (select("Alright", "Cancel") == 2) close3; if (countitem(7227) < 1) { mes "You dont have enough "+getitemname(7227); close3; } switch(instance_enter("Endless Tower")) { case IE_OTHER: mes "An unknown error has occurred."; close; case IE_NOINSTANCE: mes "The memorial dungeon Endless Tower does not exist."; mes "The party leader did not generate the dungeon yet."; close; case IE_NOMEMBER: mes "You can enter the dungeon after making the party."; close; case IE_OK: delitem 7227, 1; mapannounce "e_tower", strcharinfo(0) +" of the party, "+ getpartyname( getcharid(1) ) +", is entering the dungeon, Endless Tower.",bc_map,"0x00ff99",FW_NORMAL,12; if (getarg(1)) { set etower_timer,gettimetick(2); set etower_partyid, getcharid(1); setquest 60200; setquest 60201; } //warp "1@tower",52,354; if (getarg(0) == 0) close; else end; } npc/instances/EndlessTower.txt#L295
-
Help on 2 NPCs/Scripts - Kafra Suprema e Evento Chefe do Mundo / World Boss.
Emistry replied to lLoydxx's question in Scripting Support
- script WorldBoss::alwbman -1 ,{ end; OnNPCKillEvent: .wbKilledMob++; if(.wbKilledMob >= .killPopBoss) { .@map$ = .townMap$[rand(getarraysize(.townMap$) - 1)]; areamonster .@map$, 0, 0, 250, 250, "--ja--", .wBossId, 1, strnpcinfo(3) + "::OnWBossDied"; .boss_gid = $@mobid[0]; initnpctimer; announce "[Chefe do Mundo]: Humanos tolos, como ousam me despertar? Voc阺 ir鉶 sentir a minha ira!", bc_all, 0xFF0000; sleep 10000; announce "[Chefe do Mundo]: Muahahahahahaha Muahahahahahaha Muahahahahahaha...", bc_all, 0xFF0000; sleep 10000; announce "[Chefe do Mundo]: O Chefe do Mundo surgiu em >> " + .@map$ + " << para matar todos os aventureiros que o despertaram!", bc_all, 0xFF0000; } end; OnWBossDied: announce "[Chefe do Mundo]: " + strcharinfo(0) + " acerta o golpe final e acaba de matar o Chefe do Mundo! Parab閚s!", bc_all, 0xFF0000; sleep 5000; announce "[Chefe do Mundo]: " + strcharinfo(0) + " acaba de receber uma grande recompensa por det?lo!", bc_all, 0xFF0000; sleep 5000; announce "[Chefe do Mundo]: N鉶 fique contente humano eu retornarei um dia!", bc_all, 0xFF0000; getitem .rewardId, .rewardCount; OnTimer7200000: // after 2 hours stopnpctimer; .wbKilledMob = 0; if (unitexists(.boss_gid)) unitkill .boss_gid; end; OnInit: .killPopBoss = 10; setarray .townMap$[0],"prontera","geffen","morocc","payon","izlude","alberta","aldebaran","brasilis","dewata"; //to fill .wBossId = 2255; .rewardId = 14232; .rewardCount = 5; end; } -
Need to add GM Reset Command In Hunting Mission
Emistry replied to DEsMOn's question in Scripting Support
- script atcmd_example -1,{ OnInit: bindatcmd "reset",strnpcinfo(3) + "::OnAtcommand"; end; OnAtcommand: query_sql("DELETE FROM `char_reg_num` WHERE `key` LIKE 'Mission%'"); query_sql("DELETE FROM `acc_reg_num` WHERE `key` LIKE 'Mission%'"); .quest_count = getvariableofnpc(.Quests, "Hunting Missions"); addrid(0); #Mission_Count = 0; #Mission_Delay = 0; #Mission_Total = 0; @hm_char_del_check = 0; for (.@i = 0; .@i < .quest_count; .@i++) { setd "Mission" + .@i, 0; setd "Mission" + .@i+"_", 0; } dispbottom "A GM has forced reset your Hunting mission status."; end; }- 1 reply
-
- 1
-