Jump to content

Rivers

Members
  • Posts

    245
  • Joined

  • Last visited

  • Days Won

    8

Everything posted by Rivers

  1. Good day, I'm having some troubles finding a resource here for sending a player back to @go 0 (or their saved locaed) when entering a map. I tried using the Mapflags built into the game, but players can still @warp to my GM maps even with nowarp/nowarpto enabled. Anyone have a simple script to remove players from a specified map? I'd appreciate it greatly.
  2. Try running a different client version. If you're too old it may not work.
  3. Good day, I'm trying to make a Trans-Class costume with the itemDB, much like the third class costumes work. Does anyone know the right text for trans classes? 35250,3rd_Class_Costume,3rd Class Costume,4,20,,0,,0,,0,0xFFFFFFFF,7,2,8192,,0,0,,{ bonus bAllStats,1; },{ changebase roclass(eaclass()|EAJL_THIRD); },{ changebase Class; }
  4. Good day, The refiner NPC I added won't read my items, I've tried everything I can think of to fix it but nothing works. Any thoughts? //===== rAthena Script ======================================= //============================================================ //============================================================ // +11 and above Refiners //============================================================ veil,111,199,5 script Vestri#prt 826,{ callfunc "refinenew","Vestri",0; end; } morocc_in,64,41,5 script Vestri#moc 826,{ callfunc "refinenew","Vestri",0; end; } payon_in01,18,132,3 script Vestri#pay 826,{ callfunc "refinenew","Vestri",0; end; } //============================================================ // +11 and above Refiner Function //============================================================ //= To allow auto safe refining/multiple refining set the //= second argument to '1' in the function call. //= If you enable this function, be sure to edit the value of //= .@safe to the max safe refine in refine_db.txt as well. //= //= On official servers, if an item is unsuccessfully refined //= it will break at a 20% rate and downgrade at an 80% rate. //============================================================ function script refinenew { .@npc_name$ = getarg(0); disable_items; mes "["+ .@npc_name$ +"]"; mes "I am the best Armsmith ever!"; mes "I don't refine normal, boring items."; mes "I only refine items that are Level 10 or higher."; next; mes "["+ .@npc_name$ +"]"; mes "Anyway, you may use my services if your item is Level 10 or higher."; mes "What do you want me to refine?"; next; setarray .@indices[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; for(.@i = 1; .@i<=10; ++.@i) { if (getequipisequiped(.@indices[.@i])) { .@menu$ = .@menu$ + F_getpositionname(.@indices[.@i]) + "-[" + getequipname(.@indices[.@i]) + "]"; .@equipped = 1; } .@menu$ = .@menu$ + ":"; } if (.@equipped == 0) { mes "["+ .@npc_name$ +"]"; mes "I don't think I can refine any items you have..."; close; } .@part = .@indices[ select(.@menu$) ]; if (!getequipisequiped(.@part)) { //custom check mes "["+ .@npc_name$ +"]"; mes "You're not wearing"; mes "anything there that"; mes "I can refine."; emotion ET_FRET; close; } if (!getequipisenableref(.@part)) { mes "["+ .@npc_name$ +"]"; mes "I don't think I can"; mes "refine this item at all..."; close; } .@refinerycnt = getequiprefinerycnt(.@part); //save refinery count if (.@refinerycnt < 10) { mes "["+ .@npc_name$ +"]"; mes "I said I don't work with items that are lower than Level 10."; close; } if (.@refinerycnt >= 20) { //custom check mes "["+ .@npc_name$ +"]"; mes "I can't refine this"; mes "any more. This is as"; mes "refined as it gets!"; close; } .@refineitemid = getequipid(.@part); // save id of the item setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3); .@price = getequiprefinecost(.@part, REFINE_COST_OVER10, REFINE_ZENY_COST); .@material = getequiprefinecost(.@part, REFINE_COST_OVER10, REFINE_MATERIAL_ID); .@safe = 10; if (getequipweaponlv(.@part) >= 1 && getequipweaponlv(.@part) <= 4) { .@article$ = "a"; .@type$ = "weapon"; } else { .@article$ = "an"; .@type$ = "armor"; } mes "["+ .@npc_name$ +"]"; mes "Hmm " + .@article$ + " " + .@type$ + ", is that ok?"; mes "If you want to refine this armor,"; mes "I will need 1 ^003366" + getitemname(.@material) + "^000000 and " + callfunc("F_InsertComma",.@price) + " zeny."; mes "Are you sure you want to continue?"; next; if (select("Yes:No") == 2) { mes "["+ .@npc_name$ +"]"; mes "Hm... if you mind... never mind..."; close; } if (getarg(1) != 1) { if (getequippercentrefinery(.@part) < 100) { mes "["+ .@npc_name$ +"]"; mes "This "+.@type$+" already has been refined serveral times."; mes "It could be destroyed if I try again."; mes "It won't break for sure, but there is has a small chance."; next; mes "["+ .@npc_name$ +"]"; mes "You could be ^FF0000lowering the upgrade level^000000 of the "+.@type$+","; mes "or if it breaks, you will lose ^FF0000any cards^000000 or special properties added to it."; next; mes "["+ .@npc_name$ +"]"; mes "Do you still want me to refine it?"; mes "I think I have given you enough warning."; next; if(select("Yes.:No.") == 2) { mes "["+ .@npc_name$ +"]"; mes "Well, no challenge is one way to go..."; mes "No risk... that could be wise."; close; } } if (countitem(.@material) < 1 || Zeny < .@price) { mes "["+ .@npc_name$ +"]"; mes "Hm. You don't seem to have enough money or "+getitemname(.@material)+"."; mes "Please come back when you have them."; close; } Zeny = Zeny - .@price; delitem .@material,1; // anti-hack if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) { mes "["+ .@npc_name$ +"]"; emotion ET_FRET; mes "Wait a second..."; mes "Do you think I'm stupid?!"; mes "You switched the item while I wasn't looking! Get out of here!"; close; } if (getequippercentrefinery(.@part) > rand(100)) { mes "Clang! Clang! Clang! Clang!"; successrefitem .@part; next; emotion ET_BEST; mes "["+ .@npc_name$ +"]"; mes "Good! Succes!!!"; mes "I am the best Armsmith."; close; } else { if (rand(100) < 80) { mes "["+ .@npc_name$ +"]"; mes "Clang! Clang! Clang! Clang!"; downrefitem .@part,3; // Failed refine attempts decrease the item's refine level by 3 next; emotion (!rand(5))?ET_MONEY:ET_HUK; mes "["+ .@npc_name$ +"]"; mes "Ahhh!!!"; next; mes "["+ .@npc_name$ +"]"; mes "Oh my god!"; mes "The upgrade level has dropped..."; } else { mes "["+ .@npc_name$ +"]"; mes "Clang! Clang! Clang!"; failedrefitem .@part; next; emotion (!rand(5))?ET_MONEY:ET_HUK; mes "["+ .@npc_name$ +"]"; mes "Hmmm!"; next; mes "["+ .@npc_name$ +"]"; mes "Oh my! I've failed to refine stuff..."; mes "I didn't mean it!"; } mes "I could have made a mistake even though I am the best Armsmith ever."; mes "It just wasn't meant to be."; next; mes "["+ .@npc_name$ +"]"; mes "I will do a better job next time! Don't worry!"; close; } } // New +11 and above Refining Functions ======================== if (.@refinerycnt < .@safe) { mes "["+ .@npc_name$ +"]"; mes "I can refine this to the safe limit or a desired number of times. It's your choice."; next; .@menu2 = select("To the safe limit, please.","I'll decide how many times.","I've changed my mind..."); } else .@menu2 = 2; switch(.@menu2){ case 1: .@refinecnt = .@safe - .@refinerycnt; break; case 2: mes "["+ .@npc_name$ +"]"; mes "How many times would you like me to refine your item?"; next; input .@refinecnt; .@refinecheck = .@refinecnt + .@refinerycnt; if (.@refinecnt < 1 || .@refinecheck > 20) { mes "["+ .@npc_name$ +"]"; mes "I can't refine this item that many times."; close; } if (.@refinecheck > .@safe) { .@refinecheck = .@refinecheck - .@safe; mes "["+ .@npc_name$ +"]"; mes "This will try to refine the equipment " + .@refinecheck + " times past the safe limit. Your equipment may be destroyed... is that ok?"; next; if(select("Yes...","No...") == 2){ mes "["+ .@npc_name$ +"]"; mes "You said so... So be it."; close; } } break; case 3: mes "["+ .@npc_name$ +"]"; mes "You said so... So be it."; close; } .@fullprice = .@price * .@refinecnt; mes "["+ .@npc_name$ +"]"; mes "That will cost you " + .@refinecnt + " " + getitemname(.@material) + " and " + .@fullprice + " Zeny. Is that ok?"; next; if(select("Yes:No...") == 2){ mes "["+ .@npc_name$ +"]"; mes "You said so... So be it."; close; } if (countitem(.@material) < .@refinecnt || Zeny < .@fullprice) { mes "["+ .@npc_name$ +"]"; mes "Hm. You don't seem to have enough money or "+getitemname(.@material)+"."; mes "Please come back when you have them."; close; } Zeny = Zeny - .@fullprice; delitem .@material,.@refinecnt; while(.@refinecnt){ if (getequipisequiped(.@part) == 0) { mes "["+ .@npc_name$ +"]"; mes "Look here... you don't have any items on..."; close; } // anti-hack if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) close; if (getequipid(.@part) != .@refineitemid || (.@menu2 == 1 && getequippercentrefinery(.@part) < 100)) { mes "["+ .@npc_name$ +"]"; mes "Clang... No, but did you imagine I could be so stupid?!"; mes "You changed it..."; mes "Get out before I stun you with my Hammer!!"; close; } if (getequippercentrefinery(.@part) > rand(100)) { mes "Clang! Clang! Clang! Clang!"; successrefitem .@part; .@refinecnt = .@refinecnt - 1; next; } else { if (rand(100) < 80) { mes "["+ .@npc_name$ +"]"; mes "Clang! Clang! Clang! Clang!"; downrefitem .@part,3; // Failed refine attempts decrease the item's refine level by 3 next; emotion (!rand(5))?ET_MONEY:ET_HUK; mes "["+ .@npc_name$ +"]"; mes "Ahhh!!!"; next; mes "["+ .@npc_name$ +"]"; mes "Oh my god!"; mes "The upgrade level has dropped..."; } else { mes "["+ .@npc_name$ +"]"; mes "Clang! Clang! Clang!"; failedrefitem .@part; next; emotion (!rand(5))?ET_MONEY:ET_HUK; mes "["+ .@npc_name$ +"]"; mes "Hmmm!"; next; mes "["+ .@npc_name$ +"]"; mes "Oh my! I've failed to refine stuff..."; mes "I didn't mean it!"; } mes "I could have made a mistake even though I am the best Armsmith ever."; mes "It just wasn't meant to be."; next; mes "["+ .@npc_name$ +"]"; mes "I will do a better job next time! Don't worry!"; close; } .@refinerycnt = getequiprefinerycnt(.@part); } emotion ET_BEST; mes "["+ .@npc_name$ +"]"; mes "Good! Succes!!!"; mes "I am the best Blacksmith."; close; } // Ori/Elu to Carnium/Bradium Refiners //============================================================ - script Austri#ref -1,{ if (checkweight(1201,1) == 0) { mes "- Wait a minute !! -"; mes "- Currently you're carrying -"; mes "- too many items with you. -"; mes "- Please try again -"; mes "- after you lose some weight. -"; close; } mes "[Austri]"; mes "If you bring me 3"; mes "Oridecon or Elunium"; mes "I can exchange them for"; mes "Bradium or Carnium."; mes "Just give me 50,000z."; next; switch(select("Oridecon to Bradium.:Elunium to Carnium.:Purified Bradium to Carnium.:No thanks.")) { case 1: setarray .@i[0],984,3,6224; //Oridecon -> Bradium break; case 2: setarray .@i[0],985,3,6223; //Elunium -> Carnium break; case 3: setarray .@i[0],6090,1,6223; //Purified_Bradium -> Carnium break; case 4: mes "[Austri]"; mes "Hmm..."; close; } if (countitem(.@i[0]) >= .@i[1] && Zeny >= 50000) { delitem .@i[0],.@i[1]; Zeny = Zeny - 50000; getitem .@i[2],1; mes "[Austri]"; if (.@i[0] == 6090) { mes "Refining with Refined Bradium"; mes "can be a little expensive."; mes "I can exchange it for some Carnium."; } else mes "Ok! Here's your "+getitemname(.@i[2])+"."; mes "Take it and use it well."; close; } mes "[Austri]"; mes "You better not be trying"; mes "to cheat me because you"; mes "don't have enough money"; mes "or "+getitemname(.@i[0])+"."; close; } prt_in,85,71,5 duplicate(Austri#ref) Austri#prt 826 payon_in01,14,125,5 duplicate(Austri#ref) Austri#pay 826 morocc_in,60,38,5 duplicate(Austri#ref) Austri#moc 826 // Malangdo Refiner //============================================================ malangdo,224,172,6 script Clink#mal_normal 544,{ disable_items; mes "[Clink]"; mes "My cool dad Holink said I have the world's greatest refine hammer!!"; mes "Meow Meow~"; mes "Who do you think I am?"; mes "Yes!!! You!! You want to refine?"; next; setarray .@indices[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; for(.@i = 1; .@i<=10; set .@i,.@i+1) .@menu$ = .@menu$ + ( getequipisequiped(.@indices[.@i]) ? getequipname(.@indices[.@i]) : F_getpositionname(.@indices[.@i]) +"-[Empty]" ) +":"; .@part = .@indices[ select(.@menu$) ]; if (!getequipisequiped(.@part)) { mes "[Clink]"; switch(.@part) { case 1: mes "Dad said. There's no cure for stupidity..."; break; case 2: mes "There's nothing to see here!!"; break; case 3: mes "What an arrogant left hand this is!"; break; case 4: mes "What an arrogant right hand this is!"; break; case 5: mes "Get that dirty thing off my face!!"; break; case 6: mes "Kyaong~! Do not provoke me."; break; case 7: case 8: mes "Where is the accessory?"; break; case 9: case 10: mes "Are you talking about the other head part?"; break; } close; } if (!getequipisenableref(.@part)) { mes "[Clink]"; mes "This can't be refined!!"; close; } .@refinerycnt = getequiprefinerycnt(.@part); //save refinery count if (.@refinerycnt >= 10) { mes "[Clink]"; mes "Perfect refining. Did I do this for you?"; close; } .@refineitemid = getequipid(.@part); // save id of the item setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3); .@price = getequiprefinecost(.@part, REFINE_COST_NORMAL, REFINE_ZENY_COST); .@material = getequiprefinecost(.@part, REFINE_COST_NORMAL, REFINE_MATERIAL_ID); mes "[Clink]"; switch(getequipweaponlv(.@part)) { default: case 0: // Armor .@type$ = "armor"; mes "Hmm, an armor refine? Someone like you?"; break; case 1: // Level 1 Weapon .@type$ = "weapon"; mes "A level 1 weapon?"; mes "Urr... Annoying... Okay, let's try..."; break; case 2: // Level 2 Weapon .@type$ = "weapon"; mes "A level 2 weapon?"; break; case 3: // Level 3 Weapon .@type$ = "weapon"; mes "Woot!! A level 3 weapon? Impressive~"; break; case 4: // Level 4 Weapon .@type$ = "weapon"; mes "Wow!... A level 4 weapon~!!"; break; } mes "You need ^ff9999"+getitemname(.@material)+"^000000 and ^ff9999"+.@price+"^000000 Zeny. Do you have them?"; next; if(select("Yes, I do!!:Forget about it!!") == 2) { mes "[Clink]"; mes "I knew it!!"; mes "I knew you were not worth trying my magical refining hammer for."; close; } if (getequippercentrefinery(.@part) < 100) { mes "[Clink]"; mes "Wow!!"; mes "This "+.@type$+" has been refined quite a bit, huh?"; mes "You do know that this might break, right?"; next; mes "[Clink]"; mes "If you break the "+.@type$+", you can never use it again."; mes "Cards and enchant effects..."; mes "the ^ff0000whole thing will disappear^000000."; mes "You still up for this~?"; next; if(select("Yes, I am!!:Forget about it!!") == 2) { mes "[Clink]"; mes "I knew it!!"; mes "You can't even take this big step. Don't think about refining..."; close; } } if (countitem(.@material) == 0 || Zeny < .@price) { mes "[Clink]"; mes "Hey you!! Didn't I tell you"; mes "that you need ^ff9999"+getitemname(.@material)+"^000000 and ^ff9999"+.@price+"^000000 Zeny??!!"; close; } delitem .@material,1; Zeny = Zeny-.@price; // anti-hack if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) { mes "[Clink]"; emotion ET_FRET; mes "Wait a second..."; mes "Do you think I'm stupid?!"; mes "You switched the item while I wasn't looking! Get out of here!"; close; } if (getequippercentrefinery(.@part) <= rand(100)) { failedrefitem .@part; mes "[Clink]"; mes "Cry Hammer!! Cry!!!"; next; switch(rand(1,5)) { case 1: emotion ET_CRY; break; case 2: emotion ET_PROFUSELY_SWEAT; break; case 3: emotion ET_KEK; break; case 4: emotion ET_SCRATCH; break; case 5: emotion ET_BIGTHROB; break; } mes "[Clink]"; mes "Huh?! I failed?!"; next; mes "[Clink]"; mes "Arrgg~ It's all~ Broken...? What a pity~"; next; mes "[Clink]"; mes "Hey...!! Get me another one."; mes "This is not possible."; mes "How can my hammer fail from refining?"; close; } successrefitem .@part; mes "[Clink]"; mes "Cry Hammer!! Cry!!!"; next; emotion ET_CHUP; mes "[Clink]"; mes "Ok!! Perfect!!"; mes "There's nothing I can't refine"; mes "with this special hammer."; mes "You can praise me!!"; mes "What a day!!"; close; }
  5. You resolved my problem, many many thanks!
  6. Thanks. I copied another server's CPS and it worked.
  7. Good day, I'm trying to encrypt my GRF but I keep getting this error that it can't read the cps.dll I've selected. It's default. Any ideas?
  8. Good day, I am trying to add my custom items, item range 35000+, but the script won't allow me to enter these values in. it only lets me do the default items. veil,135,163,4 script ROTD 858,{ while(1){ mes "^FF0000ROTD^000000 refer to ^0000FFRace of the Day^000000"; mes "In another word, it mean that the ^FF0000Monster's Race^000000 that you killed by day will grant you ^FF0000Extra Bonus EXP / Item / Zeny ^000000."; next; mes "[ ^FF0000Today's ROTD^000000 ] = ^0000FF"+.ROTD$[.Race]+"^000000 Race"; mes "^FF0000_____________________________^000000"; mes "Bonus Lists :"; mes "^FF0000@^000000 EXP = ^0000FF"+( ( !.BonusEXP )?"No":.BonusEXP+" %" )+"^000000 EXP Bonus"; mes "^FF0000@^000000 Zeny = ^0000FF"+( ( !.BonusZeny )?"No":.BonusZeny )+"^000000 Zeny"; mes "^FF0000@^000000 Item = ^0000FF"+( ( !.BonusItemAmount )?"No Items":.BonusItemAmount+" x "+getitemname( .BonusItem ) )+"^000000"; if( .BonusItemAmount ){ mes "^FF0000@^000000 Rate = ^0000FF"+.BonusRate+"^000000 %"; mes "^FF0000_____________________________^000000"; mes "The Amount of Bonus Reward is given ^FF0000Randomly^000000 at a fixed Rate."; } next; switch(select("^4EEE94ROTD Information^000000", ( getgmlevel() < .GMLevel )?"":"^FF0000[GM]^000000Set a New Monster's Race", ( getgmlevel() < .GMLevel )?"":"^FF0000[GM]^000000Set EXP Bonus", ( getgmlevel() < .GMLevel )?"":"^FF0000[GM]^000000Set Item / Zeny Bonus")){ Case 1: mes "Today's ROTD has choosen ^0000FF"+.ROTD$[.Race]+"^000000 Race , which will grant you some ^FF0000Extra Bonus EXP^000000."; mes "The amount of ^FF0000EXP Bonus^000000 are ^0000FF"+.BonusEXP+" %^000000."; next; mes "For ^0000FFParty Members^000000 , they will only receive ^FF0000Bonus EXP^000000 if they didnt killed any monster."; mes "Besides, they have to stay in the ^FF0000Same Map^000000 in order to get the ^FF0000EXP Bonus^000000."; next; break; Case 2: mes "Choose ^FF0000Randomly / Manually^000000 ?"; for( set .@i,0; .@i < getarraysize( .ROTD$ ); set .@i,.@i+1 ){ mes "[ ^FF0000"+.@i+"^000000. ] ^0000FF"+.ROTD$[.@i]+"^000000 Race"; } message strcharinfo(0),"Input the Number. Choose Random if you want it Randomise a Race for you."; input .Race,0,getarraysize( .ROTD$ )-1; next; if( .Race == getarraysize( .ROTD$ )-1 ){ set .Race,rand( getarraysize( .ROTD$ )-1 ); } mes "[ ^FF0000ROTD Update^000000 ]"; mes "[ ^FF0000Updated^000000 ] = ^0000FF"+.ROTD$[.Race]+"^000000 Race"; mes "[ ^FF0000Bonus EXP^000000 ] = Extra ^0000FF"+.BonusEXP+"^000000 %"; announce "[ ROTD ] : New Race : "+.ROTD$[.Race]+" with Bonus EXP of "+.BonusEXP+" % ",bc_blue; delwaitingroom; waitingroom "[ROTD]:"+.ROTD$[.Race]+" ",0; next; break; Case 3: mes "Set ^FF0000Random EXP / Manually^000000"; mes "Input 0 for ^0000FFRandom Bonus EXP Rate^000000"; mes "Input ^FF0000RATE^000000 for ^0000FFManual Bonus EXP Rate^000000"; mes "^FF0000EXP Range^000000 : 100% ~ 200%"; mes "Current Rate = [ ^0000FF"+.BonusEXP+"^000000 % ]"; input .BonusEXP,100,200; if( .BonusEXP == 0 ){ set .BonusEXP,rand( 100,200 ); } next; mes "The New EXP Rate is [ ^0000FF"+.BonusEXP+"^000000 % ]"; announce "[ ROTD ] : New Race : "+.ROTD$[.Race]+" with Bonus EXP of "+.BonusEXP+" % ",bc_blue; next; break; Case 4: mes "You may set a ^FF0000 Item / Zeny Bonus^000000 for the ^0000FFROTD^000000."; mes "This will work when you have killed a ^FF0000ROTD's Monster^000000, there will be a chances for Player to gain the ^FF0000Item / Zeny^000000."; next; mes "Input the ^FF0000Zeny Bonus^000000"; message strcharinfo(0),"You may input 0 to disable it. [ Use it Wisely ]"; input .BonusZeny;; mes "Input the ^FF0000Item ID^000000"; do{ input .BonusItem,0,32767; }while( getitemname( .BonusItem ) == "null" ); mes "Input the ^FF0000Item Bonus Amount^000000"; mes "Range of Amount = 0 ~ 30,000"; message strcharinfo(0),"You may input 0 to disable it. [ Use it Wisely ]"; input .BonusItemAmount,0,30000; next; mes "^FF0000Rate^000000 to get it ??"; mes "^FF0000100 = 100%^000000"; mes "^FF0000 10 = 10%^000000"; mes "^FF0000 1 = 1%^000000"; mes "^FF0000 0 = DISABLED^000000"; input .BonusRate,0,100; next; mes "[ ^FF0000ROTD Update^000000 ]"; mes "^0000FFZeny Bonus^000000 : "+.BonusZeny+" Zeny"; mes "^0000FFItem Bonus^000000 : "+.BonusItemAmount+" x "+getitemname( .BonusItem ); mes "^0000FFItem Rate^000000 : "+.BonusRate+" %"; next; break; } } close; OnInit: OnClock0000: set .GMLevel,80; setarray .ROTD$[0], "Formless", "Undead", "Brute", "Plant", "Insect", "Fish", "Demon", "Demi-Human", "Angel", "Dragon", "Random"; set .Race,rand( 10 ); set .BonusEXP,rand( 100,200 ); set .ExpLvlRange,50; delwaitingroom; waitingroom "[ROTD]:"+.ROTD$[.Race]+" ",0; end; OnNPCKillEvent: if( getmonsterinfo( killedrid,19 ) != .Race ) end; if( getcharid(1) ){ set .@Location$,strcharinfo(3); set .BaseLvl,BaseLevel; getpartymember getcharid(1),1; getpartymember getcharid(1),2; for ( set .@a, 0; .@a < .partymembercount; set .@a, .@a +1 ) if ( isloggedin( .partymemberaid[.@a] ) ) attachrid( .partymemberaid[.@a] ); if( strcharinfo(3) == .@Location$ && ( .BaseLvl - BaseLevel ) <= .ExpLvlRange ) getexp ( getmonsterinfo( killedrid,3 ) * .BonusEXP / 100 ),( getmonsterinfo( killedrid,4 ) * .BonusEXP / 100 ); }else{ getexp ( getmonsterinfo( killedrid,3 ) * .BonusEXP / 100 ),( getmonsterinfo( killedrid,4 ) * .BonusEXP / 100 ); } if( rand(100) <= .BonusRate && .BonusItemAmount ) getitem .BonusItem,rand( 1,.BonusItemAmount ); if( rand(100) <= .BonusRate && .BonusZeny ) set Zeny,Zeny + rand( 1,.BonusZeny ); end; }
  9. I added everything into the server but when I go to type any of the commands it tells me there is no such thing, and it also doesn't give rewards or points. Any idea what's wrong with it?
  10. Oh my gosh, thanks for pointing that out. I thought I already filled that in... xD
  11. Good day, I am trying to get this basic quest to check for both Items and Zeny, as a simple gathering quest. When I go to the NPC with only zeny in-hand, he accepts it and finishes the quest for me without checking the items, even though I think I have the check items there and then he goes to a blank dialogue box with no options to close. Any ideas? //===== Heroes of Vanaheim Online ======================================= //= Poring Ring Quest //============================================================ prontera,147,211,3 script Recovery Project 419,{ setarray .@Items[0],itemID,qnty; set .@n$,"[Project Operator]"; mes .@n$; if(f_ring == 1) { mes "I appreciate your assistance, soldier."; close; } mes "Would you like to contribute to the Morocc Support Funds?"; next; if(select("Yes!:Not today")==2) goto M_Leave; mes .@n$; mes "That's great to hear! There's a few things we need to help rebuild Morocc."; next; mes .@n$; mes "Do you think you're up for the task?"; next; if(select("Absolutely!:Not now")==2) goto M_Leave; mes .@n$; mes "I'll give you ^FF0000Poring Ring^000000. !"; next; mes .@n$; mes "This is what our camp needs to continue rebuilding:"; mes "~ 300.000.000 Zeny"; for(set .@i,0; .@i<getarraysize(.@Items); set .@i,.@i+2) { mes " ~ "+.@Items[.@i+1]+"x "+getitemname(.@Items[.@i]); if (countitem(.@Items[.@i]) < .@Items[.@i+1]) set .@nr,1; } next; if(select("I got it all!:I'll go now.")==2) goto M_Leave; mes .@n$; if (.@nr) { if(countitem(.@Items[.@i], .@Items[.@i+1]) < 1) goto Leave; if(Zeny < 300000000) goto Leave; mes "You trying to fool me or something?"; close; } for(set .@i,0; .@i<getarraysize(.@Items); set .@i,.@i+2) delitem .@Items[.@i], .@Items[.@i+1]; set Zeny, Zeny - 300000000; getitem 35153,1; announce "Congratulations!! ["+ strcharinfo(0) +"] has finished Item quest.",0; set f_ring, 1; mes "Great job! You have all the items. Here are your ^FF0000Poring Ring^000000, as promised."; emotion ET_CONGRATULATION; close; Leave: mes .n$; mes "Don't forget, we especially need Zeny to buy medical building materials."; next; M_Leave: mes .@n$; mes "Good day."; close; OnInit: waitingroom "Poring Ring",0; end; }
  12. If you have Gepard you may have to disable it and add the default Mss32.dll file into the folder. Fixed by disabling Gepard. If you have Gepard and want to keep it active you will need the paid version mentioned above. If that's not the issue, then you might have to double check your clientinfo.xml for any errors.You might not be connecting to the patch server. Is there any errors it has?
  13. Thanks I was able to fix it by adding this. next; if(select("I got it all!:I'll go now.")==2) goto M_Leave; mes .@n$; if (.@nr) { if(countitem(.@Items[.@i], .@Items[.@i+1]) < 1) goto Leave; if(Zeny < 300000000) goto Leave; mes "You can't trick me! Go get those items."; close; } for(set .@i,0; .@i<getarraysize(.@Items); set .@i,.@i+2) delitem .@Items[.@i], .@Items[.@i+1]; set Zeny, Zeny - 300000000; getitem 35151,1;
  14. I'm trying to get this NPC to check the items to make sure they are there and check zeny to make sure it's there. I can't seem to get the "getinventorylist" to work in my script no matter how I try to apply it. May anyone help me here? It keeps accepting Zeny without checking the items to make sure they are there. //===== Heroes of Vanaheim Online ======================================= //= Item Quest //============================================================ geffen,194,89,3 script Astrologer 64,{ setarray .@Items[0],501,1; set .@n$,"[Astrologer]"; mes .@n$; if(n_ring0 == 1) { mes "You got them? You got them all? Terrific!"; close; } mes "Oi, adventurer! I need some help."; next; if(select("What's up?:Nah.")==2) goto M_Leave; mes .@n$; mes "My magic isn't as strong enough to protect me against the new threats that dwell around..."; next; mes .@n$; mes "Please collect some materials for me to complete my.. rock collection."; next; if(select("Okay:No time")==2) goto M_Leave; mes .@n$; mes "I'll give you this ^FF0000Night Ring^000000. !"; next; mes .@n$; mes "Here's a list of the materials I need:"; mes "~ 300.000.000 Zeny"; for(set .@i,0; .@i<getarraysize(.@Items); set .@i,.@i+2) { mes " ~ "+.@Items[.@i+1]+"x "+getitemname(.@Items[.@i]); if (countitem(.@Items[.@i]) < .@Items[.@i+1]) set .@nr,1; } next; if(select("I got it all!:I'll go now.")==2) goto M_Leave; mes .@n$; if (.@nr) { getinventorylist .@Items[.@i], .@Items[.@i+1]; if(Zeny < 300000000) goto Leave; mes "You can't trick me! Go get those items."; close; } for(set .@i,0; .@i<getarraysize(.@Items); set .@i,.@i+2) delitem .@Items[.@i], .@Items[.@i+1]; set Zeny, Zeny - 300000000; getitem 35151,1; announce "Congratulations!! ["+ strcharinfo(0) +"] has finished Item quest.",0; set n_ring0, 1; mes "Great job! You have all the items. Here are your ^FF0000Item^000000, as promised."; emotion ET_CONGRATULATION; close; Leave: mes .n$; mes "Don't forget those stones. They are essential! "; next; M_Leave: mes .@n$; mes "Someone else will help, I'm sure..."; close; OnInit: waitingroom "Night Ring",0; end; }
  15. Normally I would think this should work, however, I still get these errors the same. I also tried adding it to my data folder and system folders in the main directory, this did not work. Any other thoughts? Edit: I got new errors now to deal with. string buf errors : GetOngoingQuestInfoByID GetOngoingDescription GetOngoinRewardInfo I followed a previous post about it and changed the files but still nothing. Same Errors. EDIT_2: I resolved the issue by making & patching in OnGoingQuestInfoList , OnGoingQuestInfoList_Sakray , OnGoingQuestInfoList_True .lua & lub
  16. I have the latest files but I still get these errors. ?
  17. I applied it to my custom folder and applied the settings to the config file. A good place to stick this if you don't have a custom setup is: ragnarok/npc/custom/ and be sure to change the scripts_athena.conf add line npc: npc/custom/login_reward.txt (for example).
  18. So I keep getting these 6 errors that constantly appear after an Endless Tower Instance has ended. Appears only on Login of that character. Anyone know how to fix this? I tried the English translate already and that did not work. Version 20180620
  19. If you have Gepard, you'll need to purchase the premium version of AndRO, the APK for your server. This is bought from Meyraw, the owner of AndRO. The free version does not support it. If you turn it off, you'll notice things change, very likely.
  20. Make sure to double check your ClientInfo.xml for the correct IP and server adresses. If you have it 100% correct, go to the Settings and reselet your download location, even if it means typing exactly what is already there.
  21. This is the error I get now that I've figured out the version I needed.
  22. That works my mate! Thank you so much, I see now where I went wrong. This was way out of my skill range! Thanks you thank you!
  23. Good day, the script above is a 6-digit Lottery. I just want to cut the 6 into 3 to make winning a lot easier. With 6 digits you have a 1 in ~4,096,000,000 chance of winning. With a 3 digit lottery it cuts it down to a mere 1 in ~64,000 chance. This seems much better for my server, I find, as no one plays the lottery here.
  24. Good day! I've been trying for a week now to get this to a 3 digit lottery, but I can't seem to get it working. Does anyone think they can do this or have time to do this? I would appreciate it so much. //============================================================ //= Lottery //============================================================ prontera,129,218,4 script Lottery Generator 406,{ OnInit: set $L_TicketPrice,100000; // TICKET COST set $L_Prize_Money,2000000000; // JACKPOT AMOUNT set $L_Prize_Money_Small,1000000000; // SECONDARY PRIZE if ($LID == 0) goto L_GenID; end; //Modify for own time OnClock0200: OnClock0400: OnClock0600: OnClock0800: OnClock1000: OnClock1200: OnClock1600: OnClock1800: OnClock2000: OnClock2200: // CHECKS IF LOTTERY IS RIGGED if ($L_Rigged == 1) goto L_Rigged_Draw; // GENERATES RANDOM NUMBERS 1-40 Pick1: set $LW1,rand (1,40); Pick2: set $LW2,rand (1,40); if ($LW2 == $LW1) goto Pick2; Pick3: set $LW3,rand (1,40); if ($LW3 == $LW2) goto Pick3; if ($LW3 == $LW1) goto Pick3; Pick4: set $LW4,rand (1,40); if ($LW4 == $LW2) goto Pick4; if ($LW4 == $LW1) goto Pick4; if ($LW4 == $LW3) goto Pick4; Pick5: set $LW5,rand (1,40); if ($LW5 == $LW1) goto Pick5; if ($LW5 == $LW2) goto Pick5; if ($LW5 == $LW3) goto Pick5; if ($LW5 == $LW4) goto Pick5; Pick6: set $LW6,rand (1,40); if ($LW6 == $LW1) goto Pick6; if ($LW6 == $LW2) goto Pick6; if ($LW6 == $LW3) goto Pick6; if ($LW6 == $LW4) goto Pick6; if ($LW6 == $LW5) goto Pick6; // BROADCASTS DRAW L_Broadcast: Announce "Lottery: This hour's draw is worth 2b Zeny and 100 Credits!!",8; Announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8; Announce "Congratulations to the winners of tonight!",8; // GENERATES DRAW ID CODE L_GenID: set $LID2,$LID; // SETS TOMORROW'S ID NUMBER set $LID,rand (100000,999999); end; // SETS DRAW TO RIGGED NUMBERS L_Rigged_Draw: set $LW1,$LR1; set $LW2,$LR2; set $LW3,$LR3; set $LW4,$LR4; set $LW5,$LR5; set $LW6,$LR6; set $L_Rigged,0; goto L_Broadcast; } prontera,130,215,5 script Lottery 76,{ L_Begin: mes "[Lottery]"; mes "Winning Lotto Numbers ("+$LID2+"):"; mes "^0000FF[" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]^000000"; if ($LID > 99999) mes "Your Ticket ("+#LID+"):"; if ($LID > 99999) mes "^FF0000[" + #LW1 + "] [" + #LW2 + "] [" + #LW3 + "] [" + #LW4 + "] [" + #LW5 + "] [" + #LW6 + "]^000000"; mes "Next Draw-ID: ^FF0000" + $LID + "^000000."; next; if (getgmlevel() > 90) goto L_GM; menu "Claim Prize",L_Claim,"Buy New Ticket",L_Buy,"Cancel",L_Cancel; // PURCHASE TICKET L_Buy: if (#LID == $LID && #L1 != 0) goto L_DoubleTicket; mes "[Lottery]"; mes "Tickets cost ^0000FF" + $L_TicketPrice + "z^000000."; mes "The Jackpot is ^FF0000" + $L_Prize_Money + "z^000000 & 100 credits!"; next; menu "Buy Ticket",-,"Cancel",L_Cancel; if (Zeny < $L_TicketPrice) goto L_NoZeny; set Zeny, Zeny-$L_TicketPrice; mes "[Lottery]"; mes "Would you like your numbers hand picked or computer generated?"; next; menu "Computer Generated",L_ComputerGen,"Hand Picked",L_HandPick,"Renew Ticket",L_Renew; // RENEW LAST TICKET L_Renew: if ($LID < 99999) goto L_Invalid; set #LID,$LID; goto L_Confirm2; L_ComputerGen: // SELECTS RANDOM NUMBERS set @L1,0; set @L2,0; set @L3,0; set @L4,0; set @L5,0; set @L6,0; Pick1: set @L1,rand (1,40); Pick2: set @L2,rand (1,40); if (@L2 == @L1) goto Pick2; Pick3: set @L3,rand (1,40); if (@L3 == @L2) goto Pick3; if (@L3 == @L1) goto Pick3; Pick4: set @L4,rand (1,40); if (@L4 == @L2) goto Pick4; if (@L4 == @L1) goto Pick4; if (@L4 == @L3) goto Pick4; Pick5: set @L5,rand (1,40); if (@L5 == @L1) goto Pick5; if (@L5 == @L2) goto Pick5; if (@L5 == @L3) goto Pick5; if (@L5 == @L4) goto Pick5; Pick6: set @L6,rand (1,40); if (@L6 == @L1) goto Pick6; if (@L6 == @L2) goto Pick6; if (@L6 == @L3) goto Pick6; if (@L6 == @L4) goto Pick6; if (@L6 == @L5) goto Pick6; mes "[Lottery]"; mes "The computer has selected the following numbers:"; mes "^0000FF" + @L1 + " " + @L2 + " " + @L3 + " " + @L4 + " " + @L5 + " " + @L6 + "^000000"; next; menu "Confirm",L_Confirm,"Re-Generate",L_ComputerGen; // HAND PICK LOTTERY NUMBERS L_HandPick: mes "[Lottery]"; mes "Please pick your numbers (1-40):"; set @L1,0; set @L2,0; set @L3,0; set @L4,0; set @L5,0; set @L6,0; Input1: input @L1; if (@L1 < 1 || @L1 > 40) goto Input1; mes @L1; Input2: input @L2; if (@L2 < 1 || @L2 > 40) goto Input2; if (@L2 == @L1) goto Input2; mes @L2; Input3: input @L3; if (@L3 < 1 || @L3 > 40) goto Input3; if (@L3 == @L1) goto Input3; if (@L3 == @L2) goto Input3; mes @L3; Input4: input @L4; if (@L4 < 1 || @L4 > 40) goto Input4; if (@L4 == @L1) goto Input4; if (@L4 == @L2) goto Input4; if (@L4 == @L3) goto Input4; mes @L4; Input5: input @L5; if (@L5 < 1 || @L5 > 40) goto Input5; if (@L5 == @L1) goto Input5; if (@L5 == @L2) goto Input5; if (@L5 == @L3) goto Input5; if (@L5 == @L4) goto Input5; mes @L5; Input6: input @L6; if (@L6 < 1 || @L6 > 40) goto Input6; if (@L6 == @L1) goto Input6; if (@L6 == @L2) goto Input6; if (@L6 == @L3) goto Input6; if (@L6 == @L4) goto Input6; if (@L6 == @L5) goto Input6; mes @L6; next; mes "[Lottery]"; mes "Your numbers are:"; mes "^0000FF" + @L1 + " " + @L2 + " " + @L3 + " " + @L4 + " " + @L5 + " " + @L6 + "^000000"; next; menu "Confirm",L_Confirm,"Re-Pick",L_HandPick; L_Confirm: set #LW1,@L1; set #LW2,@L2; set #LW3,@L3; set #LW4,@L4; set #LW5,@L5; set #LW6,@L6; set #LID,$LID; L_Confirm2: mes "[Lottery]"; mes "The live broadcasted draw is at 9pm."; mes "You can claim your ticket between then and the next draw."; next; mes "[Lottery]"; mes "Good luck!"; close; L_Claim: // CHECKS TICKET VALIDILITY if (#LID != $LID2) goto L_Invalid; // CHECKS HOW MANY NUMBERS MATCHED set @LPrize,0; if (#LW1 == $LW1) set @LPrize,@LPrize+1; if (#LW1 == $LW2) set @LPrize,@LPrize+1; if (#LW1 == $LW3) set @LPrize,@LPrize+1; if (#LW1 == $LW4) set @LPrize,@LPrize+1; if (#LW1 == $LW5) set @LPrize,@LPrize+1; if (#LW1 == $LW6) set @LPrize,@LPrize+1; if (#LW2 == $LW1) set @LPrize,@LPrize+1; if (#LW2 == $LW2) set @LPrize,@LPrize+1; if (#LW2 == $LW3) set @LPrize,@LPrize+1; if (#LW2 == $LW4) set @LPrize,@LPrize+1; if (#LW2 == $LW5) set @LPrize,@LPrize+1; if (#LW2 == $LW6) set @LPrize,@LPrize+1; if (#LW3 == $LW1) set @LPrize,@LPrize+1; if (#LW3 == $LW2) set @LPrize,@LPrize+1; if (#LW3 == $LW3) set @LPrize,@LPrize+1; if (#LW3 == $LW4) set @LPrize,@LPrize+1; if (#LW3 == $LW5) set @LPrize,@LPrize+1; if (#LW3 == $LW6) set @LPrize,@LPrize+1; if (#LW4 == $LW1) set @LPrize,@LPrize+1; if (#LW4 == $LW2) set @LPrize,@LPrize+1; if (#LW4 == $LW3) set @LPrize,@LPrize+1; if (#LW4 == $LW4) set @LPrize,@LPrize+1; if (#LW4 == $LW5) set @LPrize,@LPrize+1; if (#LW4 == $LW6) set @LPrize,@LPrize+1; if (#LW5 == $LW1) set @LPrize,@LPrize+1; if (#LW5 == $LW2) set @LPrize,@LPrize+1; if (#LW5 == $LW3) set @LPrize,@LPrize+1; if (#LW5 == $LW4) set @LPrize,@LPrize+1; if (#LW5 == $LW5) set @LPrize,@LPrize+1; if (#LW5 == $LW6) set @LPrize,@LPrize+1; if (#LW6 == $LW1) set @LPrize,@LPrize+1; if (#LW6 == $LW2) set @LPrize,@LPrize+1; if (#LW6 == $LW3) set @LPrize,@LPrize+1; if (#LW6 == $LW4) set @LPrize,@LPrize+1; if (#LW6 == $LW5) set @LPrize,@LPrize+1; if (#LW6 == $LW6) set @LPrize,@LPrize+1; if (@LPrize == 6) goto LWinBig; if (@LPrize > 3 && @LPrize < 6) goto LWinSmall; // NO WINNER mes "[Lottery]"; mes "Bad luck, it appears you do not hold a winning ticket."; next; mes "[Lottery]"; mes "Better luck next time!."; close; // MATCHED ALL SIX LWinBig: mes "[Lottery]"; mes "You have matched all six numbers!"; mes "Jackpot!"; mes "You've won ^0000FF" + $L_Prize_Money + "z^000000 & 100 credits!!"; set Zeny, Zeny+$L_Prize_Money; getitem 35012,5; //100 credits Announce "Lottery: " + strcharinfo(0) + " has won the JACKPOT of " + $L_Prize_Money + "z & 100 credits!",8; set #LID,0; close; // MATCHED AT LEAST 4 LWinSmall: mes "[Lottery]"; mes "You have matched at least 4 numbers!"; mes "You've won ^0000FF" + $L_Prize_Money_Small + "z^000000."; set Zeny, Zeny+$L_Prize_Money_Small; getitem 35011,25; //10 Credits Announce "Lottery: " + strcharinfo(0) + " has won a prize of " + $L_Prize_Money_Small + "z & 25 Credits!",8; set #LID,0; close; // NO ZENY L_NoZeny: mes "[Lottery]"; mes "You can't afford a lottery ticket."; close; // INVALID TICKET L_Invalid: mes "[Lottery]"; mes "I'm sorry but it appears that you have an invalid ticket."; close; // DOUBLE TICKET L_DoubleTicket: mes "[Lottery]"; mes "It appears that you already have a ticket for today."; mes "You may only purchase one ticket per draw."; close; L_Cancel: mes "[Lottery]"; mes "Come back soon!"; close; // GM MENU (Lets you manually do draws) L_GM: menu "Claim Prize",L_Claim,"Buy New Ticket",L_Buy,"[GM]Do Draw Now",-,"[GM]Rig the Lottery",L_GM_Rig,"Cancel",L_Cancel; // CHECKS IF LOTTERY IS RIGGED if ($L_Rigged == 1) goto L_Rigged_Draw; // GENERATES RANDOM NUMBERS 1-40 GMPick1: set $LW1,rand (1,40); GMPick2: set $LW2,rand (1,40); if ($LW2 == $LW1) goto GMPick2; GMPick3: set $LW3,rand (1,40); if ($LW3 == $LW2) goto GMPick3; if ($LW3 == $LW1) goto GMPick3; GMPick4: set $LW4,rand (1,40); if ($LW4 == $LW2) goto GMPick4; if ($LW4 == $LW1) goto GMPick4; if ($LW4 == $LW3) goto GMPick4; GMPick5: set $LW5,rand (1,40); if ($LW5 == $LW1) goto GMPick5; if ($LW5 == $LW2) goto GMPick5; if ($LW5 == $LW3) goto GMPick5; if ($LW5 == $LW4) goto GMPick5; GMPick6: set $LW6,rand (1,40); if ($LW6 == $LW1) goto GMPick6; if ($LW6 == $LW2) goto GMPick6; if ($LW6 == $LW3) goto GMPick6; if ($LW6 == $LW4) goto GMPick6; if ($LW6 == $LW5) goto GMPick6; // BROADCASTS DRAW L_Broadcast: Announce "Lottery: Welcome to the special GM's lotto draw!",8; Announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8; Announce "Congratulations to the winners!",8; // GENERATES DRAW ID CODE L_GenID: set $LID2,$LID; // SETS TOMORROW'S ID NUMBER set $LID,rand (100000,999999); close; // SETS DRAW TO RIGGED NUMBERS L_Rigged_Draw: set $LW1,$LR1; set $LW2,$LR2; set $LW3,$LR3; set $LW4,$LR4; set $LW5,$LR5; set $LW6,$LR6; set $L_Rigged,0; goto L_Broadcast; // ALLOWS GM TO DO A RIGGED DRAW L_GM_Rig: mes "[Lottery]"; mes "Please pick your numbers (1-40):"; set $LR1,0; set $LR2,0; set $LR3,0; set $LR4,0; set $LR5,0; set $LR6,0; GMInput1: Input $LR1; if ($LR1 < 1 || $LR1 > 40) goto GMInput1; mes $LR1; GMInput2: Input $LR2; if ($LR2 < 1 || $LR2 > 40) goto GMInput2; if ($LR2 == $LR1) goto GMInput2; mes $LR2; GMInput3: Input $LR3; if ($LR3 < 1 || $LR3 > 40) goto GMInput3; if ($LR3 == $LR1) goto GMInput3; if ($LR3 == $LR2) goto GMInput3; mes $LR3; GMInput4: Input $LR4; if ($LR4 < 1 || $LR4 > 40) goto GMInput4; if ($LR4 == $LR1) goto GMInput4; if ($LR4 == $LR2) goto GMInput4; if ($LR4 == $LR3) goto GMInput4; mes $LR4; GMInput5: Input $LR5; if ($LR5 < 1 || $LR5 > 40) goto GMInput5; if ($LR5 == $LR1) goto GMInput5; if ($LR5 == $LR2) goto GMInput5; if ($LR5 == $LR3) goto GMInput5; if ($LR5 == $LR4) goto GMInput5; mes $LR5; GMInput6: Input $LR6; if ($LR6 < 1 || $LR6 > 40) goto GMInput6; if ($LR6 == $LR1) goto GMInput6; if ($LR6 == $LR2) goto GMInput6; if ($LR6 == $LR3) goto GMInput6; if ($LR6 == $LR4) goto GMInput6; if ($LR6 == $LR5) goto GMInput6; mes $LR6; next; mes "[Lottery]"; mes "Lottery rigged for next draw."; set $L_Rigged,1; close; OnInit: waitingroom " Hourly Lottery",0; end; } //=========Duplicates=========// veil,138,172,6 duplicate(Lottery) Lottery Machine 406 kaufhaus,14,52,6 duplicate(Lottery) Lottery Machine 406
  25. There is no error, it just kills the client and the clients around me. They are all in there. I know it works because it worked for the first 93, it's just this particular weapon set I seem to be having a hard time with. ? I'll check the sprite files again, make sure it's all correct, of course. Thanks guys for your help thus far.
×
×
  • Create New...