가위바위보 스크립트
*/
var minrate = 500000; // 최소 배팅금액
var bill = 10; // 승리시 수수료 (단위 %)
var max = 0; // 최대 배팅액 (0인 경우 플레이어가 소지한 금액이 자동으로 최대배팅액이 됨)
var Po;
var chk = 0;
var i;
var rate;
var sel;
var status = -1;
var count;
function start() {
status = -1;
action (1, 0, 0);
}
function action(mode, type, selection) {
if (mode == -1) {
cm.dispose();
return;
}
if (mode == 0) {
status --;
}
if (mode == 1) {
status++;
}
if (status == 0) {
if (max == 0) max = cm.getMeso();
count = 2;
var chat = "#b안녕하세요 저는 ○○온라인의 #r[가위바위보]#b도박 NPC 입니다.";
chat += "\r\n#L0#배팅하기";
cm.sendSimple(chat);
} else if (status == 1) {
if (selection == 0) {
if (cm.getMeso() < minrate) {
cm.sendOk("#b최소 #r" + minrate + " 메소#b가 필요해요!! ㅡㅡ");
cm.dispose();
} else if ((cm.getMeso() + minrate) >= 2147483647) {
cm.sendOk("#r당신은 이미 갑부입니다.\r\n#b최소 소지금 #r" + (cm.getMeso() - minrate) + " 메소 #b이하부터 도박이 가능합니다.");
cm.dispose();
} else {
cm.sendGetNumber("배팅액을 입력해 주세요.#b\r\n배팅 최대금액 : #r" + max + "#b\r\n배팅 최소금액 : #r" + minrate,minrate,minrate,max);
}
}
} else if (status == 2) {
if (chk == 0) rate = selection;
var sum = cm.getMeso() + rate;
if (2147483647 < sum) {
cm.gainMeso(-(cm.getMeso()));
cm.gainMeso(2147483647);
cm.sendOk("#r당첨금이 최대금액에 달했습니다. 축하합니다.");
cm.dispose();
} else {
Po = Math.round((Math.random()*4));
var ok = "#b현재 금액 : #r" + rate + " \r\n#b승리시 현재소지금 #rx" + count;
ok += "\r\n#b포기시 현재 금액의 #r" + bill + "% #b수수료 부과\r\n";
ok += "\r\n#L1#가위";
ok += "\r\n#L2#바위";
ok += "\r\n#L3#보자기";
if (count > 2) ok += "\r\n#L4#도전포기";
cm.sendSimple(ok);
if (chk == 0) chk++;
}
} else if (status == 3) {
if (selection != 4) {
if (Po == 1) {
switch (selection) {
case 1:
cm.sendOk("#b컴퓨터는 #r보자기#b를 당신은 #r가위#b를 냈습니다.\r\n승리하였습니다.");
rate*=count++;
break;
case 2:
cm.sendOk("#b컴퓨터는 #r가위#b를 당신은 #r바위#b를 냈습니다.\r\n승리하였습니다.");
rate*=count++;
break;
case 3:
cm.sendOk("#b컴퓨터는 #r바위#b를 당신은 #r보자기#b를 냈습니다.\r\n승리하였습니다.");
rate*=count++;
break;
}
} else if (Po == 2) {
switch (selection) {
case 1:
cm.sendOk("#b컴퓨터는 #r가위#b를 당신은 #r가위#b를 냈습니다.\r\n비겼습니다.");
break;
case 2:
cm.sendOk("#b컴퓨터는 #r바위#b를 당신은 #r바위#b를 냈습니다.\r\n비겼습니다.");
break;
case 3:
cm.sendOk("#b컴퓨터는 #r보자기#b를 당신은 #r보자기#b를 냈습니다.\r\n비겼습니다.");
break;
}
} else {
switch (selection) {
case 1:
if (cm.getMeso() <= rate) cm.gainMeso(-cm.getMeso());
else cm.gainMeso(-rate);
cm.sendOk("#b컴퓨터는 #r바위#b를 당신은 #r가위#b를 냈습니다.\r\n패배하였습니다.\r\n#r" + rate + " #b메소를 잃었습니다.");
cm.dispose();
break;
case 2:
cm.sendOk("#b컴퓨터는 #r보자기#b를 당신은 #r바위#b를 냈습니다.\r\n패배하였습니다.\r\n#r" + rate + " #b메소를 잃었습니다.");
if (cm.getMeso() <= rate) cm.gainMeso(-cm.getMeso());
else cm.gainMeso(-rate);
cm.dispose();
break;
case 3:
cm.sendOk("#b컴퓨터는 #r가위#b를 당신은 #r보자기#b를 냈습니다.\r\n패배하였습니다.\r\n#r" + rate + " #b메소를 잃었습니다.");
if (cm.getMeso() <= rate) cm.gainMeso(-cm.getMeso());
else cm.gainMeso(-rate);
cm.dispose();
break;
}
}
}
if (selection == 1 && chk != 5) {
status--;
status--;
} else if (selection == 2 && chk != 5) {
status--;
status--;
} else if (selection == 3 && chk != 5) {
status--;
status--;
} else if (selection == 4) {
rate = Math.round(rate-rate*bill*(1/100));
cm.gainMeso(rate);
cm.sendOk("#r" + bill + "% #b의 수수료를 지불하고 총 #r" + rate + " #b메소를 얻었습니다.");
cm.dispose();
}
}
}

늅늅 님의 최근 댓글