Jump to content

J0hn

Members
  • Posts

    8
  • Joined

  • Last visited

Everything posted by J0hn

  1. I took the liberty of modifying your script a little @Keitenai Take a look and see if it looks good? - script OptCmd -1,{ OnInit: .allowed = 90; // nível/grupo mínimo de GM bindatcmd("itemoption",strnpcinfo(0)+"::OnOptCmd"); end; OnOptCmd: if (getgmlevel() < .allowed) end; // bloqueia quem não for GM suficiente disable_items; //------------------------------------- // 1. PARTES EQUIPÁVEIS //------------------------------------- setarray .@eq[1], EQI_HEAD_TOP, EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_SHOES, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_MID, EQI_HEAD_LOW; //------------------------------------- // 2. IDs DE RANDOM-OPTION ACEITOS //------------------------------------- setarray .@valid_opts[0], 1,2,3,4,5,6,7,8,9,10, 11,12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,28,29,30, 31,32,33,34,35,94,104,114,124,134, 144,147,148,149,150,151,152,153,154,155, 156,163,164,165,166,167,168,169,170,171, 172,185,186; //------------------------------------- // 3. MENU DE EQUIPAMENTOS EQUIPADOS //------------------------------------- for (.@i = 1; .@i < getarraysize(.@eq); ++.@i) { if (getequipisequiped(.@eq[.@i])) { .@menu$ += F_getpositionname(.@eq[.@i]) + " ^FF0000~^000000 [ ^0000FF" + getequipname(.@eq[.@i]) + "^000000 ]:"; } } if (.@menu$ == "") { mes "[^FF8C00 System ^000000]"; mes "You do not have any eligible items equipped.."; close; } .@part = .@eq[select(.@menu$)]; //------------------------------------- // 4. INPUT DO ID DA OPÇÃO //------------------------------------- L_opt_input: mes "[^FF8C00 System ^000000]"; mes "Enter the number of the desired option:"; next; mes "#1:MaxHP +"; mes "#2:MaxSP +"; mes "#3:Str +"; mes "#4:Agi +"; mes "#5:Vit +"; mes "#6:Int +"; mes "#7:Dex +"; next; mes "#8:Luk +"; mes "#9:MaxHP %"; mes "#10:MaxSP %"; mes "#11:Natural HP regeneration %"; mes "#12:Natural SP regeneration %"; mes "#13:ATK %"; mes "#14:MATK %"; next; mes "#15:ASPD +"; mes "#16:Reduces delay after attack by %"; mes "#17:ATK +"; mes "#18:Hit +"; mes "#19:MATK +"; mes "#20:DEF +"; mes "#21:MDEF +"; next; mes "#22:Flee +"; mes "#23:Perfect Dodge +"; mes "#24:Critical +"; mes "#25:Resistance against Neutral element %"; mes "#26:Resistance against Water element %"; mes "#27:Resistance against Earth element %"; mes "#28:Resistance against Fire element %"; next; mes "#29:Resistance against Wind element %"; mes "#30:Resistance against Poison element %"; mes "#31:Resistance against Holy element %"; mes "#32:Resistance against Dark element %"; mes "#33:Resistance against Ghost element %"; mes "#34:Resistance against Undead element %"; mes "#35:Resistance against All element %"; next; mes "#94:Resistance against Demihuman moster %"; mes "#104:Physical damage against Demihuman monster %"; mes "#114:Magical damage against Demihuman monster %"; mes "#124:CRIT +/10 against Demihuman monster"; mes "#134:Ignores % physical defense of Demihuman monster"; mes "#144:Ignores % magical defense of Demihuman monster"; mes "#147:Physical damage against Normal monster %"; next; mes "#148:Physical damage against Boss monster %"; mes "#149:Resistance against Normal monster %"; mes "#150:Resistance against Boss monster %"; mes "#151:Magical damage against Normal monster %"; mes "#152:Magical damage against Boss monster %"; mes "#153:Ignores % physical defense of Normal monster"; mes "#154:Ignores % physical defense of Boss monster"; next; mes "#155:Ignores % magical defense of Normal monster"; mes "#156:Ignores % magical defense of Boss monster"; mes "#163:Nullify weapon's damage size penalty"; mes "#164:Increases critical damage %"; mes "#165:Descreases critical damage %"; mes "#166:Increases ranged physical damage %"; mes "#167:Descreases ranged physical damage %"; next; mes "#168:Increases Healing skills %"; mes "#169:Increases restoraton gained from Healing skills"; mes "#170:Reduces variable cast time %"; mes "#171:Reduces after cast delay %"; mes "#172:Descreases SP consumption %"; mes "#185:Indestructible Weapon"; mes "#186:Indestructible Armor"; next; input .@opt; // Verifica se a opção é válida manualmente (sem usar inarray) .@found = 0; for (.@i = 0; .@i < getarraysize(.@valid_opts); .@i++) { if (.@valid_opts[.@i] == .@opt) { .@found = 1; break; } } if (!.@found) { mes "^FF0000Invalid option.^000000"; next; goto L_opt_input; } mes "[^FF8C00 System ^000000]"; mes "Option ^6A01A1Type^000000 : " + .@opt; mes " "; mes "Please indicate the ^B91E1Evalue^000000 that you want to apply."; mes " "; mes "This will be the effect ^B91E1Erate^000000 or ^B91E1Evalue^000000 of your selected option ^6A01A1type^000000."; mes " "; //------------------------------------- // 5. INPUT DO VALOR (1~9999) //------------------------------------- L_val_input: mes "[^FF8C00 System ^000000]"; mes "Enter the option ^B91E1Evalue^000000 (^B91E1E1^000000 ~ ^B91E1E9999^000000):"; input .@val; if (.@val < 1 || .@val > 9999) { mes "^FF0000Value out of range.^000000"; next; goto L_val_input; } //------------------------------------- // 6. ENCONTRAR SLOT LIVRE (0-4) //------------------------------------- for (.@idx = 0; .@idx < 5; ++.@idx) if (!getequiprandomoption(.@part, .@idx, ROA_ID, getcharid(0))) break; if (.@idx == 5) { mes "[^FF8C00 System ^000000]"; mes "^FF0000This item already has 5 options.^000000"; close; } //------------------------------------- // 7. APLICAR A OPÇÃO //------------------------------------- mes "[^FF8C00 System ^000000]"; mes "Applying option:"; mes "ID: ^6A01A1" + .@opt + "^000000"; mes "Value: ^B91E1E" + .@val + "^000000"; mes "Slot: ^0C9610" + .@idx + "^000000"; close2; setrandomoption(.@part,.@idx,.@opt,.@val,.@idx,getcharid(0)); end; }
  2. prontera,150,180,4 script QuestNPC 1002,{ mes "Hello adventurer! Do you want to complete a mission?"; if (getquest(9000) == -1) { mes "First, I need you to bring me some items."; if (countitem(607) >= 10 && countitem(501) >= 10) { mes "Great! You brought the required items."; delitem 607,10; delitem 501,10; setquest 9000; } else { mes "Bring me 10 Yggdrasil Berry and 10 Red Potions."; close; } } mes "Now you can choose one of the missions!"; set .@menu, select("Mission 1:Mission 2:Exit"); if (.@menu == 1) { if (countitem(607) >= 10 && countitem(4145) >= 1) { mes "Well done! Here is your reward."; delitem 607,10; delitem 4145,1; getitem 18200,1; } else { mes "You need to bring 10 Yggdrasil Berry and 1 GTB Card."; } } else if (.@menu == 2) { if (countitem(607) >= 10 && countitem(501) >= 10 && countitem(969) >= 10) { mes "Great job! Take your reward."; delitem 607,10; delitem 501,10; delitem 969,10; getitem 18201,1; } else { mes "You need to bring 10 Yggdrasil Berry, 10 Red Potions, and 10 Gold."; } } close; } would that be it? (made by chatgpt)
  3. //==================================================================== - shop 1hs_Shop2 -1,1102:100,1105:1500,1108:2900,1111:10000,1114:17000,1120:51000,1124:20000,1125:24000,1127:49000,1128:50000,1130:20000,1131:20000,1132:20000,1133:20000,1134:20000,1135:20000,1136:20000,1137:20000,1138:20000,1139:20000,1140:20000,1141:20000,1142:20000,1143:20000,1144:20000,1145:450000,1147:42000,1148:20000,1149:60000,1191:150000 - shop 2hs_Shop2 -1,1152:150000,1155:150000,1158:150000,1162:150000,1164:150000,1165:150000,1166:150000,1167:150000,1168:150000,1170:150000,1171:150000,1172:150000,1175:150000,1176:150000,1177:150000,1178:150000,1179:150000,1180:150000,1181:150000,1182:150000,1183:150000,1184:150000,1185:150000,1189:150000,1192:150000,1193:150000,1196:150000,1197:150000 - shop 1ha_Shop2 -1,1302:15000,1305:15000,1309:150000,1306:150000,1307:150000 - shop 2ha_Shop2 -1,1352:15000,1363:15000,1380:15000,1358:34000,1383:15000,1371:15000,1364:15000,1369:15000,1355:150000,1366:150000,1365:150000,1367:150000,1368:150000,1361:150000,1384:150000 turbo_room,77,138,5 script Weapon Shop 470,{ cutin "3rd_rune_knight",2; mes "[ ^00B2EEWeapon Shop^000000 ]"; mes "^8b8b8b____________________________^000000"; mes "Please select what type of"; mes "Weapon you're going to see."; next; // Menu Selection switch(select("Swords:Axes")){ Case 1: // Swords mes "[ ^00B2EEWeapon Shop^000000 ]"; mes "^8b8b8b____________________________^000000"; mes "Please select if ^FF00001-Handed^000000 or ^0000FF2-Handed^000000."; next; switch(select("^FF00001-Handed Sword^000000:^0000FF2-Handed Sword^000000")){ Case 1: mes "[ ^00B2EEWeapon Shop^000000 ]"; mes "^8b8b8b____________________________^000000"; mes "Please select what type of"; mes "Weapon you're going to see."; next; callfunc "1hs_Shop1",0; end; Case 2: mes "[ ^00B2EEWeapon Shop^000000 ]"; mes "^8b8b8b____________________________^000000"; mes "Please select what type of"; mes "Weapon you're going to see."; next; callfunc "2hs_Shop1",0; end; } Case 2: // Axes mes "[ ^00B2EEWeapon Shop^000000 ]"; mes "^8b8b8b____________________________^000000"; mes "Please select if ^FF00001-Handed^000000 or ^0000FF2-Handed^000000."; next; switch(select("^^FF00001-Handed Axe^000000:^0000FF2-Handed Axe^000000")){ Case 1: mes "[ ^00B2EEWeapon Shop^000000 ]"; mes "^8b8b8b____________________________^000000"; mes "Please select what type of"; mes "Weapon you're going to see."; next; callfunc "1ha_Shop1",0; end; Case 2: mes "[ ^00B2EEWeapon Shop^000000 ]"; mes "^8b8b8b____________________________^000000"; mes "Please select what type of"; mes "Weapon you're going to see."; next; callfunc "2ha_Shop1",0; end; } } } //Call function scripts ============================================================ function script 1hs_Shop1 { mes "[ ^FF0000Account Information^000000 ]"; mes "^8b8b8b____________________________^000000"; mes "Name: ^0000FF"+strcharinfo(0)+"^000000"; mes "Zeny Balance : ^FFD700"+F_InsertComma(Zeny)+"^000000 ^FF0000z^000000"; mes "Cash Points Balance : ^008000"+#CASHPOINTS+"^000000"; mes "Kafra Points Balance : ^9932CC"+#KAFRAPOINTS+"^000000"; callshop "1hs_Shop2",1; end; } function script 2hs_Shop1 { mes "[ ^FF0000Account Information^000000 ]"; mes "^8b8b8b____________________________^000000"; mes "Name: ^0000FF"+strcharinfo(0)+"^000000"; mes "Zeny Balance : ^FFD700"+F_InsertComma(Zeny)+"^000000 ^FF0000z^000000"; mes "Cash Points Balance : ^008000"+#CASHPOINTS+"^000000"; mes "Kafra Points Balance : ^9932CC"+#KAFRAPOINTS+"^000000"; callshop "2hs_Shop2",1; end; } function script 1ha_Shop1 { mes "[ ^FF0000Account Information^000000 ]"; mes "^8b8b8b____________________________^000000"; mes "Name: ^0000FF"+strcharinfo(0)+"^000000"; mes "Zeny Balance : ^FFD700"+F_InsertComma(Zeny)+"^000000 ^FF0000z^000000"; mes "Cash Points Balance : ^008000"+#CASHPOINTS+"^000000"; mes "Kafra Points Balance : ^9932CC"+#KAFRAPOINTS+"^000000"; callshop "1ha_Shop2",1; end; } function script 2ha_Shop1 { mes "[ ^FF0000Account Information^000000 ]"; mes "^8b8b8b____________________________^000000"; mes "Name: ^0000FF"+strcharinfo(0)+"^000000"; mes "Zeny Balance : ^FFD700"+F_InsertComma(Zeny)+"^000000 ^FF0000z^000000"; mes "Cash Points Balance : ^008000"+#CASHPOINTS+"^000000"; mes "Kafra Points Balance : ^9932CC"+#KAFRAPOINTS+"^000000"; callshop "2ha_Shop2",1; end; }
  4. tra_fild,65,142,5 itemshop Pontos PVP/WOE 110,7420,1801:80,504:10,505:20 aqui funcionou de boa... conf/misc.conf // Is item's price at item/point shop discountable? // 0 = No (Default) // 1 = Item shops // 2 = Point shops // 3 = Item & point shops discount_item_point_shop: 0
  5. - script PVP_Skull_Inventory -1,{ OnPCKillEvent: if (killedrid != getcharid(3)) getnameditem(7420,rid2name(killedrid)); end; } tenta isso...
  6. Vip Icon Time I need help, I can't pair the vip time with the vip icon buff time... ''/ and I'm also not applying: MaxWeight - script Vip_Icon -,{ OnPCLoginEvent: if(vip_status(1)) { set MaxWeight, MaxWeight + 4000; set .@day, vip_status(2); sc_start SC_VIPSTATE, .@day * 1000, 0; dispbottom "--- VIP ----"; dispbottom "=========================="; dispbottom "VIP Player"; dispbottom "Expire Date: "+vip_status(2); dispbottom "Time left: "+vip_status(3); dispbottom "=========================="; end; } }
  7. //01_emulator\rathena\conf\battle\player.conf / bone_drop: 0 - script PVP_Skull_Inventory -1,{ OnPCKillEvent: if (killedrid != getcharid(3)) getnameditem(7420,rid2name(killedrid)); end; }
×
×
  • Create New...