-
Posts
10015 -
Joined
-
Days Won
405
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by Emistry
-
-
you can get most of the client here.
-
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
-
you didn't have the mob_db data of these mob, either remove the mob spawn from the scripts or add the mob_db data
-
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
-
On 3/22/2021 at 12:49 PM, cadz said:
i found out that when i buy the item in npc hourly points the free cash shop here does not reduced. when i change char to reconnect that time it will reduced.
-
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
-
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
-
your fluxcp is too old , use a newer version of fluxcp
-
On 1/5/2023 at 3:24 AM, ruben0101 said:
I have been waiting for more than 20 days
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)
-
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.
-
On 12/24/2022 at 3:40 AM, friomixx said:
is there a way to count as well those cards that are already attached in the item?
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; }
-
1
-
-
// -- 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.
-
On 7/8/2022 at 7:46 PM, Almond Snicker said:
I added the DropAnnounce: true but it is not announcing, would there be any other modification needed?
read this
On 3/14/2022 at 12:06 AM, Rynbef said: -
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; }
-
On 11/13/2021 at 2:37 PM, lLoydxx said:
2 - This script is the Boss of the World event but I wanted it to work like this when killing 100k mobs it would summon the Boss of the World and players would have 2 hours to kill, if they didn't kill it it would reset and disappear with the World Boss, thus having to kill 100k again to summon World Boss again.
- 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; }
-
- 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
-
-
that is because you call the function without pass in any parameters/arguments or set a defeault value for each of getarg(...)
getarg(0, "default_value")
function script SC_MOVEARM { movenpc getarg(0, strnpcinfo(3)),rand(2,390),rand(2,390); getmapxy(.@map$,.@x,.@y, BL_NPC,getarg(0, strnpcinfo(3))); if( !checkcell(.@map$,.@x,.@y,cell_chkreach) ){ return 0; } if( !checkcell(.@map$,.@x,.@y,cell_chkpass) ){ return 0; } return 1; }
but as sader mentioned, your label with SC_MOVEARM name isn't suitable, you shouldn't name any label start with SC_ since its predefined for status change constants.
and learn to use duplicate(...) npc instead of copy all npcs like that
-
-
1
-
Ragexe 2015-12 (december of 2015)
in Client Requests
Posted
http://nemo.herc.ws/clients/#2015