Jump to content

rakuzas

Members
  • Posts

    459
  • Joined

  • Last visited

Everything posted by rakuzas

  1. Hmmm.. can make it autorun without need GM activate it?
  2. This is from original one : //===== rAthena Script ======================================= //= Euphy's Quest Shop //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.6a //===== Compatible With: ===================================== //= rAthena SVN r16862+ //===== Description: ========================================= //= A dynamic quest shop based on Lunar's, with easier config. //= Includes support for multiple shops & cashpoints. //= Item Preview script by ToastOfDoom. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.2 Added category support. //= 1.3 More options and fixes. //= 1.4 Added debug settings. //= 1.5 Replaced categories with shop IDs. //= 1.6 Added support for purchasing stackables. //= 1.6a Added support for previewing costumes and robes. //============================================================ // Shop NPCs -- supplying no argument displays entire menu. // callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}}; //============================================================ prontera,142,172,5 script Recorn's Customs#1 998,{ callfunc "qshop"; } // Script Core //============================================================ - script quest_shop -1,{ function Add; function Chk; function Slot; function A_An; OnInit: freeloop(1); // ----------------------------------------------------------- // Basic shop settings. // ----------------------------------------------------------- set .Announce,1; // Announce quest completion? (1: yes / 0: no) set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never) set .ShowID,0; // Show item IDs? (1: yes / 0: no) set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no) set .MaxStack,100; // Max number of quest items purchased at one time. // ----------------------------------------------------------- // Points variable -- optional quest requirement. // setarray .Points$[0],"<variable name>","<display name>"; // ----------------------------------------------------------- setarray .Points$[0],"#CASHPOINTS","Cash Points"; // ----------------------------------------------------------- // Shop IDs -- to add shops, copy dummy data at bottom of file. // setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...}; // ----------------------------------------------------------- setarray .Shops$[1],"Headgears","Wings","Weapons","Other"; // ----------------------------------------------------------- // Quest items -- do NOT use a reward item more than once! // Add(<shop ID>,<reward ID>,<reward amount>, // <Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // ----------------------------------------------------------- Add(1,5022,1,1000000,0,7086,1,969,10,999,40,1003,50,984,2); Add(1,5032,1,100000,0,1059,250,2221,1,2227,1,7063,600); Add(1,5027,1,100000,0,2252,1,1036,400,7001,50,4052,1); Add(1,5045,1,100000,0,2252,1,1054,450,943,200); Add(1,5372,1,30000000,0,5058,1,7166,1000,982,10); Add(1,18600,1,45000000,0,5016,1,2747,5,4257,1,4195,1,983,10); Add(1,5457,1,20000000,0,10007,10,1234,1,2214,1,982,10); add(1,5442,1,5000000,0,7441,10,1034,100,5052,1,978,1); add(1,5495,1,15000000,0,12028,10,1468,1,996,50,7162,100,615,5); add(1,5293,1,20000000,0,7134,100,577,100,523,100,12085,10,544,10); add(1,5401,1,20000000,0,2276,1,7799,10,734,100,4412,1); add(1,5325,1,35000000,0,5104,1,5034,1,4021,1,7095,500,1971,5); add(1,5362,1,15000000,0,4230,1,7157,200,7156,400,7117,250); add(1,18505,1,5000000,0,1615,1,932,300,628,100); add(1,5305,1,30000000,0,2287,10,5019,1,4337,1,7110,500); add(1,5574,1,10000000,0,7315,100,7201,150,738,1); Add(2,26002,1,0,0,7063,1000,2254,1,2743,2,674,5); Add(2,26003,1,0,0,7063,1000,2255,1,2680,2,674,5); Add(3,1224,1,0,0,7297,30,969,10,999,50,714,10); Add(3,1225,1,0,0,7292,30,969,10,999,50,714,10); Add(4,531,1,3,0,512,1,713,1); Add(4,532,1,3,0,513,1,713,1); Add(4,533,1,3,0,514,1,713,1); Add(4,534,1,3,0,515,1,713,1); // ----------------------------------------------------------- freeloop(0); set .menu$,""; for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { set .menu$, .menu$+.Shops$[.@i]+":"; npcshopdelitem "qshop"+.@i,909; } end; OnMenu: set .@size, getarraysize(@i); if (!.@size) set .@i, select(.menu$); else if (.@size == 1) set .@i, @i[0]; else { for(set .@j,0; .@j<.@size; set .@j,.@j+1) set .@menu$, .@menu$+.Shops$[@i[.@j]]+":"; set .@i, @i[select(.@menu$)-1]; } deletearray @i[0],getarraysize(@i); if (.Shops$[.@i] == "") { message strcharinfo(0),"An error has occurred."; end; } dispbottom "Select one item at a time."; callshop "qshop"+.@i,1; npcshopattach "qshop"+.@i; end; OnBuyItem: // .@q[] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... } setarray .@q[0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]); copyarray .@q[3],getd(".q_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+.@q[0])); set .@q[2],.@q[1]*.@q[3]; if (!.@q[2] || .@q[2] > 30000) { message strcharinfo(0),"You can't purchase that many "+getitemname(.@q[0])+"."; end; } mes "[Sifu Recorn]"; mes "Reward: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000"; mes "Requirements:"; if (.@q[4]) mes " > "+Chk(Zeny,.@q[4]*.@q[1])+(.@q[4]*.@q[1])+" Zeny^000000"; if (.@q[5]) mes " > "+Chk(getd(.Points$[0]),.@q[5]*.@q[1])+(.@q[5]*.@q[1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+(.@q[5]*.@q[1])+")^000000"; if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000"; next; setarray @qe[1], getiteminfo(.@q[0],5), getiteminfo(.@q[0],11); if (@qe[2] > 0 && ((@qe[1] & 1) || (@qe[1] & 256) || (@qe[1] & 512) || (@qe[1] & 1024) || (@qe[1] & 2048) || (@qe[1] & 4096) || (@qe[1] & 4) || (@qe[1] & 8192))) set .@preview,1; addtimer 1000, strnpcinfo(0)+"::OnEnd"; while(1) { switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[7])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { case 1: if (@qe[0]) { mes "[Sifu Recorn]"; mes "You're missing one or more quest requirements."; close; } if (!checkweight(.@q[0],.@q[2])) { mes "[Sifu Recorn]"; mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if (.@q[4]) set Zeny, Zeny-(.@q[4]*.@q[1]); if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]); if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) delitem .@q[.@i],.@q[.@i+1]*.@q[1]; getitem .@q[0],.@q[2]; if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):A_An(getitemname(.@q[0])))+"!",0; specialeffect2 699; close; case 2: setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1; if ((@qe[1] & 1) || (@qe[1] & 4096)) changelook LOOK_HEAD_BOTTOM, @qe[2]; else if ((@qe[1] & 256) || (@qe[1] & 1024)) changelook LOOK_HEAD_TOP, @qe[2]; else if ((@qe[1] & 512) || (@qe[1] & 2048)) changelook LOOK_HEAD_MID, @qe[2]; else if ((@qe[1] & 4) || (@qe[1] & 8192)) changelook LOOK_ROBE, @qe[2]; break; case 3: close; } } OnEnd: if (@qe[7]) { changelook LOOK_HEAD_BOTTOM, @qe[3]; changelook LOOK_HEAD_TOP, @qe[4]; changelook LOOK_HEAD_MID, @qe[5]; changelook LOOK_ROBE, @qe[6]; } deletearray @qe[0],8; end; function Add { if (getitemname(getarg(1)) == "null") { debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; } setarray .@j[0],getarg(2),getarg(3),getarg(4); for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) { if (getitemname(getarg(.@i)) == "null") { debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped)."; return; } else setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1); } copyarray getd(".q_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j); npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); return; } function Chk { if (getarg(0) < getarg(1)) { set @qe[0],1; return "^FF0000"; } else return "^00FF00"; } function Slot { set .@s$,getitemname(getarg(0)); switch(.ShowSlot) { case 1: if (!getitemslots(getarg(0))) return .@s$; case 2: if (getiteminfo(getarg(0),2) == 4 || getiteminfo(getarg(0),2) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]"; default: return .@s$; } } function A_An { setarray .@A$[0],"a","e","i","o","u"; set .@B$, "_"+getarg(0); for(set .@i,0; .@i<5; set .@i,.@i+1) if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0); return "a "+getarg(0); } } function script qshop { deletearray @i[0],getarraysize(@i); for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set @i[.@i],getarg(.@i); doevent "quest_shop::OnMenu"; end; } // Dummy shop data -- copy as needed. //============================================================ - shop qshop1 -1,909:-1 - shop qshop2 -1,909:-1 - shop qshop3 -1,909:-1 - shop qshop4 -1,909:-1 - shop qshop5 -1,909:-1 And this is the edited one.. But at different location and items.. //= Euphy's Quest Shop //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.6a //===== Compatible With: ===================================== //= rAthena SVN r16862+ //===== Description: ========================================= //= A dynamic quest shop based on Lunar's, with easier config. //= Includes support for multiple shops & cashpoints. //= Item Preview script by ToastOfDoom. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.2 Added category support. //= 1.3 More options and fixes. //= 1.4 Added debug settings. //= 1.5 Replaced categories with shop IDs. //= 1.6 Added support for purchasing stackables. //= 1.6a Added support for previewing costumes and robes. //============================================================ // Shop NPCs -- supplying no argument displays entire menu. // callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}}; //============================================================ ra_temple,144,190,11 script Primelda's Headgear Machine#1 562,{ callfunc "qshop"; } // Script Core //============================================================ - script quest_shop -1,{ function Add; function Chk; function Slot; function A_An; OnInit: freeloop(1); // ----------------------------------------------------------- // Basic shop settings. // ----------------------------------------------------------- set .Announce,1; // Announce quest completion? (1: yes / 0: no) set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never) set .ShowID,0; // Show item IDs? (1: yes / 0: no) set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no) set .MaxStack,100; // Max number of quest items purchased at one time. // ----------------------------------------------------------- // Points variable -- optional quest requirement. // setarray .Points$[0],"<variable name>","<display name>"; // ----------------------------------------------------------- setarray .Points$[0],"#CASHPOINTS","Cash Points"; // ----------------------------------------------------------- // Shop IDs -- to add shops, copy dummy data at bottom of file. // setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...}; // ----------------------------------------------------------- setarray .Shops$[1],"Cute Headgears"; // ----------------------------------------------------------- // Quest items -- do NOT use a reward item more than once! // Add(<shop ID>,<reward ID>,<reward amount>, // <Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // ----------------------------------------------------------- Add(1,5133,1,0,0,671,1,4150,1,7107,300,7106,500); Add(1,5151,1,0,0,671,1,5001,1,7319,200,4001,2); Add(1,5182,1,0,0,671,1,4023,1,920,400,9010,1); Add(1,5454,1,0,0,671,1,4029,1,7030,300,9010,1); Add(1,5186,1,0,0,671,1,4280,1,1032,300,12002,20); Add(1,5455,1,0,0,671,1,4280,1,1033,300,12002,20); Add(1,5129,1,0,0,671,1,4015,1,574,30,916,100,7203,100); Add(1,5183,1,0,0,671,1,1049,1,574,30,916,100,7203,100); Add(1,5020,1,0,0,671,1,2210,1,1059,300,7166,300); Add(1,5387,1,0,0,671,1,2213,1,1059,300,7165,300); Add(1,5099,1,0,0,671,1,2213,1,4195,1,6394,100,980,1); Add(1,5185,1,0,0,671,1,7298,300,706,10,7198,300,2270,1); Add(1,5187,1,0,0,671,1,5085,1,7213,300,975,5); Add(1,5776,1,0,0,671,1,994,10,7097,500,7098,500,7451,1); Add(1,5297,1,0,0,671,1,2254,1,2282,1,7063,200,6394,100); Add(1,5456,1,0,0,671,1,2227,1,582,250,568,250,976,1); Add(1,5317,1,0,0,671,1,2227,1,995,10,544,100,1249,1); Add(1,5382,1,0,0,671,1,2244,1,5083,1,530,100,538,100); Add(1,5339,1,0,0,671,1,2272,1,7151,50,7111,50); Add(1,5336,1,0,0,671,1,2272,1,7151,50,7111,50); Add(1,5337,1,0,0,671,1,2272,1,7151,50,7111,50); Add(1,5338,1,0,0,671,1,2272,1,7151,50,7111,50); Add(1,5346,1,0,0,671,1,2272,1,7151,50,7111,50); Add(1,5474,1,0,0,671,1,2272,1,7151,50,7111,50,983,1); // ----------------------------------------------------------- freeloop(0); set .menu$,""; for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { set .menu$, .menu$+.Shops$[.@i]+":"; npcshopdelitem "qshop"+.@i,909; } end; OnMenu: set .@size, getarraysize(@i); if (!.@size) set .@i, select(.menu$); else if (.@size == 1) set .@i, @i[0]; else { for(set .@j,0; .@j<.@size; set .@j,.@j+1) set .@menu$, .@menu$+.Shops$[@i[.@j]]+":"; set .@i, @i[select(.@menu$)-1]; } deletearray @i[0],getarraysize(@i); if (.Shops$[.@i] == "") { message strcharinfo(0),"An error has occurred."; end; } dispbottom "Select one item at a time."; callshop "qshop"+.@i,1; npcshopattach "qshop"+.@i; end; OnBuyItem: // .@q[] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... } setarray .@q[0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]); copyarray .@q[3],getd(".q_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+.@q[0])); set .@q[2],.@q[1]*.@q[3]; if (!.@q[2] || .@q[2] > 30000) { message strcharinfo(0),"You can't purchase that many "+getitemname(.@q[0])+"."; end; } mes "[Quest Shop]"; mes "Reward: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000"; mes "Requirements:"; if (.@q[4]) mes " > "+Chk(Zeny,.@q[4]*.@q[1])+(.@q[4]*.@q[1])+" Zeny^000000"; if (.@q[5]) mes " > "+Chk(getd(.Points$[0]),.@q[5]*.@q[1])+(.@q[5]*.@q[1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+(.@q[5]*.@q[1])+")^000000"; if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000"; next; setarray @qe[1], getiteminfo(.@q[0],5), getiteminfo(.@q[0],11); if (@qe[2] > 0 && ((@qe[1] & 1) || (@qe[1] & 256) || (@qe[1] & 512) || (@qe[1] & 1024) || (@qe[1] & 2048) || (@qe[1] & 4096) || (@qe[1] & 4) || (@qe[1] & 8192))) set .@preview,1; addtimer 1000, strnpcinfo(0)+"::OnEnd"; while(1) { switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[7])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { case 1: if (@qe[0]) { mes "[Quest Shop]"; mes "You're missing one or more quest requirements."; close; } if (!checkweight(.@q[0],.@q[2])) { mes "[Quest Shop]"; mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if (.@q[4]) set Zeny, Zeny-(.@q[4]*.@q[1]); if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]); if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) delitem .@q[.@i],.@q[.@i+1]*.@q[1]; getitem .@q[0],.@q[2]; if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):A_An(getitemname(.@q[0])))+"!",0; specialeffect2 699; close; case 2: setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1; if ((@qe[1] & 1) || (@qe[1] & 4096)) changelook LOOK_HEAD_BOTTOM, @qe[2]; else if ((@qe[1] & 256) || (@qe[1] & 1024)) changelook LOOK_HEAD_TOP, @qe[2]; else if ((@qe[1] & 512) || (@qe[1] & 2048)) changelook LOOK_HEAD_MID, @qe[2]; else if ((@qe[1] & 4) || (@qe[1] & 8192)) changelook LOOK_ROBE, @qe[2]; break; case 3: close; } } OnEnd: if (@qe[7]) { changelook LOOK_HEAD_BOTTOM, @qe[3]; changelook LOOK_HEAD_TOP, @qe[4]; changelook LOOK_HEAD_MID, @qe[5]; changelook LOOK_ROBE, @qe[6]; } deletearray @qe[0],8; end; function Add { if (getitemname(getarg(1)) == "null") { debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; } setarray .@j[0],getarg(2),getarg(3),getarg(4); for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) { if (getitemname(getarg(.@i)) == "null") { debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped)."; return; } else setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1); } copyarray getd(".q_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j); npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); return; } function Chk { if (getarg(0) < getarg(1)) { set @qe[0],1; return "^FF0000"; } else return "^00FF00"; } function Slot { set .@s$,getitemname(getarg(0)); switch(.ShowSlot) { case 1: if (!getitemslots(getarg(0))) return .@s$; case 2: if (getiteminfo(getarg(0),2) == 4 || getiteminfo(getarg(0),2) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]"; default: return .@s$; } } function A_An { setarray .@A$[0],"a","e","i","o","u"; set .@B$, "_"+getarg(0); for(set .@i,0; .@i<5; set .@i,.@i+1) if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0); return "a "+getarg(0); }
  3. Hello, today im make new NPC by make new npc name and coordinate.. Then, all item duplicate.. Is it possible to make new NPC for this quest shop script? I want to make multiple NPC with different location and quest item.. But for now.. Its duplicate or cannot talk at all.. Hmmm...
  4. Yes.. But not totally disable that NPC.. But some room.. Right now.. Im using Zombie PVP script.. But it use Theta Room #1.. So i want disable that room just for Zombie PVP Script use.. How to do that?
  5. Hello, i tried to // the room and npc.. But at the MVP Room, like Theta.. Its still warp us in that remove room? Or how to exactly remove some room in that MVP_Warper? Thanks..
  6. Hmmm.. So.. Its ok then.. I will just remove the GM location.. Thanks for making this work! Thank you so much~
  7. Here is the working code : ra_temple,110,159,5 script GM Online Lists 856,{ mes "Staffs Online Lists : ^FF0000"+getarraysize( .GM_Name$ )+"^000000 Staffs"; mes "^0000FF_____________________________^000000"; for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ){ getmapxy( .Map$,.x,.y,0,.GM_Name$[.@i] ); mes "[ ^63D1F4"+.GM_Level$[.@i]+"^000000 ] ^FF0000@ ^0000FF"+.GM_Name$[.@i]+"^000000"; mes "Location : ^0000FF"+.Map$+"^000000"; mes "^0000FF_____________________________^000000"; } close; OnInit: set .MinGMLevel,1; // Min. GM Level to Show in Online Lists end; OnPCLoginEvent: set .@gmlevel,getgmlevel(); if( .@gmlevel < .MinGMLevel ) end; set .@size,getarraysize( .GM_Name$ ); set .GM_Name$[ .@size ],strcharinfo(0); if( .@gmlevel < 10 ) set .GM_Level$[ .@size ],"Level 1 GM"; else if( .@gmlevel < 20 ) set .GM_Level$[ .@size ],"Level 2 GM"; else if( .@gmlevel < 30 ) set .GM_Level$[ .@size ],"Level 3 GM"; else if( .@gmlevel < 40 ) set .GM_Level$[ .@size ],"Level 4 GM"; else set .GM_Level$[ .@size ],"ADMIN"; end; OnPCLogoutEvent: if( getgmlevel() < .MinGMLevel ) end; for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ) if( strcharinfo(0) == .GM_Name$[.@i] ){ deletearray .GM_Name$[.@i],1; deletearray .GM_Level$[.@i],1; end; } end; } // Special Thanks to Emistry for nice script and guide to make it works! // Edit some script to make it works on Milenia Ragnarok Online by Rakuzas. And.. Can make the map read as other name? not the default map name like that? Thanks..
  8. prontera,155,171,5 script GM Online Lists 436,{ mes "Staffs Online Lists : ^FF0000"+getarraysize( .GM_Name$ )+"^000000 Staffs"; mes "^0000FF_____________________________^000000"; for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ){ getmapxy( .Map$,.x,.y,0,.GM_Name$[.@i] ); mes "[ Lv ^63D1F4"+.GM_Level[.@i]+"^000000 ] ^FF0000@ ^0000FF"+.GM_Name$[.@i]+"^000000"; mes "Location : ^0000FF"+.Map$+"^000000"; mes "^0000FF_____________________________^000000"; } close; OnInit: set .MinGMLevel,60; // Min. GM Level to Show in Online Lists end; OnPCLoginEvent: set .@gmlevel,getgmlevel(); if( .@gmlevel < .MinGMLevel ) end; set .@size,getarraysize( .GM_Name$ ); set .GM_Name$[ .@size ],strcharinfo(0); if( .@gmlevel < 10 ) set .GM_Level$[ .@size ],"Level 1 GM"; else if( .@gmlevel < 20 ) set .GM_Level$[ .@size ],"Level 2 GM"; else if( .@gmlevel < 30 ) set .GM_Level$[ .@size ],"Level 3 GM"; else if( .@gmlevel < 40 ) set .GM_Level$[ .@size ],"Level 4 GM"; else set .GM_Level$[ .@size ],"ADMIN"; end; OnPCLogoutEvent: if( getgmlevel() < .MinGMLevel ) end; for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ){ if( strcharinfo(0) != .GM_Name$[.@i] ) continue; deletearray .GM_Name$[.@i],1; deletearray .GM_Level[.@i],1; end; } end; } im using this script now its shows GM online.. but still not shows Admin.. I mean.. Level 99 GM still shows LVL0.. And.. Can change the map? i mean i will read like from orcs_dun01 into the name description like Orcs Dungeon 01 or like ra_temple into Rachel Temple.. Hmm.. If not, i will just remove its then..
  9. i dont know if im set it wrong.. But right now no GM online shows and the GM already relogin.. Here is the script.. ra_temple,110,159,5 script GM Online Lists 856,{ mes "Staffs Online Lists : ^FF0000"+getarraysize( .GM_Name$ )+"^000000 Staffs"; mes "^0000FF_____________________________^000000"; for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ){ getmapxy( .Map$,.x,.y,0,.GM_Name$[.@i] ); mes "[ Lv ^63D1F4"+.GM_Level[.@i]+"^000000 ] ^FF0000@ ^0000FF"+.GM_Name$[.@i]+"^000000"; mes "Location : ^0000FF"+.Map$+"^000000"; mes "^0000FF_____________________________^000000"; } close; OnInit: set .MinGMLevel,1; // Min. GM Level to Show in Online Lists end; OnPCLoginEvent: set .@gmlevel,getgmlevel(); if( .@gmlevel < .MinGMLevel ) end; set .@size,getarraysize( .GM_Name$ ); set .GM_Name$[ .@size ],strcharinfo(0); if( .@gmlevel < 10 ) set .GM_Level$[ .@size ],"Level 1 GM"; else if( .@gmlevel < 20 ) set .GM_Level$[ .@size ],"Level 2 GM"; else if( .@gmlevel < 30 ) set .GM_Level$[ .@size ],"Level 3 GM"; else if( .@gmlevel < 40 ) set .GM_Level$[ .@size ],"Level 4 GM"; end; OnPCLogoutEvent: if( getgroupid() < .MinGMLevel ) end; for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ){ if( strcharinfo(0) != .GM_Name$[.@i] ) continue; deletearray .GM_Name$[.@i],1; deletearray .GM_Level[.@i],1; end; } end; } Here is the GM account :
  10. Thank you~ Finally..
  11. Ok thanks a lot..
  12. Hmmm.. So.. What thing to do to make this script works? I did try change that "cash_points" into global_reg_valur or cp_credit but still not working.. Or any scripts similar like this.. I mean.. The script that enable donating player convert their donationg credit into cash points ingame.. Note : Im using calciumkid flux cp.. But i have buying problem.. i already open new topic regarding this matter but still no reply.. Anybody have experience this problem? LINK
  13. GM LVL 99 But shows LVL 0.. Hmm.. and also.. Is it possible to shows Location from ra_temple into Rachel Temple?
  14. i copy paste the script u give.. Now i got this even after relogin..
  15. Map : ra_temple NPC : Nuria i already disable "npc: npc/cities/rachel.txt" but the NPC still there? So.. where does this NPC located? Its like nothing.. Just show that only.. And i want to remove it since im going to make Rachel Temple as my main town..
  16. i tried to find but maybe im miss it.. So.. Where does this thing located exactly? Thanks..
  17. prontera,164,172,7 script GM Online Lists 856,{ mes "Staffs Online Lists : ^FF0000"+getarraysize( .GM_Name$ )+"^000000 Staffs"; mes "^0000FF_____________________________^000000"; for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ){ getmapxy( .Map$,.x,.y,0,.GM_Name$[.@i] ); mes "[ Lv ^63D1F4"+.GM_Level[.@i]+"^000000 ] ^FF0000@ ^0000FF"+.GM_Name$[.@i]+"^000000"; mes "Location : ^0000FF"+.Map$+"^000000"; mes "^0000FF_____________________________^000000"; } close; OnInit: set .MinGMLevel,1; // Min. GM Level to Show in Online Lists end; OnPCLoginEvent: if( getgmlevel() < .MinGMLevel ) end; set .GM_Name$[ getarraysize( .GM_Name$ ) ],strcharinfo(0); if( getgmlevel() < 10 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 1 GM"; else if( getgmlevel() < 20 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 2 GM"; else if( getgmlevel() < 30 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 3 GM"; else if( getgmlevel() < 40 ) set .GM_Level$[ getarraysize( .GM_Name$ ) ],"Level 4 GM"; end; OnPCLogoutEvent: if( getgmlevel() < .MinGMLevel ) end; for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ){ if( strcharinfo(0) != .GM_Name$[.@i] ) continue; deletearray .GM_Name$[.@i],1; deletearray .GM_Level[.@i],1; end; } end; } Here is my script.. right now all GM Online show lvl 0.. Maybe im set it wrong?
  18. Sir, Edit at this line? // Update User's Points set #CASHPOINTS,(#CASHPOINTS + @points_to_add); Also.. at my console, shows error said "cash_points" not found in my database..
  19. Ok.. Do any scripts like this? 1. People already donate into my CP.. Then they receive Donation Credit or Donation Points.. 2. He/She then login in game.. Then talk to this NPC. 3. Then the NPC will change is Donation Credit into Cash Points. I found this script.. Try to edit it but it cannot works.. Hmmm.. Or does this kind of NPC im request is already exist? Hope will have good news.. Here is the script i mention.. //===== eAthena Script ====================================================================== //= Donation System //===== Original By ========================================================================= //= Hellflaem //===== Credit ========================================================================= //= Hellflaem , Martin Angelov from tutorialzine.com //===== Current Version: ==================================================================== //= 3.0 //===== Compatible With: ==================================================================== //= Any eAthena //===== Description: ======================================================================== //= An Ingame Npc that can add Cash points to players online or offline.Also lets player view there cash points ingame. //= An Out of game fully auto php $ paypal IPN based donation system. //= Players donate for cash points at the donation center from you website. //= Lists player how have donated, there is an Admin page as well. //= Which lets admins add cash points to an account and list the last 5 donatons made. //===== Comments================================================================ //= Please give Credit if you use this!!! //=========================================================================================== prontera,168,178,4 script Points Viewer 86,{ set $currency$,"Dollar"; set .name$, "[^0080FFPoints Viewer^000000]"; mes .name$; if(getgmlevel() >= 99) { mes "Hello "+strcharinfo(0); mes "What can I help you with today?"; next; if (select("Add Cash Points:Nothing") == 2) close; mes .name$; mes "Please remember if the player is online they will have to relog."; next; mes .name$; mes "What is the ^FF0000Account Id?^000000 I should add the funds to?"; input @account_id; next; mes .name$; mes "Now, what is the amount of ^FF0000Cash Points^000000 I should add?"; input @points_to_add; next; mes .name$; mes "Please check if the following information is right:"; mes "Account Id: ^FF0000"+@account_id+"^000000"; mes "Cash Points to add: ^FF0000"+@points_to_add+" "+$currency$+"^000000"; next; if (select("Yes:No") == 2) close; mes .name$; mes "I have added ^FF0000"+@points_to_add+" "+$currency$+"^000000 to the Account Id. ^FF0000"+@account_id$+"^000000"; query_sql "INSERT INTO `cash_points` VALUES ('"+@account_id+"','"+@points_to_add+"')"; close; } else { mes "Hello "+strcharinfo(0); mes "And you have "+#CASHPOINTS+" Donation Points."; close; } } - script CashPointsUpdater -1,{ // Every Time Player Logins OnPCLoginEvent: // Delete Result Array (If Any) // if (getarraysize(@points_to_add) >= 1) { deletearray @points_to_add,127; } // Query Database And See If There // Are Points Waiting To Be Added set @nb,query_sql("SELECT `points_to_add` FROM `cash_points` WHERE (`account_id` = "+ getcharid(3) +") LIMIT 1", @points_to_add); // Proceed If A Result Row Is Found and // Check If Points To Add Is Greater Than or Equal To 1 if ((@nb == 1) && ((@points_to_add >= 1))) { // Update User's Points set #CASHPOINTS,(#CASHPOINTS + @points_to_add); // Update Cash Points Table set @nb,query_sql ("DELETE FROM `cash_points` WHERE (`account_id` = "+ getcharid(3) +") LIMIT 1"); // Let Player Know Points Updated mes "^008000[ Server ]^000000"; mes " "; mes "Your Donation Credit Points has been successfully updated. Your new balance is ..."; mes " "; mes "Donation Credit Points : ^0000FF"+ #CASHPOINTS +"^000000"; close; } // The End end; }
  20. *BUMP* I tried to figure out myself but still no pogress at all.. Can someone tell me whats wrong? I already include the redeem NPC in my server.. And that NPC works fine.. But the problem is each time we buy item at donation shop, we will just redirect at main page and nothing buy.. That item still at checkout.. And donating credit still remain the same.. Hmmm....
  21. update your packet_db.txt. just use the one that i posted to avoid any problem on the cashshop issue for this client. Ok will try this sir! The one in the first page right? i think he said is this one.. http://rathena.org/board/topic/81747-2012-04-10aragexe-v3-booking-system/page-9#entry204405
  22. I copy and paste this script.. But here i got.. The account is LVL 99 GM... But it shows LVL0..
  23. Hmmm.. how to set up the prize? Its really good if can have prize..
  24. Hmmm.. Why nothing happen when i click the eggs? GM or normal account also nothing happen when click the eggs..
  25. Sir.. i edit the min GM level into 4.. But the GM not showing in the list.. He relog many times also not showing.. set .MinGMLevel,4; // Min. GM Level to Show in Online Lists
×
×
  • Create New...