Jump to content

Gerome

Members
  • Posts

    185
  • Joined

  • Last visited

Everything posted by Gerome

  1. Make sure to set the prize first.. by talking to the NPC..just follow what the npc said.. Event Start Every 30 Minutes.. // Made by Light from MoonlightRO // Revised by Gerome // 1.1 - can set Individual Prize for Special Poring and Normal poring by Talking to hte npc // 1.2 - Event Starts Every 30 minutes // - Event can not be Start if the event is Currently started //=================================================================== izlude,120,162,6 script Poring Summoner 99,{ set .npcname$, "[Poring Summoner]"; mes.npcname$; if(getgmlevel() < 99 || getgroupid() <99 ) { if(.Event) mes "There is no Poring Summon Event on now."; else { mes "There is a Poring Summon Event on now!"; mes "Location: " + .Map$; mes "Special Porings: " + .SpecialPorings[1]; mes "Normal Porings: " + .NormalPorings[0]; } close; } mes "Please customize the Poring Summon Event:"; Main: next; mes.npcname$; mes "--- information ---"; mes "^000099Special Poring^000000 prize is " + $SpclPoringPrizeQ + " " + getitemname($SpclPoringPrize); mes "And i can Summon " + $SpecialPorings + " of them in " + $map$ + "."; mes "^990000Normal Poring^000000 Prize is " + $NrmlPoringPrizeQ + " " + getitemname($NrmlPoringPrize); mes "And i can Summon " + $NormalPorings + " of them in " + $map$ + "."; mes "---------------------------"; switch( select("Special Poring Prize("+$SpclPoringPrizeQ+" - "+getitemname($SpclPoringPrize)+"):Normal Poring Prize("+$NrmlPoringPrizeQ+" - "+getitemname($NrmlPoringPrize)+"):Location(" +$map$+ "):Special Porings NO. to Summon[" + $SpecialPorings + "]:Normal Porings NO. to Summon[" + $NormalPorings + "]:Start Event:End Event") ) { case 1: next; mes.npcname$; mes "Which item would you like Special Porings to drop?"; mes "Please input the item ID:"; input $SpclPoringPrize; next; mes .npcname$; mes "How many " + getitemname($SpclPoringPrize) + " ?"; input $SpclPoringPrizeQ; goto Main; break; case 2: next; mes.npcname$; mes "Which item would you like Normal Porings to drop?"; mes "Please input the item ID:"; input $NrmlPoringPrize; next; mes .npcname$; mes "How many " + getitemname($NrmlPoringPrize) + " ?"; input $NrmlPoringPrizeQ; goto Main; break; case 3: next; mes.npcname$; mes "Which map would you like me to host this event?"; input $map$; goto Main; break; case 4: next; mes.npcname$; mes "How many Special Porings would you like me to summon?"; input $SpecialPorings; goto Main; break; case 5: next; mes.npcname$; mes "How many Normal Porings would you like me to summon?"; input $NormalPorings; goto Main; break; case 6: next; mes .npcname$; if(.Event){ mes "the Event is Currently Started"; close; } mes "Starting the event now..."; close2; goto STARTEVENT; break; case 7: goto ENDINGEVENT; break; default: close; break; } // Starts Every 30 Minutes OnMinute30: goto STARTEVENT; end; STARTEVENT: OnClock0200: OnClock0400: OnClock0600: OnClock0800: OnClock1000: OnClock1200: OnClock1400: OnClock1600: OnClock1800: OnClock2000: OnClock2200: OnClock0000: set .Event,1; monster $map$,0,0,"Poring",1002,$SpecialPorings,"Poring Summoner::OnSpecialKill"; monster $map$,0,0,"Poring",1002,$NormalPorings,"Poring Summoner::OnNormalKill"; set .SpecialPorings[1],$SpecialPorings; set .NormalPorings[1],$NormalPorings; announce "The Poring Event has begun!",bc_all; sleep2 4000; announce "Location: " + $map$ + " Special Porings: " + $SpecialPorings + " Normal Porings: " + $NormalPorings,bc_all; end; ENDINGEVENT: mes "Ending the event now..."; OnClock0300: OnClock0500: OnClock0700: OnClock0900: OnClock1100: OnClock1300: OnClock1500: OnClock1700: OnClock1900: OnClock2100: OnClock2300: OnClock0100: goto EndEvent; OnSpecialKill: set .SpecialPorings[1],.SpecialPorings[1]-1; announce strcharinfo(0) + " got a " + getitemname($SpclPoringPrize) + "!",bc_map; sleep2 3000; getitem $SpclPoringPrize,$SpclPoringPrizeQ; goto PoringCount; end; OnNormalKill: set .NormalPorings[1],.NormalPorings[1]-1; announce strcharinfo(0) + " got a " + getitemname($NrmlPoringPrize) + "!",bc_map; sleep2 3000; getitem $NrmlPoringPrize,$NrmlPoringPrizeQ; goto PoringCount; end; PoringCount: announce "Special Porings: " + .SpecialPorings[1] + " || Normal Porings: " + .NormalPorings[1],bc_map; if(!.SpecialPorings[1]) goto EndEvent; end; EndEvent: if(.Event) announce "The Poring Summon Event is now over!",bc_all; killmonster $map$,"All"; set .Event,0; set .SpecialPorings[1],0; set .NormalPorings[1],0; close; }
  2. Try this one.. when using a Custom Headger (ItemID 25234 ) get 10 Siver Coin in 1 minute & 100 Silver Coin in 1 hour, when not to use custom headger only get a silver coin every minute. - script minutepoints -1,{ //--Start of the Script OnPCLoginEvent: attachnpctimer ""+strcharinfo(0)+""; initnpctimer; end; OnTimer30000: //Check if Vending (normal or @at) if(checkvending() >= 1 || checkchatting() == 1) { dispbottom "The minute points event stopped because you were vending / chatting. Please relog if you wish to start again."; stopnpctimer; end; } //Check if Idle getmapxy( .@map$, .@x, .@y, 0 ); if(@map$ == .@map$ && @x == .@x && @y == .@y) { set @afk, @afk + 1; } //If move timer resets else { set @afk, 0; } set @map$, .@map$; set @x, .@x; set @y, .@y; //Idle Check for 5 Minutes if(@afk == 5) { dispbottom "The minute points event stopped because you were idle for 5 minutes. Please relog if you wish to start again."; stopnpctimer; end; } end; OnTimer60000: set @minute, @minute + 1; //Check for 1 Minute dispbottom "Total Minute's Played: " + @minute; if( @minute == 1 ) // 10 Minutes { if(getequipid(EQI_HEAD_TOP)==25234) { // Received 10 Silver COin set .@point_amt, 10; getitem 675,.@point_amt; dispbottom "You received "+.@point_amt+" Silver Coin by staying ingame for 1 minute"; } else{ // Received only 1 Silver Coin when 25234 is not Equip. set .@point_amt, 1; getitem 675,.@point_amt; dispbottom "You received "+.@point_amt+" Silver Coin by staying ingame for 1 minute"; } } if( @minute == 60 ) { // 1 Hour set @minute,0; set @consecutive_hour, @consecutive_hour + 1; if(getequipid(EQI_HEAD_TOP)==25234) { set .@point_amt, 100; getitem 675,.@point_amt; } else{ //set .@point_amt, 50; //getitem 675,.@point_amt; } } // Check for 1 hours consecutive // Received More Rewards if(@consecutive_hour == 2) { // Set Rewards Here.. set @consecutive_hour, 0; } stopnpctimer; initnpctimer; end; } Make a Random Color. 12221,Megaphone_,Megaphone,2,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ setarray .@Rand$[0], "0x51FF00", "0x0D00FF", "0x00FFD5", "0xDD00F", "0xFF8C00", "0xD5FF00", "0xFF00F7", "0xFFFFFF", "0x000000"; input @Megaphone$; announce strcharinfo (0) + ":" + @Megaphone$, bc_all, .@Rand$[rand(9)]; end; },{},{}
  3. Texture Folder Sprite Folder Lua Files Idnum2desctable Idnum2displaynametable Idnum2resnametable All of the Above must be in "data" Folder what patcher youve used ?
  4. // Made by Light from MoonlightRO // Revised by Gerome // - can set Individual Prize for Special Poring and Normal poring //=================================================================== izlude,120,162,6 script Poring Summoner 99,{ set .npcname$, "[Poring Summoner]"; mes.npcname$; if(getgmlevel() < 99) { if(.Event) mes "There is no Poring Summon Event on now."; else { mes "There is a Poring Summon Event on now!"; mes "Location: " + .Map$; mes "Special Porings: " + .SpecialPorings[1]; mes "Normal Porings: " + .NormalPorings[0]; } close; } mes "Please customize the Poring Summon Event:"; Main: next; mes.npcname$; mes "--- information ---"; mes "^000099Special Poring^000000 prize is " + $SpclPoringPrizeQ + " " + getitemname($SpclPoringPrize); mes "And i can Summon " + $SpecialPorings + " of them in " + $map$ + "."; mes "^990000Normal Poring^000000 Prize is " + $NrmlPoringPrizeQ + " " + getitemname($NrmlPoringPrize); mes "And i can Summon " + $NormalPorings + " of them in " + $map$ + "."; mes "---------------------------"; switch( select("Special Poring Prize("+$SpclPoringPrizeQ+" - "+getitemname($SpclPoringPrize)+"):Normal Poring Prize("+$NrmlPoringPrizeQ+" - "+getitemname($NrmlPoringPrize)+"):Location(" +$map$+ "):Special Porings NO. to Summon[" + $SpecialPorings + "]:Normal Porings NO. to Summon[" + $NormalPorings + "]:Start Event:End Event") ) { case 1: next; mes.npcname$; mes "Which item would you like Special Porings to drop?"; mes "Please input the item ID:"; input $SpclPoringPrize; next; mes .npcname$; mes "How many " + getitemname($SpclPoringPrize) + " ?"; input $SpclPoringPrizeQ; goto Main; break; case 2: next; mes.npcname$; mes "Which item would you like Normal Porings to drop?"; mes "Please input the item ID:"; input $NrmlPoringPrize; next; mes .npcname$; mes "How many " + getitemname($NrmlPoringPrize) + " ?"; input $NrmlPoringPrizeQ; goto Main; break; case 3: next; mes.npcname$; mes "Which map would you like me to host this event?"; input $map$; goto Main; break; case 4: next; mes.npcname$; mes "How many Special Porings would you like me to summon?"; input $SpecialPorings; goto Main; break; case 5: next; mes.npcname$; mes "How many Normal Porings would you like me to summon?"; input $NormalPorings; goto Main; break; case 6: goto STARTEVENT; break; case 7: goto ENDINGEVENT; break; default: close; break; } STARTEVENT: mes "Starting the event now..."; OnClock0200: OnClock0400: OnClock0600: OnClock0800: OnClock1000: OnClock1200: OnClock1400: OnClock1600: OnClock1800: OnClock2000: OnClock2200: OnClock0000: set .Event,1; monster $map$,0,0,"Poring",1002,$SpecialPorings,"Poring Summoner::OnSpecialKill"; monster $map$,0,0,"Poring",1002,$NormalPorings,"Poring Summoner::OnNormalKill"; set .SpecialPorings[1],$SpecialPorings; set .NormalPorings[1],$NormalPorings; announce "The Poring Event has begun!",bc_all; sleep2 3000; announce "Location: " + $map$ + " Special Porings: " + $SpecialPorings + " Normal Porings: " + $NormalPorings,bc_all; close; end; ENDINGEVENT: mes "Ending the event now..."; OnClock0300: OnClock0500: OnClock0700: OnClock0900: OnClock1100: OnClock1300: OnClock1500: OnClock1700: OnClock1900: OnClock2100: OnClock2300: OnClock0100: goto EndEvent; OnSpecialKill: set .SpecialPorings[1],.SpecialPorings[1]-1; announce strcharinfo(0) + " got a " + getitemname($SpclPoringPrize) + "!",bc_map; sleep2 3000; getitem $SpclPoringPrize,$SpclPoringPrizeQ; goto PoringCount; end; OnNormalKill: set .NormalPorings[1],.NormalPorings[1]-1; announce strcharinfo(0) + " got a " + getitemname($NrmlPoringPrize) + "!",bc_map; sleep2 3000; getitem $NrmlPoringPrize,$NrmlPoringPrizeQ; goto PoringCount; end; PoringCount: announce "Special Porings: " + .SpecialPorings[1] + " || Normal Porings: " + .NormalPorings[1],bc_map; if(!.SpecialPorings[1]) goto EndEvent; end; EndEvent: if(.Event) announce "The Poring Summon Event is now over!",bc_all; killmonster $map$,"All"; set .Event,0; set .SpecialPorings[1],0; set .NormalPorings[1],0; close; } Tell me if theres Some bugz..
  5. try to see your char_athena.conf and map_athena.conf if bind_ip: 127.0.0.1 is uncommented.. if it is. .comment it to make it //bind_ip: 127.0.0.1
  6. By talking to the npc.. You can Set the location and Prize of the Event. i think you Edit the Script.. if you want to have different Prize for Special Porings and Normals you can add new user Input for the Item Id and Quantity prize for Normal porings and Special Porings..
  7. try this One! ordeal_1-2.gat mapflag nomemo ordeal_1-2.gat mapflag nobranch ordeal_1-2.gat mapflag noexp ordeal_1-2.gat mapflag nodrop ordeal_1-2.gat mapflag nochat ordeal_1-2.gat mapflag novending ordeal_1-2.gat mapflag nowarpto ordeal_1-2.gat mapflag noreturn ordeal_1-2.gat mapflag nosave //================================================== //Optional //================================================== //ordeal_1-2.gat mapflag noloot //disable so that after logging in your still in the Gold Room.. //ordeal_1-2.gat mapflag nosave SavePoint ordeal_1-2,0,0,0 script Gold Room -1,{ OnPCDieEvent: if (getmapxy(@mapname$,@mapx,@mapy,0) == -1) goto L_Finish; if (@mapname$ == "ordeal_1-2"){ dispbottom "Holy Shit you died!"; dispbottom "All of your gold will gone!"; set alive, 0; set paid, 0; set @gold,0; end; } L_Finish: close; OnNPCKillEvent: if (getmapxy(@mapname$,@mapx,@mapy,0) == -1) goto L_Finish; if (@mapname$ == "ordeal_1-2"){ set @gold,@gold+1; dispbottom "-|You got: 1 gold| - |Total: " +@gold+ " gold|-"; getitem 969,2; if (gold >= 115 && gold <= 149){ sc_start 33,240000,10; }else if (gold >= 150 && gold <= 199){ sc_start 5,240000,10; }else if(gold > 200){ percentheal -30,0; heal -50,0; } if(paid == 0){ mapannounce "ordeal_1-2"," :"+strcharinfo(0)+" is a cheater!",bc_map; dispbottom "Go out you bastard!"; warp "prontera", 173, 160; } end; L_HolyShit: dispbottom "Warning! you may die if you exceed."; misceffect 368; end; end; } } //=============================================== //warper //=============================================== ordeal_1-2,154,156,5 script Gold Miner 813,{ mes "[Gold Miner]"; mes "Want to go now?"; mes "Your gold is just "+@gold+" you can still get more."; next; goto wa; close; wa: mes "Want to go now?"; if(select("Yes", "No") == 1) { set alive,1; set @gold,0; warp "GM", 59, 48; } close; } prontera,165,158,5 script Gold Room Warperer#pront 813,{ set @name$,"prontera"; callfunc "goldmain"; end; } aldebaran,133,116,4 script Gold Room Warperer#alde 813,{ set @name$,"aldebaran"; callfunc "goldmain"; end; } alberta,23,247,4 script Gold Room Warperer#alb 813,{ set @name$,"alberta"; callfunc "goldmain"; end; } payon,151,182,4 script Gold Room Warperer#pay 813,{ set @name$,"payon"; callfunc "goldmain"; end; } geffen,115,74,4 script Gold Room Warperer#gef 813,{ set @name$,"geffen"; callfunc "goldmain"; end; } function script goldmain { if ( alive == 0){ set @gold,0; } mes "[Gold Room Warperer]"; mes "What do you want?"; next; menu "To the Gold Room("+getmapusers("ordeal_1-2")+")",-,"Nothing",C_s; mes "[Gold Room Warperer]"; mes "Hmm.."; mes "Would you like to go now to the gold room?"; if(select("Yes", "No") == 1) { if(@name$ == "prontera") savepoint "prontera",160,180; if(@name$ == "aldebaran") savepoint "aldebaran",166, 163; if(@name$ == "alberta") savepoint "alberta",16, 246; if(@name$ == "payon") savepoint "payon",160, 179; if(@name$ == "geffen") savepoint "geffen",124, 85; set alive, 1; set paid, 1; set @gold,0; warp "ordeal_1-2", 156, 155; } close; nomoney: mes "[Gold Room Warperer]"; mes "Sorry insufficient balance"; close; exchange: mes "[Gold Room Warperer]"; mes "Hmm...let me see"; mes "You have " +@gold+ "."; if (gold == 0) goto nogold; mes "Ok get this."; next; if (checkweight(969,gold) == 0) goto L_OverWeight; getitem 969, gold; set gold, 0; emotion e_gg; close; L_OverWeight: mes "[Gold Room Warperer]"; mes "Sorry your overweight"; close; nogold: close; C_s: close; } //======================================== //warps you may edit this one for your convenience //======================================== ordeal_1-2,73,265,0 warp ord500 1,1,prontera,173,160 ordeal_1-2,129,194,0 warp ord501 1,1,prontera,173,160 ordeal_1-2,130,194,0 warp ord502 1,1,prontera,173,160 ordeal_1-2,178,193,0 warp ord503 1,1,prontera,173,160 ordeal_1-2,290,130,0 warp ord504 1,1,prontera,173,160 ordeal_1-2,241,281,0 warp ord505 1,1,prontera,173,160 ordeal_1-2,66,25,0 warp ord506 1,1,prontera,173,160 ordeal_1-2,290,229,0 warp ord507 1,1,prontera,173,160 ordeal_1-2,179,94,0 warp ord5s08 1,1,prontera,173,160 //====================================== //mobs you may edit this as you want but don't change the mobs //===================================== ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Hunt For GOld 2074,20,40000,20000,0 //======================================
  8. //===== rAthena Script ======================================================= //= Unique Pvp //===== By: ================================================================== //= Gerome //===== Current Version: ===================================================== //= 1.0 //===== Compatible With: ===================================================== //= eAthena , rAthena //===== Description: ========================================================= //= When a Player Killed Another Player. He/she will Got a Reward //===== Topic ================================================================ //= http:// //============================================================================ - script UniquePvp -1,{ OnInit: /* ------------* | Config Start | /*-------------*/ setarray .unq_req_id[0], 671; // Required Item ID setarray .unq_req_quantity[0],10; // Required item Quantity setarray .unq_reward_id[0], 671; // Reward Item ID setarray .unq_reward_quantity[0],10; // Reward Item Quantity set .unq_gm_lvl,60; // If set to 60, GM lvl 60 and above will not get a Reward // "<map_name>" Put the name of the map to Enabled the Rewarding of Item // it will Also listed in the choices of the Room setarray .unq_pvpmap$[0], "pvp_y_8-4","guild_vs3"; // FORMAT: "<x-axis>,<y-axis>", set the x-Axis and y-Axis to 0 to make it Random setarray .unq_pvproom_location[0],"0,0","0,0"; // x-Axis and y-Axis location set .unq_trigger_all_maps,0; //don't Mind this one! /* ----------* | Config End | /*-----------*/ end; OnPCKillEvent: if ( getgmlevel() >= .unq_gm_lvl ) end; getmapxy .@map$, .@x, .@y, 0; for ( set .@x,0; .@x < getarraysize(.unq_pvpmap$); set .@x,.@x + 1 ) { if( .@map$ == .unq_pvpmap$[.@x] || .unq_trigger_all_maps == 1 ) { attachrid killedrid; if ( killerrid != getcharid(3)) { message strcharinfo(0),"You have been killed by "+ rid2name(killerrid); message rid2name(killerrid),"You just killed "+ strcharinfo(0); } for ( set .@x,0; .@x < getarraysize(.unq_req_id); set .@x,.@x + 1 ) { getitem .unq_req_id[.@x], .unq_req_quantity[.@x], getcharid( 3,rid2name(killerrid) ); } } } end; } /*------------* | PVP WARPER | /*------------*/ prontera,159,187,4 script PVP Warper#p1 108,{ set .variable_npc$,"UniquePvp"; set .npcname$,"[^990000Unique Pvp Warper^000000]"; // Npc Name mes .npcname$; mes "Hello " + strcharinfo(0); mes "I can warp you to PVP Room"; mes "But i need This Following item"; for ( set .@x,0; .@x < getarraysize( getvariableofnpc(.unq_req_id, .variable_npc$)); set .@x,.@x + 1 ) { mes $unq_req_quantity[.@x]+" ^FF0000"+getitemname( getvariableofnpc(.unq_req_id[.@x],.variable_npc$) )+"^000000"; } next; switch(select("Ok:Cancel")){ case 1: // Check Required Item for ( set .@x,0; .@x < getarraysize( getvariableofnpc(.unq_req_id, .variable_npc$) ); set .@x,.@x + 1 ) { if( countitem( getvariableofnpc(.unq_req_id[.@x], .variable_npc$)) < getvariableofnpc(.unq_req_quantity[.@x], .variable_npc$) ) { mes .npcname$; mes "you don't have the Required item"; next; goto L_EXIT; } } for ( set .@x,0; .@x < getarraysize( getvariableofnpc(.unq_pvpmap$, .variable_npc$) ); set .@x,.@x + 1 ) { set .unq_temp_pvpmap$[.@x], getvariableofnpc(.unq_pvpmap$[.@x], .variable_npc$) + "(" + getmapusers(getvariableofnpc(.unq_pvpmap$[.@x], .variable_npc$)) + ")"; } // Display Menu set @choosen_menu, select( implode(.unq_temp_pvpmap$, ":") ); set @choosen_menu, @choosen_menu - 1; // Delete Item for ( set .@x,0; .@x < getarraysize( getvariableofnpc(.unq_req_id,"UniquePvp") ); set .@x,.@x + 1 ) { delitem getvariableofnpc(.unq_req_id[.@x],.variable_npc$), getvariableofnpc(.unq_req_quantity[.@x], .variable_npc$); } // Send Player to Choosen map explode( @location$, getvariableofnpc(.pvproom$[@choosen_menu], .variable_npc$), "," ); warp getvariableofnpc(.unq_pvpmap$[@choosen_menu], .variable_npc$), atoi( @location$[0] ), atoi( @location$[1] ); end; break; // Break Case 1 case 2: goto L_EXIT; break; } L_EXIT: mes .npcname$; mes "Bye!"; close; } /*----------------* | DUPLICATES HERE | /*----------------*/ change mo lang ung Reward ID at Required ID at mga Quantity.. at map.. pati ang Intro ng Pvp Warper.."I can warp you to PVP Room"..
  9. File Name: FREE Thor Patcher Skin - PSD + CODED File Submitter: Gerome File Submitted: 03 Jan 2012 File Category: Client Resources I included a PSD File, so you can Edit the Server Name. Click here to download this file
  10. if you got error when you buy .. try to see here.. http://rathena.org/board/tracker/issue-5184-cash-shop/page__gopid__6236#entry6236
  11. open atcommand_athena.conf.. in trunk/conf/ FIND: // Warps you to predefined locations in major cities. go: 10,10 replace 10 to 0 0 = normal Player why? see below.. // The following settings in this file use the format "<command name>: level(@),level(#)". // They define the minimum GM level required to execute the associated command. // @ = atcommand. most work only on yourself. // # = charcommand. remote usage only. GMs will be able to use these on other players. // Adjust values as you like. Note that to activate commands for normal players, // (GM level 0), you also need to change the 'atcommand_gm_only' option to 'no'. // To completely disable a command, set its required GM level to 100. // Default levels were chosen so that they form the following hierarchy: // 0: Normal player // -> no commands accessible // 1: Super player // -> some minor advantage: storage, petrename, etc... // 10: Super player+ // -> more powerful commands, like mobsearch and changegm // 20: Mediator // -> GM commands for finding players and moving to them (also kicking them) // 40: Sub-GM // -> GM commands for basic tasks, no significant impact on other players // 50: Sub-GM+ // -> GM commands to spawn mobs and create guilds // 60: GM // -> almost all commands available (except administration and mass commands) // 80: GM Chief // -> can do anything, except administration commands // 99: Administrator // -> can do anything! // 100: Disabled // -> commands that will not be available to anyone
  12. Multi Currency Shop [ Version 3 ] by Emistry /* prontera,155,170,4 script Sample Script 780,{ set .npcname$,"^00007f[Coin Exchanger]^000000"; setarray .@menu$, "Bronze -> Zeny:Silver -> Zeny:Gold -> Zeny:Reloaded Coin -> Zeny"; setarray .@value$[0], "200","500000","1000000","2000000"; setarray .@coinid$[0], "673","675","671","675"; mes .npcname$; mes "Very well. Here is the list on how much each coin is worth:"; mes "^996633Bronze Coin^000000: 500,000m Zeny"; mes "^666666Silver Coin^000000: 1,000,000m Zeny"; mes "^FFFF66Gold Coin^000000: 2,000,000m Zeny"; mes "^99CCCCPoring Coin^000000: 50,000,000m Zeny"; mes "Tell me, what coin would you like to get?"; next; switch(select("Coin -> Zeny","Zeny -> Coin")){ case 1: // switch(select(.@menu$)){ case 1: mes .npcname$; mes "How many coins would you like to give up?"; set @mamount,0; input @mamount; if (@mamount < 0) goto L_No; if (@mamount == 0) goto L_No; if (countitem(.@coinid$[1]) < @mamount) goto L_No; set Zeny,(zeny + (.@value$[1]* @mamount)); delitem .@coinid$[1],@mamount; goto L_Thanks; dispbottom "obtained "+@mamount+"zeny"; break; case 2: mes .npcname$; mes "How many coins would you like to give up?"; set @mamount,0; input @mamount; if (@mamount < 0) goto L_No; if (@mamount == 0) goto L_No; if (countitem(.@coinid$[2]) < @mamount) goto L_No; set Zeny,(zeny + (.@value$[2]* @mamount)); delitem .@coinid$[2],@mamount; goto L_Thanks; dispbottom "obtained "+@mamount+"zeny"; break; break; case 3: mes .npcname$; mes "How many coins would you like to give up?"; set @mamount,0; input @mamount; if (@mamount < 0) goto L_No; if (@mamount == 0) goto L_No; if (countitem(.@coinid$[3]) < @mamount) goto L_No; set Zeny,(zeny + (.@value$[3]* @mamount)); delitem .@coinid$[3],@mamount; goto L_Thanks; dispbottom "obtained "+@mamount+"zeny"; break; break; case 4: mes .npcname$; mes "How many coins would you like to give up?"; set @mamount,0; input @mamount; if (@mamount < 0) goto L_No; if (@mamount == 0) goto L_No; if (countitem(.@coinid$[4]) < @mamount) goto L_No; set Zeny,(zeny + (.@value$[4]* @mamount)); delitem .@coinid$[4],@mamount; goto L_Thanks; dispbottom "obtained "+@mamount+"zeny"; break; break; } break; case 2: break; // } mes .npcname$; close; L_No: next; mes .npcname$; mes "Okay~ Bye!"; close2; cutin "", 255; close; end; L_Thanks: next; mes .npcname$; mes "Pleasure doing business with you."; close2; cutin "", 255; close; end; } ///===== By: ================================================== //= CalciumKid //= & Okira //===== Current Version: ===================================== //= 2.0 //===== Compatible With: ===================================== //= eAthena 1.0 Final + //===== Description: ========================================= //= quest Template //============================================================ prontera,197,186,4 script Blue Dragon Hat#0 150,{ //===== Config: ============================================== set .npcname$,"[^FF0000 Blue Dragon Hat ^000000]"; //Change to whatever you want the NPC name to be setarray .reqid[1],671,7446,7443,7451,7450; //Item IDs for the items, required for item checks setarray .reqn$[1],"Gold Coin","Blue_Bijou","Three-Headed_Dragon's_Head","Fire_Dragon_Scale","Skeletal_Armor_Piece"; //These are names of the required items, for the dialogue setarray .reqa[1],5000,200,20,100,100; //These are how many of each item is required set .prize,24086; //Change this to the Item ID of the item reward set .prizen$,"Blue Dragon Hat"; //Change this to the name of your reward set .prizea,1; //Change this to the amount of the prize item set .zeny,20000000; //Amount of zeny for quest (set to 0 to disable) L_QUEST: mes .npcname$; mes "Hah! Hello there "+strcharinfo(0); next; mes .npcname$; mes "I don't get many visitors, so I assume you're after my legendary ^FF0000"+.prizen$+"^000000?"; menu "Of course",-,"No way",L_EXIT; next; mes .npcname$; mes "Great! I love business. I can make you a ^FF0000"+.prizen$+"^000000, but only if you bring me the materials required."; next; mes .npcname$; mes "Would you like me to make one for you?"; menu "Yes",-,"No",L_EXIT; next; mes .npcname$; mes "I'll need the following:"; for (set .@x,1; .@x < getarraysize(.reqid); set .@x,.@x + 1) { mes .reqa[.@x]+" ^FF0000"+.reqn$[.@x]+"^000000"; } if (.zeny > 0) { mes .zeny+" ^FF0000Zeny^000000"; } next; mes .npcname$; mes "Do you have those items?"; menu "Yes",-,"No",L_EXIT; next; mes .npcname$; for (set .@x,1; .@x < getarraysize(.reqid); set .@x,.@x + 1) { if(countitem(.reqid[.@x]) >= .reqa[.@x]) {mes "You've got enough ^00FF00"+.reqn$[.@x]+"^000000";} else {mes "You need more ^FF0000"+.reqn$[.@x]+"^000000";} } if (.zeny > 0) { if (Zeny < .zeny) {mes "You're missing ^FF0000Zeny^000000";} else {mes "You've got enough ^00FF00Zeny^000000";} } next; mes .npcname$; mes "Would you like to complete the quest?"; menu "Yes please!",-,"No Thanks",L_EXIT; next; for (set .@x,1; .@x < getarraysize(.reqid); set .@x,.@x + 1) { if(countitem(.reqid[.@x]) < .reqa[.@x]) goto L_EXIT2; } if (.zeny > 0) { if (Zeny < .zeny) goto L_EXIT2; } mes .npcname$; mes "Brilliant! Fantastic! Here you go."; for (set .@x,1; .@x < getarraysize(.reqid); set .@x,.@x + 1) { delitem .reqid[.@x],.reqa[.@x]; } if (.zeny > 0) { set Zeny, Zeny - .zeny; } goto L_FINAL2; close; L_EXIT: next; mes .npcname$; mes "Eh. I don't need you either. Bah!"; close; L_EXIT2: next; mes .npcname$; mes "I'm sorry, you don't have enough!"; close; L_FINAL2: next; mes .npcname$; mes "Brilliant! Fantastic! Here you go."; getitem .prize,1; close; } */ GM,45,56,4 script Vending Area 855,{ warp "Vending",50,50; OnInit: while(1) { delwaitingroom; waitingroom "Vending Area",0; sleep 1000; } } // Fixed some Bug. [ By Goddameit ] // Leave this alone... - shop Emistry_Shop -1,512:1 prontera,155,181,5 script Sample 757,{ // NPC Name set .name$,"[^FF0000 Emistry Shop ^000000]"; mes .name$; mes "Each Shop Buy Item Using Different Items."; mes "Which shop you like to look at it"; next; deletearray .ItemLists[0],getarraysize( .ItemLists ); deletearray .ItemPrice[0],getarraysize( .ItemPrice ); npcshopitem "Emistry_Shop",512,1; select("Shop 1:Shop 2:Shop 3"); callsub CaseCH,@menu; npcshopdelitem "Emistry_Shop",512; for(set .@i,0; .@i < getarraysize( .ItemLists ); set .@i,.@i+1) npcshopadditem "Emistry_Shop",.ItemLists[.@i],.ItemPrice[.@i]; mes "Okay...wait awhile"; mes "This Shop use ^FF0000"+getitemname( @Currency )+"^000000 to buy the Items."; close2; callsub CaseCH,@menu; callshop "Emistry_Shop",1; npcshopattach "Emistry_Shop"; dispbottom "You currently have "+countitem( @Currency )+" "+getitemname( @Currency )+"."; end; OnBuyItem: callsub CaseCH,@menu; for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1) for(set @j,0; @j < getarraysize( .ItemLists ); set @j,@j+1) if( .ItemLists[@j] == @bought_nameid[@i] ) set @TotalCost,@TotalCost + ( .ItemPrice[@j] * @bought_quantity[@i] ); if( countitem( @Currency ) < @TotalCost ) { for( set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1 ) { mes "Item : ^0000FF"+getitemname( @bought_nameid[@i] )+"^000000"; mes "Quantity : ^0000FF"+@bought_quantity[@i]+"^000000"; } mes "^00FF00____________________________^000000"; mes "Total Cost : ^0000FF"+@TotalCost+" x "+getitemname( @Currency )+"^000000"; mes "^00FF00____________________________^000000"; mes "[ ^FF0000X^000000 ] You do not have enough ^0000FF"+getitemname( @Currency )+"^000000 to purchase this."; } else { for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1) { getitem @bought_nameid[@i],@bought_quantity[@i]; message strcharinfo(0),"Purchased "+getitemname( @bought_nameid[@i] ); } delitem @Currency,@TotalCost; mes "Thank you for shopping."; mes "You now have "+countitem( @Currency )+" "+getitemname( @Currency )+" left."; } set @TotalCost,0; deletearray @bought_nameid[0],getarraysize( @bought_nameid ); deletearray @bought_quantity[0],getarraysize( @bought_quantity ); close; CaseCH: switch(getarg(0)) { Case 1: // Item Currency set @Currency,7227; // Item ID Lists setarray .ItemLists[0],2301,2302,2303,2304,2305,2306; // Item Price setarray .ItemPrice[0],1,2,3,4,5,6; return; Case 2: // Item Currency set @Currency,7539; // Item ID Lists setarray .ItemLists[0],2301,2302,2303,2304,2305,2306; // Item Price setarray .ItemPrice[0],1,2,3,4,5,6; return; Case 3: // Item Currency set @Currency,909; // Item ID Lists setarray .ItemLists[0],2301,2302,2303,2304,2305,2306; // Item Price setarray .ItemPrice[0],1,2,3,4,5,6; return; // Case 4,5,6.....etc... default: mes "Wrong Selection / Configurations"; close; } } First change thename of the npc to whatever you want. set .name$,"[^FF0000 Emistry Shop ^000000]"; then the name of your shop select("Shop 1:Shop 2:Shop 3"); and Edit this one.. ito ung mga Shop.. CaseCH: switch(getarg(0)) { // Shop 1 Case 1: // Item Currency set @Currency,7227; // Item ID Lists setarray .ItemLists[0],2301,2302,2303,2304,2305,2306; // Item Price setarray .ItemPrice[0],1,2,3,4,5,6; return; // Shop 2 Case 2: // Item Currency set @Currency,7539; // Item ID Lists setarray .ItemLists[0],2301,2302,2303,2304,2305,2306; // Item Price setarray .ItemPrice[0],1,2,3,4,5,6; return; // Shop 3 Case 3: // Item Currency set @Currency,909; // Item ID Lists setarray .ItemLists[0],2301,2302,2303,2304,2305,2306; // Item Price setarray .ItemPrice[0],1,2,3,4,5,6; return; // Case 4,5,6.....etc... for Ex.sa Shop1.. // Shop 1 Case 1: replace 7227 to Astro Coin 29999( 7227 ay ang pangbili ) // Item Currency set @Currency,7227; ito naman ang mga item na binibinta.. // Item ID Lists setarray .ItemLists[0],2301,2302,2303,2304,2305,2306; at ang Price nila ..so 2301 is 1 (Astro Coin),,2302 is 2 (Astro Coin).... // Item Price setarray .ItemPrice[0],1,2,3,4,5,6; same sa Shop2 and so on.. if mag aad ka pa ng shop Edit this one select("Shop 1:Shop 2:Shop 3"); select("Shop 1:Shop 2:Shop 3:Shop 4"); then add case 4 sa CaseCH: Case 4: //SHOP 4 // Item Currency set @Currency,909; // Item ID Lists setarray .ItemLists[0],2301,2302,2303,2304,2305,2306; // Item Price setarray .ItemPrice[0],1,2,3,4,5,6; return;
  13. atcommand.c FInd this line ACMD_FUNC(go) { int i; int town; char map_name[MAP_NAME_LENGTH]; int m; int xcoordinate = rand(); int ycoordinate = rand(); const struct { char map[MAP_NAME_LENGTH]; int x, y; } data[] = { { MAP_PRONTERA, 156, 191 }, // 0=Prontera { MAP_MORROC, 156, 93 }, // 1=Morroc { MAP_GEFFEN, 119, 59 }, // 2=Geffen { MAP_PAYON, 162, 233 }, // 3=Payon { MAP_ALBERTA, 192, 147 }, // 4=Alberta { MAP_IZLUDE, 128, 114 }, // 5=Izlude { MAP_ALDEBARAN, 140, 131 }, // 6=Al de Baran { MAP_LUTIE, 147, 134 }, // 7=Lutie { MAP_COMODO, 209, 143 }, // 8=Comodo { MAP_YUNO, 157, 51 }, // 9=Yuno { MAP_AMATSU, 198, 84 }, // 10=Amatsu { MAP_GONRYUN, 160, 120 }, // 11=Gonryun { MAP_UMBALA, 89, 157 }, // 12=Umbala { MAP_NIFLHEIM, 21, 153 }, // 13=Niflheim { MAP_LOUYANG, 217, 40 }, // 14=Louyang { MAP_NOVICE, 53, 111 }, // 15=Training Grounds { MAP_JAIL, 23, 61 }, // 16=Prison { MAP_JAWAII, 249, 127 }, // 17=Jawaii { MAP_AYOTHAYA, 151, 117 }, // 18=Ayothaya { MAP_EINBROCH, 64, 200 }, // 19=Einbroch { MAP_LIGHTHALZEN, 158, 92 }, // 20=Lighthalzen { MAP_EINBECH, 70, 95 }, // 21=Einbech { MAP_HUGEL, 96, 145 }, // 22=Hugel { MAP_RACHEL, 130, 110 }, // 23=Rachel { MAP_VEINS, 216, 123 }, // 24=Veins { MAP_MOSCOVIA, 223, 184 }, // 25=Moscovia }; Replace with this one: ACMD_FUNC(go) { int i; int town; char map_name[MAP_NAME_LENGTH]; int m; int xcoordinate = rand(); int ycoordinate = rand(); const struct { char map[MAP_NAME_LENGTH]; int x, y; } data[] = { { MAP_PRONTERA, xcoordinate, ycoordinate }, // 0=Prontera { MAP_MORROC, xcoordinate, ycoordinate }, // 1=Morroc { MAP_GEFFEN, xcoordinate, ycoordinate }, // 2=Geffen { MAP_PAYON, xcoordinate, ycoordinate }, // 3=Payon { MAP_ALBERTA, xcoordinate, ycoordinate }, // 4=Alberta { MAP_IZLUDE, xcoordinate, ycoordinate }, // 5=Izlude { MAP_ALDEBARAN, xcoordinate, ycoordinate }, // 6=Al de Baran { MAP_LUTIE, xcoordinate, ycoordinate }, // 7=Lutie { MAP_COMODO, xcoordinate, ycoordinate }, // 8=Comodo { MAP_YUNO, xcoordinate, ycoordinate }, // 9=Yuno { MAP_AMATSU, xcoordinate, ycoordinate }, // 10=Amatsu { MAP_GONRYUN, xcoordinate, ycoordinate }, // 11=Gonryun { MAP_UMBALA, xcoordinate, ycoordinate }, // 12=Umbala { MAP_NIFLHEIM, xcoordinate, ycoordinate }, // 13=Niflheim { MAP_LOUYANG, xcoordinate, ycoordinate }, // 14=Louyang { MAP_NOVICE, xcoordinate, ycoordinate }, // 15=Training Grounds { MAP_JAIL, xcoordinate, ycoordinate }, // 16=Prison { MAP_JAWAII, xcoordinate, ycoordinate }, // 17=Jawaii { MAP_AYOTHAYA, xcoordinate, ycoordinate }, // 18=Ayothaya { MAP_EINBROCH, xcoordinate, ycoordinate }, // 19=Einbroch { MAP_LIGHTHALZEN, xcoordinate, ycoordinate }, // 20=Lighthalzen { MAP_EINBECH, xcoordinate, ycoordinate }, // 21=Einbech { MAP_HUGEL, xcoordinate, ycoordinate }, // 22=Hugel { MAP_RACHEL, xcoordinate, ycoordinate }, // 23=Rachel { MAP_VEINS, xcoordinate, ycoordinate }, // 24=Veins { MAP_MOSCOVIA, xcoordinate, ycoordinate }, // 25=Moscovia }; Then COMPILE!!
  14. pg bumilii ng megs ito ang mg rurun.. if(@bought_nameid[@i] == 2629){ if(countitem(29999) >= 50*@bought_quantity[@i]){ delitem 29999,50*@bought_quantity[@i]; getitem 2629, @bought_quantity[@i]; } else { dispbottom "Donation Shop : Insufficient Astro Coins!"; end; } } tlgang 50 lang sya.. cause if(countitem(29999) >= 50*@bought_quantity[@i]){ bibilangin nya kung higit paba or equal sa 50 *@bought_quantity[@i] (@bought_quantity[@i] = Ilan ang binili mo) ang AC na nasa Inventory mo.. if TRUE delitem 29999,[b]50[/b]*@bought_quantity[@i]; getitem 2629, @bought_quantity[@i]; then 29999(AC) ay ma babawasan ng 50**@bought_quantity[@i] ( if isa lang ang binili , bawas 50.. if dalawa 100) so make 50 to 200.. and everytime mg add ka ng item mg aad ka rn ng countitem at dapat tugma since AC ang dapat pm bili.. use Multi Currency Shop [ Version 3 ] by Emistry.. mas madali yun.. http://rathena.org/board/topic/53320-%E2%99%A5-e-m-i-s-t-r-y-s-s-c-r-i-p-t-s-%E2%99%A5/
  15. Example.. http://portforward.com/english/routers/port_forwarding/ZyXEL/ZyAIRG-2000/Ragnarok_Online_Server.htm
×
×
  • Create New...