Introduction :
Hi all RaGEZONERs, today i'm releasing some NPCs that i made in the past. It may not be good or released before so please do not flame. Take the scripts and claim it as yours i dont care, i dont need credits or whatever shit. I am quitting ragezone but i will come back and see regularly and this is my last release and if you don't know, i am bendanx3.
Usage :
Don't use it if you dont know how to use.
Scripts:
Warper :
EXP Gachapon :PHP Code:/****************************************
*@author XotiCraze
*[SactualMS] Warper
*****************************************/
var status = 0;
var bossmaps = Array(100000005, 103000804, 541010**** 890000001, 105070002, 105090900, 230040420, 280030000, 220080001, 240020402, 240020**** 801040**** 240060200); // Someone else's House, The Grave of Mushmom, The cursed Sanctuary, The Cave of Pianus, Zakums Altar, Origin of Clocktower, Manons Forest, Griffey Forest, The Nightmarish Last Days, Horntails Cave
var monstermaps = Array(100040001, 801040004, 211040200, 541000300, 541010000, 541010010 ,541010020 ,541010030 ,541010040 ,541010050, 541010060, 541010**** 101010**** 104040000, 103000**** 103000**** 101030**** 106000002, 101030103, 101040001, 101040003, 101030001, 104010001, 105070001, 105090300, 105040306, 230020000, 230010400, 211041400, 222010000, 220080000, 220070301, 220070201, 220050300, 220010500, 250020000, 251010000, 200040000, 200010301, 240020**** 240040500, 240040000, 600020300, 801040004, 800020130);
var townmaps = Array(1010000, 680000000, 230000000, 610020000, 540000000, 541000000, 101000000, 211000000, 100000000, 251000000, 103000000, 222000000, 104000000, 240000000, 220000000, 250000000, 800000000, 600000000, 221000000, 200000000, 102000000, 801000000, 105040300, 60000);
var chosenMap;
var maps;
function start() {
status = -1;
action(1, 0, 0);
}
function action(mode, type, selection)
{
if (mode == -1) {
cm.dispose();
} else if (mode == 0) {
if (status >= 0) {
cm.sendOk("#r[SactualMS] Transportation#n\r\n\r\nSee you next time!.");
cm.dispose();
return;
}
} else if (mode == 1) {
status++;
} else {
status--;
} if (status == 0) {
var welcome = "#r[SactualMS] Transportation#n\r\n\r\nHey I'm SactualMS's All-in-one Teleport Manager!\r\n\r\n";
var choices = Array("[SactualMS] Cities", "[SactualMS] Monster Maps", "[SactualMS] Boss Maps");
for (var w = 0; w < choices.length; w++) {
welcome += "\r\n#L" + w + "#" + choices[w] + "#l";
}
cm.sendSimple(welcome);
} else if (status == 1) {
switch(selection) {
case 0:
var city = "#r[SactualMS] Transportation#n\r\n\r\nPlease select one of these [CITIES].#b";
for (var c = 0; c < townmaps.length; c++) {
city += "\r\n#L" + c + "##m" + townmaps[c] + "##l";
}
cm.sendSimple(city);
return;
case 1:
var monster = "#r[SactualMS] Transportation#n\r\n\r\nPlease select one of these [MONSTER MAPS].#b";
for (var m = 0; m < monstermaps.length; m++) {
monster += "\r\n#L" + m + "##m" + monstermaps[m] + "##l";
}
cm.sendSimple(monster);
return;
case 2:
var boss = "#r[SactualMS] Transportation#n\r\n\r\nPlease selection of these [BOSS MAPS].#b";
for (var b = 0; b < bossmaps.length; b++) {
boss += "\r\n#L" + b + "##m" + bossmaps[b] + "##l";
}
cm.sendSimple(boss);
return;
}
} else if (status == 2) {
maps = townmaps[selection] || monstermaps[selection] || bossmaps[selection]; // this sucks i know LOL :D
cm.sendYesNo("#r[SactualMS] Transportation#n\r\n\r\nDo you want to go to #m" + maps + "#?");
chosenMap = selection;
} else if (status == 3) {
maps = townmaps[chosenMap] || monstermaps[chosenMap] || bossmaps[chosenMap];
cm.warp(maps);
cm.sendOk("#r[SactualMS] Transportation#n\r\n\r\nWelcome to #m" + maps + "#.");
cm.dispose();
}
}
NX Seller :PHP Code:/****************************************
*@author XotiCraze [XoticStory]
*@usage exp gachapon
*****************************************/
var next;
var status = 0;
var exp = Math.floor(Math.random() * 1000000);
var chances = Math.floor(Math.random() * 100);
var reqItem = 4001129; // change the item ID here .
var reqLevel = 50;
var repeat = true;
function start() {
status = -1;
action(1, 0, 0);
}
function action(mode, type, selection)
{
if (mode == -1) {
cm.dispose();
} else {
if (mode == 0 && status == 0) {
cm.dispose();
return;
} else if (mode == 1) {
status++;
} else {
status--;
} if (status == 0) {
var welcome = "#e[AzuraStory] Gachapon (Exp)\r\n[#gHello there. I am the #dExperience Gachapon#k.\r\nWhat would you like to do ?#k]#n";
var choices = Array("Try it!", "Explain further", "Sorry, I have no money");
for (var w = 0; w < choices.length; w++) {
welcome += "\r\n#L" + w + "#" + choices[w] + "#l";
}
cm.sendSimple(welcome);
} else if (status == 1) {
switch(selection) {
case 0:
cm.sendYesNo("#e[AzuraStory] Gachapon (Exp) #n\r\n\r\nAre you sure that you wanna give it a try?\r\nYou wont be able to turn back after this.");
status++;
return;
case 1:
var info = "#e[AzuraStory] Gachapon (Exp) #n\r\n\r\n#d[This is the same Gachapon System that every server has, except that this doesnt gives you item but exp.\r\nThe rewarded Experience is fabulous and high!\r\nHmms. So, wanna try your luck?\r\nOh and you need to be lv50 or above and it requires you to have a Gachapon ticket to work.]#k";
var choices = Array("Try it!", "Leave");
for (var i = 0; i < choices.length; i++) {
info += "\r\n#L" + i + "#" + choices[i] + "#l";
}
cm.sendSimple(info);
return;
case 2: cm.sendOk("#e[AzuraStory] Gachapon (Exp) #n\r\nAlright then see you again soon.");
cm.dispose();
break;
}
} else if (status == 2) {
if (selection == 0) {
cm.sendYesNo("#e[AzuraStory] Gachapon (Exp) #n\r\n\r\nAre you sure that you wanna give it a try?\r\nYou wont be able to turn back after this.");
} else if (selection == 1) {
cm.sendOk("#e[AzuraStory] Gachapon (Exp) #n\r\n\r\nAlright then see you again soon.");
cm.dispose();
}
} else if (status == 3) {
if (cm.getLevel() >= reqLevel) {
if (cm.haveItem(reqItem, 1)) {
var select = "#e[AzuraStory] Gachapon (Exp) #n\r\n\r\n[#dYou put your hand in your pocket, took out a Ticket and insert into the machine. After sometime, A strange sound came out from the machine. You were given a choice..#k]";
var choice = Array("Look at what happened.", "Leave.");
for (var s = 0; s < choice.length; s++) {
select += "\r\n#L" + s + "#" + choice[s] + "#l";
}
cm.sendSimple(select);
} else {
cm.sendOk("#e[AzuraStory] Gachapon (Exp) #n\r\n\r\n[#dYou put your hand in your pocket and found out that you do not have any Tickets left. You have no choice but to turn back and leave.#k]");
cm.dispose();
}
} else {
cm.sendOk("#e[AzuraStory] Gachapon (Exp) #n\r\n\r\n[#dAfter some thinking, you decided to give it a shot but found out that your level isn't enough to try it and was forced to turn back and leave.#k]");
cm.dispose();
}
} else if (status == 4) {
switch(selection) {
case 0:
cm.sendOk("#e[AzuraStory] Gachapon (Exp) #n\r\n\r\n[#dAfter the noise is over, out of curiousity, you went nearer to it and look what has happened..#k]");
return;
case 1:
cm.sendOk("#e[AzuraStory] Gachapon (Exp) #n\r\n\r\n[#dAfter the noise is over, you thought that the machine is spoilt. Forgetting the rewards and the wasted ticket, you decided to leave..#k]");
cm.dispose();
break;
}
} else if (status == 5) {
if (chances > 30) {
cm.sendOk("#e[AzuraStory] Gachapon (Exp) #n\r\n\r\n[#dThe machine lighted up and you waited for awhile to see if there are any other reaction but it appears that nothing is happening. It looks like you're not in luck today..You turned back and left sadly..#k]");
cm.gainItem(reqItem, -1);
cm.dispose();
} else {
cm.sendOk("#e[AzuraStory] Gachapon (Exp) #n\r\n\r\n[#dThe machine lighted up and you waited for awhile to see if there are any other reaction. Suddenly, a bright flash appeared and you feel a strong energy moving around your body.\r\nCongratulations! You got the reward.\r\nYou turned back and left with joy.#k]");
cm.gainExp(exp);
cm.gainItem(reqItem, -1);
cm.dispose();
}
}
}
}
Also, I'm 'releasing' SactualizeMS Source done by Haiku01 which he told me to release it for him x_X.PHP Code:/****************************************
*@author XotiCraze
*NX Seller
*****************************************/
var status = 0;
var price = 1000;
function start() {
status = -1;
action(1, 0, 0);
}
function action(mode, type, selection)
{
if (mode == -1) {
cm.dispose();
} else if (mode == 0) {
if (status >= 0) {
cm.sendOk("#e[AzuraStory] NXSeller\r\n\r\n[#dGoodBye. Come again for more NX Points (: Hope to see you soon.#k]#n");
cm.dispose();
return;
}
} else if (mode == 1) {
status++;
} else {
status--;
} if (status == 0) {
var welcome = "#e[AzuraStory] NXSeller\r\n\r\n[#dHello there. I am the NX Seller which is also called the Cash Seller.#k]#n\r\n";
var choices = Array("Purchase NX.", "Explain more.", "Leave");
for (var w = 0; w < choices.length; w++) {
welcome += "\r\n#L" + w + "#" + choices[w] + "#l";
}
simple(welcome);
} else if (status == 1) {
switch(selection) {
case 0:
var confirm = "#e[AzuraStory] NXSeller\r\n\r\n[#dSo you've chosen to purchase some NX. You can still change your mind now. Please think about it.#k]#n";
var choice = Array("Purchase NX.", "Leave");
for (var c = 0; c < choice.length; c++) {
confirm += "\r\n#L" + c + "#" + choice[c] + "#l";
}
simple(confirm);
status++;
break;
case 1:
var info = "#e[AzuraStory] NXSeller\r\n\r\n[#dI am the NX Seller. NX can be named as Cash or CS Points too. I sells NX for people who wants to dress up their characters nicely or buy other Cash Items or also called as NX Item. Of course! They come in a bundle offers. There are 3 different bundles for you to choose.\r\nSo, what do you want to do?#k]#n";
var choice = Array("Purchase NX.", "Leave");
for (var i = 0; i < choice.length; i++) {
info += "\r\n#L" + i + "#" + choice[i] + "#l";
}
simple(info);
return;
case 2:
cm.sendOk("#e[AzuraStory] NXSeller\r\n\r\n[#dAlright then. Hope to see you again!#k]#n");
cm.dispose();
break;
}
} else if (status == 2) {
switch(selection) {
case 0:
var confirm = "#e[AzuraStory] NXSeller\r\n\r\n[#dSo you've chosen to purchase some NX. You can still change your mind now. Please think about it.#k]#n";
var choice = Array("Purchase NX.", "Leave");
for (var c = 0; c < choice.length; c++) {
confirm += "\r\n#L" + c + "#" + choice[c] + "#l";
}
simple(confirm);
selection = 0;
return;
case 1:
cm.sendOk("#e[AzuraStory] NXSeller\r\n\r\n[#dAlright then. Hope to see you again!#k]#n");
cm.dispose();
break;
}
} else if (status == 3) {
switch(selection) {
case 0:
var purchase = "#e[AzuraStory] NXSeller\r\n\r\n[#dThis are the 3 bundles package offer that is available for you.Please select one.#k]#n";
var choices = Array("[1k NX for 1M Mesos] Special Package", "[10k NX for 10M Mesos] Special Package", "[30k NX for 30M Mesos] Special Package]", "Leave");
for (var p = 0; p < choices.length; p++) {
purchase += "\r\n#L" + p + "#" + choices[p] + "#l";
}
simple(purchase);
return;
case 1:
cm.sendOk("#e[AzuraStory] NXSeller\r\n\r\n[#dAlright then. Hope to see you again!#k]#n");
cm.dispose();
break;
}
} else if (status == 4) {
switch(selection) {
case 0:
if (cm.getMeso() > (price * 1000)) {
cm.gainMeso(-(price * 1000));
gainNX("1000");
cm.sendOk("#e[AzuraStory] NXSeller\r\n\r\n[#gYou stuff your hand into your pocket and took out some mesos from your pocket and paid the NPC.#k#d After a short while, in return, you've obtained" + (price * 1000) + "NX!#k#gYou turned back and leave..#k]#n");
cm.dispose();
break; // Ensuring[Double-Check];
} else {
cm.sendOk("#e[AzuraStory] NXSeller\r\n\r\n[#gYou stuff your hand into your pocket and found out that you do not have enough to purchase any NX.#k#d You have no choice but to turn back and leave..#k]#n");
cm.dispose();
break; // Ensuring[Double-Check];
}
break;
case 1:
if (cm.getMeso() > (price * 10000)) {
cm.gainMeso(-(price * 10000));
gainNX("10000");
cm.sendOk("#e[AzuraStory] NXSeller\r\n\r\n[#gYou stuff your hand into your pocket and took out some mesos from your pocket and paid the NPC.#k#d After a short while, in return, you've obtained" + (price * 1000) + "NX!#k#gYou turned back and leave..#k]#n");
cm.dispose();
break; // Ensuring[Double-Check];
} else {
cm.sendOk("#e[AzuraStory] NXSeller\r\n\r\n[#gYou stuff your hand into your pocket and found out that you do not have enough to purchase any NX.#k#d You have no choice but to turn back and leave..#k]#n");
cm.dispose();
break; // Ensuring[Double-Check];
}
break;
case 2:
if (cm.getMeso() > (price * 30000)) {
cm.gainMeso(-(price * 10000));
gainNX("30000");
cm.sendOk("#e[AzuraStory] NXSeller\r\n\r\n[#gYou stuff your hand into your pocket and took out some mesos from your pocket and paid the NPC.#k#d After a short while, in return, you've obtained" + (price * 1000) + "NX!#k#gYou turned back and leave..#k]#n");
cm.dispose();
break; // Ensuring[Double-Check];
} else {
cm.sendOk("#e[AzuraStory] NXSeller\r\n\r\n[#gYou stuff your hand into your pocket and found out that you do not have enough to purchase any NX.#k#d You have no choice but to turn back and leave..#k]#n");
cm.dispose();
break; // Ensuring[Double-Check];
}
break;
case 3:
cm.sendOk("#e[AzuraStory] NXSeller\r\n\r\n[#dAlright then. Hope to see you again!#k]#n");
cm.dispose();
break;
}
}
}
function gainNX(amount) {
cm.getPlayer().modifyCSPoints(0, (amount * price));
}
function simple(text) { // i dont know why i did this @_@
cm.sendSimple(text);
}
Heres the link:
Svn : http://svn.assembla.com/svn/sactualizer12345
Trac : http://trac.assembla.com/sactualizer12345/timeline
To AzuraStory and SactualMS(Ex): If you wan't the scripts to be removed, please pm me.
Once again, do not flame! Thanks.
Goodbye RaGEZONE.



Reply With Quote![[Release] Some NPCs [Non-GMS]](http://ragezone.com/hyper728.png)


