-
Posts
101 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by Tupac
-
-
Ola galera, estou tentando traduzir o mob_db_re, porém são muitas linhas levaria uma eternidade, existe algum script que formate o mob_db_re.sql do brathena ou do cronus para o do rathena ?
Tentei editar no notepadd++ porém os formatos são diferente de db.
-
enchant rwc with and without slots
-
19 hours ago, AnnieRuru said:
prontera,150,185,5 script test 1_F_MARIA,{ if ( !isequipped(2589) && !isequipped(2576) ) dispbottom "go away"; end; }
thx
Script edited:
//===== rAthena Script ======================================= //= Ticket Refiner //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.1 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= [Official Conversion] //= Refiner that uses +5~9/+11 refine tickets to refine //= equipment with no chance of failure. //= NOTE: This NPC is currently disabled on official servers. //===== Additional Comments: ================================= //= 1.0 First version. [Euphy] //= 1.1 Do not refine above ticket level. [Euphy] //============================================================ // Main NPC :: safety_Ref_NPC //============================================================ prontera,147,162,5 script Refinador 4_M_05,{ disable_items; if (countitem(6238) || countitem(6228) || countitem(6229) || countitem(6230) || countitem(6231) || countitem(6456)) set .@bWeaponUp,1; if (countitem(6239) || countitem(6232) || countitem(6233) || countitem(6234) || countitem(6235) || countitem(6457)) set .@bArmorUp,1; if (!.@bWeaponUp && !.@bArmorUp) { mes "[Refinador]"; mes "Hello!"; mes "What's up?"; mes "I'm a specialist"; mes "for refining items,"; mes "but I don't work anymore."; next; switch(select("I'll go on my way.:Hmm... this makes me curious.")) { case 1: mes "[Refinador]"; mes "Take care, adventurer."; close; case 2: mes "[Refinador]"; mes "Actully, I sometimes provide refine services for adventurers with a ^006400Refine Ticket^000000..."; mes "Bye bye~!"; close; } } emotion ET_SURPRISE; mes "[Refinador]"; mes "Greetings!"; mes "I can refine an item up to the ^006400same level as your ticket^000000."; mes "You don't have to worry! There's no chance of breaking your item."; next; if(select("I'll come back later.:Refine item with ticket.") == 1) { mes "[Refinador]"; mes "Okay."; mes "You can come again later."; close; } mes "[Refinador]"; mes "Which equipment would you like to refine?"; next; setarray .@position$[1],"Robe"; setarray .@indices[1], EQI_GARMENT; for(set .@i,1; .@i<=1; set .@i,.@i+1) set .@menu$, .@menu$+((getequipisequiped(.@indices[.@i]))?getequipname(.@indices[.@i]):.@position$[.@i]+"- [Empty]")+":"; set .@part, .@indices[ select(.@menu$) ]; if (!getequipisequiped(.@part)) { mes "[Refinador]"; mes "You have to equip the item you want to refine."; close; } if (!getequipisenableref(.@part)) { emotion ET_OTL; mes "[Refinador]"; mes "Oh, I'm sorry."; mes "This item is impossible to refine."; close; } switch(getequipweaponlv(.@part)) { default: case 0: setarray .@tickets[0],6232; setarray .@levels[0],9; set .@type$,"Armor"; set .@check,.@bArmorUp; break; case 1: case 2: case 3: case 4: setarray .@tickets[0],6228; setarray .@levels[0],9; set .@type$,"Weapon"; set .@check,.@bWeaponUp; break; } if (!.@check) { emotion ET_THINK; mes "[Refinador]"; mes "If you want to refine this ^006400"+.@type$+"^000000, please come along with ^006400"+.@type$+" Refine Ticket^000000."; mes "See you later!"; close; } mes "[Refinador]"; mes "Please choose which ^006400"+.@type$+" Refine Ticket^000000 you want to use."; next; set .@menu$,""; for(set .@i,0; .@i<getarraysize(.@tickets); set .@i,.@i+1) set .@menu$, .@menu$+getitemname(.@tickets[.@i])+":"; set .@select, select(.@menu$)-1; set .@ticket_lv, .@levels[.@select]; set .@ticket_id, .@tickets[.@select]; if ( !isequipped(2589) && !isequipped(2576) ) { dispbottom "go away"; end; } if (countitem(.@ticket_id) == 0) { emotion ET_QUESTION; mes "[Refinador]"; mes getitemname(.@ticket_id)+" is not in your inventory. Did you put it in your storage?"; mes "Please check again."; mes "See you later!"; close; } if (getequiprefinerycnt(.@part) >= .@ticket_lv) { emotion ET_PROFUSELY_SWEAT; mes "[Refinador]"; mes "^8B4513This item is already refined as much as your deed.^000000"; mes "Please come along with an item refined less than your ticket."; close; } mes "[Refinador]"; mes "I'm going to refine ^006400"+getequipname(.@part)+"^8B4513 up to the +"+.@ticket_lv+" level^000000 with ^006400"+getitemname(.@ticket_id)+"^000000."; mes "May I proceed?"; next; if(select("No.:Yes.") == 1) { emotion ET_THINK; mes "[Refinador]"; mes "Oh, you changed your mind."; mes "Ok."; mes "You can come back later."; close; } mes "[Refinador]"; mes "Great."; mes "As you wish!"; mes "I have my own special way to refine..."; mes ".......ka boom!"; specialeffect EF_SUI_EXPLOSION; if (countitem(.@ticket_id)) delitem .@ticket_id,1; else { next; mes "Error!"; mes "Please report this."; close; } successrefitem .@part, .@ticket_lv - getequiprefinerycnt(.@part); next; emotion ET_DELIGHT; mes "[Refinador]"; mes "Alright, here it is~"; mes "Well, ^0000FF"+strcharinfo(0)+"^000000!"; mes "Congratulations on your shining "+.@type$+"."; mes "You look GREAT!"; mes "Farewell~!"; close; }
- 1
-
18 hours ago, AnnieRuru said:
set .slot$, "2966|2968"; //Items that can be slotted.
change into
set .slot$, "2966|2967|2968|2969"; //Items that can be slotted.
although some in-game testing, it seems it actually only allow to enchant non-slot equipments
because 2967 and 2969 are slot itemsTo be continue
"Acessory1-[Empty]"
"Acessory2-[Empty]"
for all items
-
Help, edit script:
//===== rAthena Script ======================================= //= Ticket Refiner //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.1 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= [Official Conversion] //= Refiner that uses +5~9/+11 refine tickets to refine //= equipment with no chance of failure. //= NOTE: This NPC is currently disabled on official servers. //===== Additional Comments: ================================= //= 1.0 First version. [Euphy] //= 1.1 Do not refine above ticket level. [Euphy] //============================================================ // Main NPC :: safety_Ref_NPC //============================================================ prontera,147,162,5 script Refinador 4_M_05,{ disable_items; if (countitem(6238) || countitem(6228) || countitem(6229) || countitem(6230) || countitem(6231) || countitem(6456)) set .@bWeaponUp,1; if (countitem(6239) || countitem(6232) || countitem(6233) || countitem(6234) || countitem(6235) || countitem(6457)) set .@bArmorUp,1; if (!.@bWeaponUp && !.@bArmorUp) { mes "[Refinador]"; mes "Hello!"; mes "What's up?"; mes "I'm a specialist"; mes "for refining items,"; mes "but I don't work anymore."; next; switch(select("I'll go on my way.:Hmm... this makes me curious.")) { case 1: mes "[Refinador]"; mes "Take care, adventurer."; close; case 2: mes "[Refinador]"; mes "Actully, I sometimes provide refine services for adventurers with a ^006400Refine Ticket^000000..."; mes "Bye bye~!"; close; } } emotion ET_SURPRISE; mes "[Refinador]"; mes "Greetings!"; mes "I can refine an item up to the ^006400same level as your ticket^000000."; mes "You don't have to worry! There's no chance of breaking your item."; next; if(select("I'll come back later.:Refine item with ticket.") == 1) { mes "[Refinador]"; mes "Okay."; mes "You can come again later."; close; } mes "[Refinador]"; mes "Which equipment would you like to refine?"; next; setarray .@position$[1],"Robe"; setarray .@indices[1], EQI_GARMENT; for(set .@i,1; .@i<=1; set .@i,.@i+1) set .@menu$, .@menu$+((getequipisequiped(.@indices[.@i]))?getequipname(.@indices[.@i]):.@position$[.@i]+"- [Empty]")+":"; set .@part, .@indices[ select(.@menu$) ]; if (!getequipisequiped(.@part)) { mes "[Refinador]"; mes "You have to equip the item you want to refine."; close; } if (!getequipisenableref(.@part)) { emotion ET_OTL; mes "[Refinador]"; mes "Oh, I'm sorry."; mes "This item is impossible to refine."; close; } switch(getequipweaponlv(.@part)) { default: case 0: setarray .@tickets[0],6232; setarray .@levels[0],9; set .@type$,"Armor"; set .@check,.@bArmorUp; break; case 1: case 2: case 3: case 4: setarray .@tickets[0],6228; setarray .@levels[0],9; set .@type$,"Weapon"; set .@check,.@bWeaponUp; break; } if (!.@check) { emotion ET_THINK; mes "[Refinador]"; mes "If you want to refine this ^006400"+.@type$+"^000000, please come along with ^006400"+.@type$+" Refine Ticket^000000."; mes "See you later!"; close; } mes "[Refinador]"; mes "Please choose which ^006400"+.@type$+" Refine Ticket^000000 you want to use."; next; set .@menu$,""; for(set .@i,0; .@i<getarraysize(.@tickets); set .@i,.@i+1) set .@menu$, .@menu$+getitemname(.@tickets[.@i])+":"; set .@select, select(.@menu$)-1; set .@ticket_lv, .@levels[.@select]; set .@ticket_id, .@tickets[.@select]; if (countitem(.@ticket_id) == 0) { emotion ET_QUESTION; mes "[Refinador]"; mes getitemname(.@ticket_id)+" is not in your inventory. Did you put it in your storage?"; mes "Please check again."; mes "See you later!"; close; } if (getequiprefinerycnt(.@part) >= .@ticket_lv) { emotion ET_PROFUSELY_SWEAT; mes "[Refinador]"; mes "^8B4513This item is already refined as much as your deed.^000000"; mes "Please come along with an item refined less than your ticket."; close; } mes "[Refinador]"; mes "I'm going to refine ^006400"+getequipname(.@part)+"^8B4513 up to the +"+.@ticket_lv+" level^000000 with ^006400"+getitemname(.@ticket_id)+"^000000."; mes "May I proceed?"; next; if(select("No.:Yes.") == 1) { emotion ET_THINK; mes "[Refinador]"; mes "Oh, you changed your mind."; mes "Ok."; mes "You can come back later."; close; } mes "[Refinador]"; mes "Great."; mes "As you wish!"; mes "I have my own special way to refine..."; mes ".......ka boom!"; specialeffect EF_SUI_EXPLOSION; if (countitem(.@ticket_id)) delitem .@ticket_id,1; else { next; mes "Error!"; mes "Please report this."; close; } successrefitem .@part, .@ticket_lv - getequiprefinerycnt(.@part); next; emotion ET_DELIGHT; mes "[Refinador]"; mes "Alright, here it is~"; mes "Well, ^0000FF"+strcharinfo(0)+"^000000!"; mes "Congratulations on your shining "+.@type$+"."; mes "You look GREAT!"; mes "Farewell~!"; close; }
for refine only ids 2589 and 2576
-
Solved:
getitem @i[@i3rand],1;
for
getitem @i3[@i3rand],1;
and
getitem @i[@i2rand],1;
for
getitem @i2[@i2rand],1;
Thx! @utofaery
-
21 minutes ago, utofaery said:
This method is easier comparing to recompiling lolz. comparing to editing database .txt all around
and this method is fully changable to event script's need easily..(on the fly changes)
Sorry for the broken previous script but this script tested working in current rathena version.
Put this part inside your npc files.
function script F_RBox { // change Item ID here setarray @i1[0],607,608; // Common Items setarray @i2[0],512,513; // Rare Items setarray @i3[0],514,515; // Super Rare Items set @i1rand,rand( getarraysize(@i1) ); // Randomize Common Items; just change max amount if you add items set @i2rand,rand( getarraysize(@i2) ); // Randomize Rare Items; just change max amount if you add items set @i3rand,rand( getarraysize(@i3) ); //Randomize Super Rare Items; just change max amount if you add items .chance = rand(100); // Super Rare Item 1% if (.chance == 1) { getitem @i[@i3rand],1; announce "["+strcharinfo(0)+"] won a ["+getitemname(@i3[@i3rand])+"] from the Super Rare Box.",0; end; } // Rare Item 10% else if (.chance <= 11 && .chance >= 1){ getitem @i[@i2rand],1; announce "["+strcharinfo(0)+"] won a ["+getitemname(@i2[@i2rand])+"] from the Rare Item Box.",0; end; } // Common Items else { getitem @i1[@i1rand],1; end; } }
Note : above script is to be inside any .txt which are loaded in your npc folder
Put this line in you Item Script.
callfunc("F_RBox");
https://github.com/rathena/rathena/wiki/Adding-a-Script
example:
617,Old_Violet_Box,Old Purple Box,2,10000,,200,,,,,0xFFFFFFFF,63,2,,,,,,{ callfunc ( "F_RBox" ) ; },{},{}
https://github.com/rathena/rathena/wiki/Custom-Items
Error to gain super rare and rare.
[Error]: buildin_getitem: Nonexistant item 0 requested. [Debug]: Source (NPC): FAKE_NPC (invisible/not on a map)
-
Script:
//v 1.2 prontera,139,164,4 script Goldberg#0 878,{ function ordinal_suffix; function f_itm_menu; set .npc$, "["+strnpcinfo(1)+"]"; //NPC Name set .mode, atoi(strnpcinfo(2)); if(!.mode) { mes .npc$; mes "Hello there!"; mes "I can enchant or remove enchantments"; mes "from your 2012 RWC accessory items!"; next; } else if(.mode<3) { mes .npc$; mes "Hello there!"; mes "I can add a slot to your RWC"; mes "2012 accessory items!"; mes "^FF0000Any enchantments over the first"; mes "slot will be lost in the process!^000000"; next; } else { mes .npc$; mes "Hello there!"; mes "I can slot or enchant your RWC"; mes "2012 accessory items!"; mes "^FF0000Any enchantments over the first"; mes "slot will be lost in the process!^000000"; next; } switch(select(((.mode)?"Chamber Accessory"+((.mode>1)?":Enchant:Remove Enchantments":""):"Enchant:Remove Enchantments")+":Cancel")) { case 1: if(!.mode) { mes .npc$; mes "Which RWC Accessory item would you like to enchant?"; next; f_itm_menu(); goto L_Slots; } else { mes .npc$; mes "Which RWC Accessory do you want me to slot?"; next; f_itm_menu(); break; } case 2: if(!.mode) { mes .npc$; mes "Select the RWC Accessory you would like me to remove the enchantments from."; next; f_itm_menu(); goto L_RMV; } else if (.mode>1) { mes .npc$; mes "Which RWC Accessory item would you like to enchant?"; next; f_itm_menu(); goto L_Slots; } case 3: if (.mode>1) { mes .npc$; mes "Select the RWC Accessory you would like me to remove the enchantments from."; next; f_itm_menu(); goto L_RMV; } case 4: goto L_Exit; } if(!compare(.slot$,""+@eq_id)) { mes .npc$; mes "That item cannot be slotted."; close; } while(.@i++<=4) setd(".@o_crd"+.@i, getequipcardid(@eq_loc,.@i-1)); mes .npc$; mes "Are you sure you wish to continue?"; mes "^FF0000There is a "+.pert+"% chance that"; mes "the slotting process will fail and"; mes "your item will break.^000000"; next; if(select("Yes:No")&2) goto L_Exit; if(rand(100)>=.pert) { delitem2 @eq_id, 1, 1, @eq_rf, 0, .@o_crd1, .@o_crd2, .@o_crd3, .@o_crd4; getitem2 (@eq_id+1), 1, 1, @eq_rf, 0, 0, .@o_crd2, .@o_crd3, .@o_crd4; misceffect 101; sleep2 1300; misceffect .efet; mes .npc$; mes "Perfection!!"; emotion ET_BEST1,0; equip @eq_id; } else { delitem2 @eq_id, 1, 1, @eq_rf, 0, .@o_crd1, .@o_crd2, .@o_crd3, .@o_crd4; misceffect 101; sleep2 1300; misceffect .afet; mes .npc$; mes "The metal was too weak and the drill went right through... I'm Sorry!"; emotion ET_CRY1,0; } close; L_Slots: set .@menu$, ""; set .@a, 0; while(set(.@a,.@a+1)<=4) { setd(".@o_crd"+.@a, getequipcardid(@eq_loc,.@a-1)); if(getequipcardid(@eq_loc,.@a-1)) set .@menu$, .@menu$+ ordinal_suffix(.@a)+" Slot - [^a92435"+getitemname(getequipcardid(@eq_loc,.@a-1))+"^000000]:"; else if(getitemslots(@eq_id)-.@a>=0) set .@menu$, .@menu$+ ordinal_suffix(.@a)+" Slot - [Chambered]:"; else set .@menu$, .@menu$+ ordinal_suffix(.@a)+" Slot - [^30ad25"+((getd(".@crd"+.@a))?"^800080"+getd(".@typ"+.@a+"$"):"Empty")+"^000000]:"; } set .@menu$, .@menu$+"[^0000FFEnchant!^000000]"; mes .npc$; mes "Select a slot."; mes "Choose '^0000FFEnchant^000000' when you're done!"; next; set .@menu, select(.@menu$)-1; if(getequipcardid(@eq_loc,.@menu)&&getitemslots(@eq_id)-(.@menu+1)<0) { if(.remv) { mes .npc$; mes "Would you like me to remove this enchantment?"; next; if(select("Yes:No")&2) goto L_Exit; delitem2 @eq_id, 1, 1, @eq_rf, 0, .@o_crd1, .@o_crd2, .@o_crd3, .@o_crd4; setd(".@o_crd"+(.@menu+1), 0); getitem2 @eq_id, 1, 1, @eq_rf, 0, .@o_crd1, .@o_crd2, .@o_crd3, .@o_crd4; equip @eq_id; goto L_Slots; } else { mes .npc$; mes "Sorry I can't do anything with this slot without a "+getitemname(.cure)+"."; next; goto L_Slots; } } else if(getitemslots(@eq_id)-(.@menu+1)>=0) { mes .npc$; mes "I cannot do anything with Chambered slots!"; next; goto L_Slots; } if((.@menu+1)>4) { if(!(.@crd1+.@crd2+.@crd3+.@crd4)) { mes .npc$; mes "You haven't done anything!"; next; goto L_Slots; } mes .npc$; mes "Are you sure you wish to continue?"; mes "^FF0000There is a "+.perc+"% chance that"; mes "the enchantment will fail and"; mes "your item will break.^000000"; next; if(select("Yes:No")&2) goto L_Exit; if(rand(100)>=.perc) { delitem2 @eq_id, 1, 1, @eq_rf, 0, .@o_crd1, .@o_crd2, .@o_crd3, .@o_crd4; getitem2 @eq_id, 1, 1, @eq_rf, 0, .@crd1, .@crd2, .@crd3, .@crd4; misceffect 101; sleep2 1300; misceffect .efet; mes .npc$; mes "Wow, that's one strong item!"; equip @eq_id; } else { delitem2 @eq_id, 1, 1, @eq_rf, 0, .@o_crd1, .@o_crd2, .@o_crd3, .@o_crd4; misceffect 101; sleep2 1300; misceffect .afet; mes .npc$; mes "I'm sorry, the item wasn't able to support the enchantment and broke!"; } close; } set(.@g$,""); if(@eq_id!=2966&&.@menu>1&&@eq_id!=2967) { set(.@g$,"1"); } else if(.@menu>1) set(.@g$,"0"); select(getd(".menu"+.@g$+(.@menu+1)+"$")); set .itm, ((.@menu==1&&@menu>.t_len)?.itm04[rand(getarraysize(.itm04))]:4700+(((@menu-1)*10)+rand(.limi))); setd(".@crd"+(.@menu+1),getd(".itm"+.@g$+((.@menu>1)?@menu+"["+rand(getarraysize(getd(".itm"+.@g$+@menu)))+"]":""))); setd(".@typ"+(.@menu+1)+"$",getd(".ary"+.@g$+(.@menu+1)+"$["+(@menu-1)+"]")); goto L_Slots; L_RMV: if(!countitem(.cure)) { mes .npc$; mes "I'm sorry but you need at least one "+getitemname(.cure)+" before we may continue."; close; } while(.@i++<=4) setd(".@o_crd"+.@i, getequipcardid(@eq_loc,.@i-1)); if(!((getitemslots(@eq_id)?0:.@o_crd1)+.@o_crd2+.@o_crd3+.@o_crd4)) { mes .npc$; mes "There isn't anything I can remove on that accessory."; close; } mes .npc$; mes "Are you sure that you want to remove your enchantments?"; mes "^FF0000This option won't effect your chambered card slot.^000000"; next; if(select("Yes:No")&2) goto L_Exit; misceffect 103; delitem(.cure,1); delitem2 @eq_id, 1, 1, @eq_rf, 0, .@o_crd1, .@o_crd2, .@o_crd3, .@o_crd4; getitem2 @eq_id, 1, 1, @eq_rf, 0, (getitemslots(@eq_id)?.@o_crd1:0), 0, 0, 0; mes .npc$; mes "Your enchantments where removed!"; close; L_Exit: mes .npc$; mes .message$[rand(getarraysize(.message$))]; close; function ordinal_suffix { set(.@i,getarg(0)); set(.@j,.@i%10); if (.@j == 1 && .@i != 11) return .@i + "st"; if (.@j == 2 && .@i != 12) return .@i + "nd"; if (.@j == 3 && .@i != 13) return .@i + "rd"; return .@i + "th"; } function f_itm_menu { while(set(.@a,.@a+1)<=.e_len) { if(compare(.e_itl$[.@a-1],""+getequipid(.e_loc[.@a-1]))) set .@menu$, .@menu$+.eqp$[.@a-1]+"- [^0000FF"+getitemname(getequipid(.e_loc[.@a-1]))+"^000000]:"; else set .@menu$, .@menu$+"^adb4be"+.eqp$[.@a-1]+"- [Empty]^000000:"; } set @menu, select(.@menu$)-1; set @eq_loc, .e_loc[@menu]; set @eq_id, getequipid(@eq_loc); set @eq_rf, getequiprefinerycnt(@eq_loc); if(!compare(.e_itm$,""+@eq_id )) { mes .npc$; mes "Sorry I don't recognize that equipment."; close; } } return; //NPC Constants OnInit: //=-=-=-=-=-=-=Configuration=-=-=-=-=-=-= set .perc , 25; //enchantment fail percent set .pert , 50; //slotting fail percent set .efet , 154; //Success Effect Number set .afet , 155; //Fail Effect Number set .remv , 0; //Allows the NPC to remove enchantments without Item. (1=On/0=Off) set .cure , 6665; //Item used to remove enchantments set .limi , 3; //Limit for status orb enchantments. setarray .message$, //List of random closing messages. "Maybe next time then.", "Alright, thanks anyway!", "Alright maybe next time then.", "Uhm, ok- See you around then.", "Wise choice, although you'll probably"+ "never get anywhere with that attitude."; set .slot$, "2966|2968"; //Items that can be slotted. setarray .ary1$, "Strength(STR)", "Intelligence(INT)", "Dexterity(DEX)", "Agility(AGI)", "Vitality(VIT)", "Luck(LUK)"; copyarray .ary2$[0],.ary1$[0],128; set .t_len, getarraysize(.ary2$); set .ary2$[.t_len], "Health Points"; setarray .ary03$, "Fighting Spirit", "Physical Attack Percent(ATK%)", "Maximum Health Points(MHP%)", "Health Points"; setarray .itm01 , 4811, 4810, 4809; //Fighting Spirit setarray .itm02 , 4819, 4766, 4767; //ATK(%) setarray .itm03 , 4861, 4862, 4867; //MHP setarray .itm04 , 4795, 4796, 4797; //HP copyarray .ary04$[0],.ary03$[0],128; setarray .ary13$, "Magic Attack Percent(MATK%)", "Casting Rate & Damage(Spell)", "Special Points(SP)"; setarray .itm11 , 4760, 4761, 4806; //MATK(%) setarray .itm12 , 4815, 4814, 4813; //Spell setarray .itm13 , 4870, 4800, 4871; //SP copyarray .ary14$[0],.ary13$[0],128; setarray .eqp$ , "Accessory1", "Accessory2"; //Menu3 set .e_len , getarraysize(.eqp$); setarray .e_itl$, "2966|2967|2968|2969", "2966|2967|2968|2969"; //Equip Items setarray .e_loc , 7, 8; //Equip Locations set .e_itm$, implode(.e_itl$,","); set .menu1$, implode(.ary1$,":"); set .menu2$, .menu1$+":"+.ary03$[3]; set .menu03$, implode(.ary03$,":"); set .menu04$, .menu03$; set .menu13$, implode(.ary13$,":"); set .menu14$, .menu13$; //=-=-=-=-=-=-=-=-Skorm-=-=-=-=-=-=-=-=-= } prontera,147,61,5 duplicate(Goldberg#0) Driller#1 87 prontera,147,63,5 duplicate(Goldberg#0) Goldentheifberg#3 87
Quoteno recognize RWC
items id: 2966,2967,2968,2969
-
Galera como utlizo isto: item_group
Criei um arquivo txt na db/re
item_nwprobox.txt
Adicionei no meu banco de dados:
id 7716 Caixa nwpro
script:
getgroupitem(IG_nwprobox,1);
Como faço para definir as chances de obter itens.
-
On 2/10/2019 at 4:17 PM, Balfear said:
Why you don`t want use item_group "getgroupitem(IG_MyItemGroup);" with announce?
exemple plz
-
On 2/10/2019 at 7:03 PM, utofaery said:
I did answer your question in another topic by giving you suggestion already,
This is the two line in the script to change item id and item chances if you need further help post here.
setarray .itemId , 502, 678, 607 ,608 ,2101 ,1505 ,609;// Item List
setarray .iRates, 15, 16, 17, 18, 19, 20, 21; // seperated item rates or chances to get which item is higher than other item in the arrayNot work, no gain items.
-
function script visualbox { .@item = F_Rand(17041,17037,17043,17039,17038,17042,13999,12922,13996,7715,12103,674,28370,6239,6238,7712,7711,18849,2980,6235,6231,6439,6438,16771,12623,6380,6423,12208,12902,); getitem .@item, 1; announce "["+strcharinfo(0)+"] Ganhou: ["+getitemname( .@item )+"("+.@item+")] da caixa visual.",0; return; }
Change chance items
Ids
1% = 6438,6239,6439
-
45 minutes ago, utofaery said:
352 Delete#
427 Create#
3341 Cancel reservation#ragnarok/data/msgstringtable.txt
may require nemo to patch read msgstringtable.txtthx
-
Solved
msgstringtable.txt ROenglishRE
-
Img 1 text: Hair style > Create
Image 2: Cancel Reservation > Delete character
Poring "delete" text > Start
-
38 minutes ago, utofaery said:
Question to this topic questions:
1. Is this show case??? without any details or anything?
2. I wonder if you can type any word on the description on your topic at any how??
3. Is this a guessing game where we guess what you problems is and you give the winner cash prizes ??
File location for edit
-
37 minutes ago, Bruno Nogueira said:
what client? you need msgstringtable.txt
20180620
-
23 hours ago, pajodex said:
add something like..
announce "["+strcharinfo(0)+"] has just obtained a ["+getitemname( .@item )+"("+.@item+")] from a Custom Box.",0;
thx
-
-
3 hours ago, Capuche said:
Re-update your server it has been fixed in https://github.com/rathena/rathena/commit/5908c0484fc3243575afbfc8f231d01f64837052
To resume mapserv crashed when getmapxy command attempted to retrieve the map of floating npc.
thx!
-
function script visualbox { .@item = F_Rand(19500,19501,19502,19503,19504,19505,19506,19507,19508,19509,19510,19511,19512,19513,19514,19515,19516,19517,19518,19519,19520,19521,19522,19523,19524,19525,19526,19527,19528,19529,19530,19531,19532,19533,19534,19535,19536,19537,19538,19539,19540,19541,19542,19543,19544,19545,19546,19547,19548,19549,19550,19551,19552,19553,19554,19555,19556,19557,19558,19559,19560,19561,19562,19563,19564,19565,19566,19567,19568,19569,19570,19571,19572,19573,19574,19575,19576,19577,19578,19579,19580,19581,19582,19583,19584,19585,19586,19587,19588,19589,19590,19591,19592,19593,19594,19595,19596,19597,19598,19599,19600,19601,19602,19603,19604,19605,19606,19607,19608,19609,19610,19611,19612,19613,19614,19615,19616,19617,19618,19619,19620,19621,19622,19623,19624,19625,19627,19628,19629,19630,19631,19632,19633,19634,19635,19636,19637,19638,19639,19640,19641,19642,19643,19644,19645,19646,19647,19648,19649,19650,19651,19652,19653,19654,19655,19656,19657,19658,19659,19660,19661,19662,19663,19664,19665,19666,19667,19668,19669,19670,19671,19672,19673,19674,19675,19676,19677,19678,19679,19680,19681,19682,19683,19684,19685,19686,19687,19688,19689,19690,19691,19692,19693,19694,19695,19696,19697,19698,19699,19700,19701,19702,19703,19704,19705,19706,19707,19708,19709,19710,19711,19712,19713,19714,19715,19716,19717,19718,19719,19720,19721,19722,19723,19724,19725,19726,19727,19728,19729,19730,19731,19732,19733,19734,19735,19736,19737,19738,19739,19741,19740,19742,19743,19744,19745,19746,19747,19748,19749,19750,19751,19752,19753,19754,19755,19756,19757,19758,19759,19760,19761,19762,19763,19764,19765,19767,19766,19768,19769,19770,19771,19772,19773,19774,19775,19776,19777,19778,19779,19780,19781,19782,19783,19784,19785,19786,19787,19788,19789,19790,19791,19792,19793,19794,19795,19796,19797,19798,19799,19800,19801,19802,19803,19804,19805,19806,19807,19808,19809,19810,19811,19812,19813,19814,19815,19816,19817,19818,19819,19820,19821,19822,19823,19824,19825,19826,19827,19828,19829,19830,19831,19832,19833,19834,19835,19836,19837,19838,19839,19840,19841,19842,19843,19844,19845,19846,19847,19848,19849,19850,19851,19852,19853,19854,19855,19856,19857,19858,19859,19860,19861,19862,19863,19864,19865,19866,19867,19868,19869,19870,19871,19872,19873,19874,19875,19876,19877,19878,19879,19880,19881,19882,19883,19884,19885,19886,19887,19888,19889,19890,19891,19892,19893,19894,19895,19896,19897,19898,19899,19900,19901,19902,19903,19904,19905,19906,19907,19908,19909,19910,19911,19912,19913,19914,19915,19916,19917,19918,19919,19920,19921,19922,19923,19924,19925,19926,19927,19928,19929,19930,19931,19932,19934,19935,19936,19937,19938,19939,19940,19941,19942,19943,19944,19945,19946,19947,19949,19950,19951,19952,19953,19954,19955,19956,19957,19958,19959,19960,19961,19962,19963,19964,19965,19966,19967,19968,19969,19970,19971,19972,19973,19974,19975,19976,19977,19978,19979,19980,19981,19982,19983,19984,19985,19986,19987,19988,19989,19990,19991,19992,19993,19994,19996,19997,19998,19999,20000,20001,20002,20003,20004,20005,20006,20007,20008,20009,20010,20011,20012,20013,20014,20015,20016,20017,20018,20019,20020,20021,20022,20023,20024,20025,20026,20027,20028,20029,20030,20031,20032,20033,20034,20035,20036,20037,20038,20039,20040,20041,20042,20043,20044,20045,20046,20047,20048,20049,20050,20051,20052,20053,20054,20055,20056,20057,20058,20059,20060,20061,20062,20063,20064,20065,20066,20067,20068,20069,20070,20071,20073,20074,20075,20076,20077,20078,20079,20080,20081,20082,20083,20084,20085,20086,20087,20088,20089,20090,20091,20092,20093,20094,20095,20096,20097,20098,20099,20100,20101,20102,20103,20104,20105,20106,20107,20108,20109,20110,20111,20112,20113,20114,20115,20116,20117,20118,20119,20120,20121,20122,20123,20124,20125,20126,20127,20128,20129,20130,20131,20132,20133,20134,20135,20136,20137,20138,20139,20140,20141,20142,20143,20144,20145,20146,20147,20148,20149,20150,20151,20152,20153,20154,20155,20156,20157,20158,20159,20160,20161,20162,20163,20164,20165,20166,20167,20168,20169,20170,20171,20172,20173,20174,20175,20176,20177,20178,20179,20180,20181,20182,20183,20184,20185,20186,20187,20188,20189,20190,20191,20192,20193,20194,20195,20196,20197,20198,20199,20200,20201,20202,20203,20204,20205,20206,20207,20208,20209,20210,20211,20212,20213,20214,20215,20216,20217,20218,20219,20220,20221,20222,20223,20224,20225,20226,20227,20228,20229,20230,20231,20232,20233,20234,20235,20236,20237,20238,20239,20240,20241,20242,20243,20244,20245,20246,20247,20248,20249,20250,20251,20252,20253,20254,20255,20256,20257,20258,20259,20260,20262,20263,20264,20265,20266,20267,20268,20269,20270,20271,20272,20273,20274,20277,20278,20279,20280,20281,20282,20283,20284,20285,20286,20287,20288,20291,20292,20293,20294,20295,20296,20297,20298,20299,20300,20301,20302,20303,20304,20307,20311,20312,20313,20314,20315,20316,20317,20318,20319,20320,20321,20322,20323,20324,20325,20326,20327,20328,20329,20330,20331,20332,20333,20334,20335,20338,20339,20340,20341,20342,20345,20346,20347,20348,20349,20350,20351,20352,20353,20354,20355,20356,20357,20358,20359,20360,20361,20362,20363,20364,20365,20366,20367,20368,20369,20370,20371,20372,20373,20374,20375,20376,20377,20378,20379,20380,20381,20382,20383,20384,20386,20392,20393,20394,20396,20397,20398,20399,20400,20401,20402,20403,20404,20405,20406,20407,20408,20409,20416,20417,20418,20419,20420,20421,20422,20423,20424,20425,20426,20427,20428,20429,20430,20431,20432,20433,20434,20435,20436,20437,20438,20439,20440,20441,20442,20446,20447,20448,20449,20450,20451,20452,20455,20456,20458,20457,20459,20460,20461,20462,20463,20464,20465,20466,20467,20468,20470,20476,20481,20482,20483,20484,20485,20486,20487,20488,20489,20490,20491,20492,20495,20496,20497,20498,20499,20500,20502,20504,20506,20507,20508,20509,20510,20511,20512,20514,20515,20516,20517,20530,20533); getitem .@item, 1; announce "["+strcharinfo(0)+"] has just obtained a ["+getitemname( .@item )+"] from a Custom Box.",0; return; }
Announce item name and id
-
Galera estou com este script:
//===== rAthena Script ======================================= //= Malangdo Costume Enchant //===== Changelogs: ========================================== //= 1.0 First version. [Slyx] //= 1.1 Enable overlapping enchant (need confirmation). [Slyx] //= 1.2 Optimized and add new costumes //============================================================ prontera,156,196,5 script Aver De Dosh 505,{ disable_items; mes "[Aver De Dosh]"; mes "Hello and welcome to Costume Enchant Shop."; mes "My name is Aver De Dosh and I am here to enchant your costume headgears."; next; mes "[Aver De Dosh]"; mes "Bring me the required enchant stones and the selected costume headgears so that I can complete the upgrade for you!"; next; switch (select ("Apply Ability", "End Conversation")) { case 1: mes "[Aver De Dosh]"; mes "What part of costume headgear do you want to strengthen?"; next; switch (select ("Costume Upper Headgear", "Costume Middle Headgear", "Costume Lower Headgear")) { case 1: .@equip_id = getequipid(EQI_COSTUME_HEAD_TOP); switch (.@equip_id) { case 19597: case 19602: case 19608: case 19654: case 19677: case 19712: case 19721: case 19840: case 19876: case 19884: case 19907: case 19915: case 20007: case 20008: case 20009: case 20011: case 20012: case 20018: case 20036: case 20038: case 20113: case 20160: case 20227: case 20266: case 20273: case 20278: case 20377: case 20398: case 20317: case 20449: case 20450: case 20451: case 20491: case 20495: case 20496: case 20498: case 20499: case 31027: case 31028: case 31040: case 31041: case 31042: case 31043: case 31044: case 31045: case 31046: case 31048: case 31062: case 31068: case 31092: case 31123: case 31160: case 31163: case 31165: case 31166: case 31182: case 31185: case 31188: case 31190: case 31119: case 31392: case 31394: case 31396: case 31397: case 31405: case 31448: case 31573: case 31560: case 31562: case 31564: case 31565: break; case -1: mes "[Aver De Dosh]"; mes "Are you wearing the item?"; close; default: mes "[Aver De Dosh]"; mes "This is not the right costume upper headgear."; close; } .@equip_name$ = getequipname(EQI_COSTUME_HEAD_TOP); setarray .@card[0], getequipcardid(EQI_COSTUME_HEAD_TOP,0), getequipcardid(EQI_COSTUME_HEAD_TOP,1), getequipcardid(EQI_COSTUME_HEAD_TOP,2), getequipcardid(EQI_COSTUME_HEAD_TOP,3); setarray .@stone[0], 6636, //str +1 6637, //int +1 6638, //agi +1 6639, //dex +1 6640, //vit +1 6641, //luk +1 6716, //crit +1 6790, //largesize +1% 6791, //medsize +1% 6792, //smallsize +1% 6943, //atk +1% 6944, //matk +1% 25000, //spdrain +1% 25068; //aspd +1 setarray .@enchant[0], 4700, //str +1 4710, //int +1 4730, //agi +1 4720, //dex +1 4740, //vit +1 4750, //luk +1 4926, //crit +1 4936, //largesize +1% 4937, //medsize +1% 4938, //smallsize +1% 4882, //atk +1% 4883, //matk +1% 4993, //spdrain +1% 4807; //aspd +1 setarray .@enchant_list$[0], "STR Stone", "INT Stone", "AGI Stone", "DEX Stone", "VIT Stone", "LUK Stone", "CRIT Stone", "Big Stone", "Medium Stone", "Small Stone", "ATK Stone", "MATK Stone", "SP Absorption Stone", "ASPD Stone"; mes "[Aver De Dosh]"; mes "Wow~ This ^0000FF"+getitemname (.@equip_id)+"^000000 looks perfect on you!!!"; mes "What kind of stone do you want to use for the upgrade?"; next; for (.@a = 0; .@a < getarraysize(.@enchant_list$); ++.@a) .@menu$ += .@enchant_list$[.@a] + " " + "(" + countitem(.@stone[.@a]) + " " + "Left" + ")" + ":"; .@type = select (.@menu$) - 1; mes "^FF0000[WARNING]^000000"; mes "------------------------"; mes "^FF0000I am going to implement the special effect of "+getitemname (.@stone[.@type])+" on your costume upper headgear.^000000"; mes "------------------------"; mes "^FF0000This upgrade has a success rate of 50%.^000000"; mes "------------------------"; mes "^FF0000The costume will not be destroyed upon failure but the enchant stone will be consumed.^000000"; mes "------------------------"; mes "^FF0000Any previous ability on this costume will be removed upon success.^000000"; mes "------------------------"; mes "^FF0000Are you sure about enchanting this costume?^000000"; next; if (select( "Yes", "No" ) == 2) close; if (countitem(.@stone[.@type]) < 1) { mes "[Aver De Dosh]"; mes "You do not have adequate quantity of ^0000FF"+getitemname (.@stone[.@type])+".^000000"; close; } //Need confirmation:Enchants can be overlapped? /* if (.@card[0] > 0) { mes "[Aver De Dosh]"; mes "Your ^0000FF"+getitemname (.@equip_id)+"^000000 is already enchanted."; close; } */ delitem .@stone[.@type],1; if (rand (1,100) < 50) { mes "[Aver De Dosh]"; mes "Oh No!!! I failed to enchant it!!"; mes "Better luck next time!!"; close; } else { delequip EQI_COSTUME_HEAD_TOP; getitem2 .@equip_id,1,1,0,0,.@enchant[.@type],.@card[1],.@card[2],.@card[3]; mes "[Aver De Dosh]"; mes "Wow....Elegance!!"; mes "This is perfect...Wow.."; close; } case 2: .@equip_id = getequipid(EQI_COSTUME_HEAD_MID); switch (.@equip_id) { case 19603: case 20005: case 20010: case 20145: case 20146: case 20147: case 20149: case 20314: case 20318: case 20430: case 31047: case 31120: case 31122: case 31146: case 31167: case 31168: case 31183: case 31184: case 31186: case 31187: case 31391: case 31398: case 31399: case 20246: case 31449: case 31463: case 31561: case 31563: case 31574: break; case -1: mes "[Aver De Dosh]"; mes "Are you wearing the item?"; close; default: mes "[Aver De Dosh]"; mes "This is not the right costume middle headgear."; close; } .@equip_name$ = getequipname(EQI_COSTUME_HEAD_MID); setarray .@card[0], getequipcardid(EQI_COSTUME_HEAD_MID,0), getequipcardid(EQI_COSTUME_HEAD_MID,1), getequipcardid(EQI_COSTUME_HEAD_MID,2), getequipcardid(EQI_COSTUME_HEAD_MID,3); setarray .@stone[0], 6945, //str +1 6946, //int +1 6947, //agi +1 6948, //dex +1 6949, //vit +1 6950, //luk +1 6642, //atk +1% 6643, //matk +1% 6717, //hp +50 6742, //recoverhp +10 10s 6743, //maxhp +1% 6744; //maxsp +1% setarray .@enchant[0], 4700, //str +1 4710, //int +1 4730, //agi +1 4720, //dex +1 4740, //vit +1 4750, //luk +1 4882, //atk +1% 4883, //matk +1% 4927, //hp +50 4931, //recoverhp +10 10s 4861, //maxhp +1% 4929; //maxsp +1% setarray .@enchant_list$[0], "STR Stone", "INT Stone", "AGI Stone", "DEX Stone", "VIT Stone", "LUK Stone", "ATK Stone", "MATK Stone", "HP+50 Stone", "Recovery Stone", "HP+1% Stone", "SP+1% Stone"; mes "[Aver De Dosh]"; mes "Wow~ This ^0000FF"+getitemname (.@equip_id)+"^000000 looks perfect on you!!!"; mes "What kind of stone do you want to use for the upgrade?"; next; for (.@a = 0; .@a < getarraysize(.@enchant_list$); ++.@a) .@menu$ += .@enchant_list$[.@a] + " " + "(" + countitem(.@stone[.@a]) + " " + "Left" + ")" + ":"; .@type = select (.@menu$) - 1; mes "^FF0000[WARNING]^000000"; mes "------------------------"; mes "^FF0000I am going to implement the special effect of "+getitemname (.@stone[.@type])+" on your costume middle headgear.^000000"; mes "------------------------"; mes "^FF0000This upgrade has a success rate of 50%.^000000"; mes "------------------------"; mes "^FF0000The costume will not be destroyed upon failure but the enchant stone will be consumed.^000000"; mes "------------------------"; mes "^FF0000Any previous ability on this costume will be removed upon success.^000000"; mes "------------------------"; mes "^FF0000Are you sure about enchanting this costume?^000000"; next; if (select( "Yes", "No" ) == 2) close; if (countitem(.@stone[.@type]) < 1) { mes "[Aver De Dosh]"; mes "You do not have adequate quantity of ^0000FF"+getitemname (.@stone[.@type])+".^000000"; close; } //Need confirmation:Enchants can be overlapped? /* if (.@card[1] > 0) { mes "[Aver De Dosh]"; mes "Your ^0000FF"+getitemname (.@equip_id)+"^000000 is already enchanted."; close; } */ delitem .@stone[.@type],1; if (rand (1,100) < 50) { mes "[Aver De Dosh]"; mes "Oh No!!! I failed to enchant it!!"; mes "Better luck next time!!"; close; } else { delequip EQI_COSTUME_HEAD_MID; getitem2 .@equip_id,1,1,0,0,.@card[0],.@enchant[.@type],.@card[2],.@card[3]; mes "[Aver De Dosh]"; mes "Wow....Elegance!!"; mes "This is perfect...Wow.."; close; } case 3: .@equip_id = getequipid(EQI_COSTUME_HEAD_LOW); switch (.@equip_id) { /*case 5914:*/ case 19513: case 19514: case 19552: case 19553: case 19584: case 19604: case 19636: case 19764: case 19783: case 19785: case 19952: case 20034: case 20071: case 20132: case 20285: case 20315: case 20363: case 20370: case 20405: case 20407: case 20497: case 31029: case 31055: case 31087: case 31121: case 31162: case 31164: case 31181: case 31189: case 31393: case 31395: case 31399: case 31438: case 31453: case 31572: case 31575: case 31559: case 31566: break; case -1: mes "[Aver De Dosh]"; mes "Are you wearing the item?"; close; default: mes "[Aver De Dosh]"; mes "This is not the right costume lower headgear."; close; } .@equip_name$ = getequipname(EQI_COSTUME_HEAD_LOW); setarray .@card[0], getequipcardid(EQI_COSTUME_HEAD_LOW,0), getequipcardid(EQI_COSTUME_HEAD_LOW,1), getequipcardid(EQI_COSTUME_HEAD_LOW,2), getequipcardid(EQI_COSTUME_HEAD_LOW,3); setarray .@stone[0], 6644, //hit +1 6645, //flee +1 6718, //sp +10 6951; //hp +1% setarray .@enchant[0], 4884, //hit +1 4859, //flee +1 4928, //sp +10 4861; //hp +1% setarray .@enchant_list$[0], "HIT Stone", "FLEE Stone", "SP+10 Stone", "HP+1% Stone"; mes "[Aver De Dosh]"; mes "Wow~ This ^0000FF"+getitemname (.@equip_id)+"^000000 looks perfect on you!!!"; mes "What kind of stone do you want to use for the upgrade?"; next; for (.@a = 0; .@a < getarraysize(.@enchant_list$); ++.@a) .@menu$ += .@enchant_list$[.@a] + " " + "(" + countitem(.@stone[.@a]) + " " + "Left" + ")" + ":"; .@type = select (.@menu$) - 1; mes "^FF0000[WARNING]^000000"; mes "------------------------"; mes "^FF0000I am going to implement the special effect of "+getitemname (.@stone[.@type])+" on your costume lower headgear.^000000"; mes "------------------------"; mes "^FF0000This upgrade has a success rate of 50%.^000000"; mes "------------------------"; mes "^FF0000The costume will not be destroyed upon failure but the enchant stone will be consumed.^000000"; mes "------------------------"; mes "^FF0000Any previous ability on this costume will be removed upon success.^000000"; mes "------------------------"; mes "^FF0000Are you sure about enchanting this costume?^000000"; next; if (select( "Yes", "No" ) == 2) close; if (countitem(.@stone[.@type]) < 1) { mes "[Aver De Dosh]"; mes "You do not have adequate quantity of ^0000FF"+getitemname (.@stone[.@type])+".^000000"; close; } //Need confirmation:Enchants can be overlapped? /* if (.@card[2] > 0) { mes "[Aver De Dosh]"; mes "Your ^0000FF"+getitemname (.@equip_id)+"^000000 is already enchanted."; close; } */ delitem .@stone[.@type],1; if (rand (1,100) < 50) { mes "[Aver De Dosh]"; mes "Oh No!!! I failed to enchant it!!"; mes "Better luck next time!!"; close; } else { delequip EQI_COSTUME_HEAD_LOW; getitem2 .@equip_id,1,1,0,0,.@card[0],.@card[1],.@enchant[.@type],.@card[3]; mes "[Aver De Dosh]"; mes "Wow....Elegance!!"; mes "This is perfect...Wow.."; close; } } case 2: mes "[Aver De Dosh]"; mes "Alright, come again when you have changed your mind."; close; } } mal_in01,20,107,2 script Lace La Zard 614,{ disable_items; mes "[Lace La Zard]"; mes "Welcome to Fashion Stone!!"; mes "My name is Lace La Zard who will make your 'Power Shoulder' dream come true."; next; mes "[Lace La Zard]"; mes "Bring your Costume Garment and Garment Stone, I will complete the perfect upgrade for you!"; mes "I found this formula while working on my own humble body upgrading."; next; switch (select ("Apply Ability", "End Conversation")) { case 1: .@equip_id = getequipid(EQI_COSTUME_GARMENT); switch (.@equip_id) { case 20500: case 20502: case 20504: case 20507: case 20509: case 20510: case 20511: case 20512: case 20516: case 20600: case 20727: case 20730: case 20737: case 20746: case 20761: case 20762: case 20763: case 20764: break; case -1: mes "[Lace La Zard]"; mes "Are you wearing the item?"; close; default: mes "[Lace La Zard]"; mes "I am sorry. Please wear the proper costume garment."; close; } .@equip_name$ = getequipname(EQI_COSTUME_GARMENT); .@refine = getequiprefinerycnt(EQI_COSTUME_GARMENT); setarray .@card[0], getequipcardid(EQI_COSTUME_GARMENT,0), getequipcardid(EQI_COSTUME_GARMENT,1), getequipcardid(EQI_COSTUME_GARMENT,2), getequipcardid(EQI_COSTUME_GARMENT,3); setarray .@stone[0], 6908, //aspd +1 6963, //hpdrain 1% 6964; //spdrain 1% setarray .@enchant[0], 4807, //aspd +1 4992, //hpdrain 1% 4993; //spdrain 1% setarray .@enchant_list$[0], "ASPD Stone", "HP Absorption Stone", "SP Absorption Stone"; mes "[Lace La Zard]"; mes "Wow ^0000FF" + .@equip_name$ + "!!!^000000. You got some sense there don't you?"; mes "Great!!! I'm fully ready for this upgrade."; next; for (.@a = 0; .@a < getarraysize(.@enchant_list$); ++.@a) .@menu$ += .@enchant_list$[.@a] + " " + "(" + countitem(.@stone[.@a]) + " " + "Left" + ")" + ":"; .@type = select (.@menu$) - 1; mes "^FF0000[WARNING]^000000"; mes "------------------------"; mes "^FF0000I am going to implement the special effect of "+getitemname (.@stone[.@type])+" on your costume garment.^000000"; mes "------------------------"; mes "^FF0000This upgrade has a success rate of 50%.^000000"; mes "------------------------"; mes "^FF0000The costume will not be destroyed upon failure but the enchant stone will be consumed.^000000"; mes "------------------------"; mes "^FF0000Any previous ability on this costume will be removed upon success.^000000"; mes "------------------------"; mes "^FF0000Are you sure about enchanting this costume?^000000"; next; if (select( "Yes", "No" ) == 2) close; if (countitem (.@stone[.@type]) < 1) { mes "[Lace La Zard]"; mes "You do not have adequate quantity of ^0000FF"+getitemname (.@stone[.@type])+".^000000"; close; } //Need confirmation:Enchants can be overlapped? /* if (.@card[0] > 1) { mes "[Lace La Zard]"; mes "This costume garment already enchanted. I cannot upgrade it any further."; close; } */ delitem .@stone[.@type],1; if (rand (1,100) < 50) { mes "[Lace La Zard]"; mes "Oh No!!! I failed to enchant it!!"; mes "Better luck next time!!"; close; } else { delequip EQI_COSTUME_GARMENT; getitem2 .@equip_id,1,1,.@refine,0,.@enchant[.@type],.@card[1],.@card[2],.@card[3]; mes "[Lace La Zard]"; mes "Beautiful!!!"; mes "Did I really made this by myself??!!"; close; } case 2: mes "[Lace La Zard]"; mes "Please come back when you are ready for this great offer!"; close; } }
Gostaria que ele pedisse o item id 7711 e viesse um encantamento randomico.
Como aplico rand e set e set amount
-
-
Esta algum script de venda organizada ?
Erro com acentos na SQL/Error with accents in sql
in Suporte ao Cliente
Posted
Compartilhe como resolveu.