ZeazyUOスクリプト晒し(更新する気はないよ)
Amebaでブログを始めよう!

Begginger.zzs

//******************Beggingers********************//
//場所はオークダンジョンの貴族沸きでやってください。
//貴族どもが生意気な口をきいたら殺します。
//武器スキル入れてるキャラでお願いします。
//********************Readme*********************//
import Zz.*;
import prototype.*;
import ZzConst.*;
import Shd_DetectNewLib.*;
import Zz_GS_Blacksmithy.*;

find = new ZzFind();
cmd = new ZzCommand();
obj = new ZzObjectInfo();
obl = new ZzObjectLink();
det = new ZzObjectDetail();
pktw = new ZzPacketWait();
info = new ZzInfo();

println('******************Beggingers********************');
npcs = find.findResult('np6, m0x190');
Begging = info.getSkill(7);
Beggingcap = info.getSkillCaps(7);
i=0;
killingnoble=0;

println('スキルキャップ:' + Beggingcap / 10);
println('最初のスキル:' + Begging / 10);

while(Beggingcap != Begging){

musicitems2 = find.findResult('be, m0xEB3');
Begging2 = info.getSkill(7);
var now = new Date();
npcs = find.findResult('np6, m0x190');
npcsinfo = new ZzObjectLink(npcs[i]);
npcshits = npcsinfo.hits;

if(npcs == 0){
cmd.display('NPCが沸くまで30秒間待機します。', info.playerName, info.playerId, 0x478);
cmd.sleep(30);
}else{
}

havesgold = info.lastMessageId;


switch (havesgold){

case 1062441:
cmd.display('NPCをヌッコロします ID:' + npcs, info.playerName, info.playerId, 0x478);
cmd.attack(npcs[i]);
while(npcshits != -1){
npcshits = npcsinfo.hits;

}
killingnoble++;
println('殺した貴族の数:' + killingnoble);
break;

case 1062442:
cmd.display('NPCをヌッコロします ID:' + npcs, info.playerName, info.playerId, 0x478);
cmd.attack(npcs[i]);
while(npcshits != -1){
npcshits = npcsinfo.hits;
}
killingnoble++;
println('殺した貴族の数:' + killingnoble);
break;

case 1062443:
cmd.display('NPCをヌッコロします ID:' + npcs, info.playerName, info.playerId, 0x478);
cmd.attack(npcs[i]);
while(npcshits != -1){
npcshits = npcsinfo.hits;
}
killingnoble++;
println('殺した貴族の数:' + killingnoble);
break;

case 1062444:
cmd.display('NPCをヌッコロします ID:' + npcs, info.playerName, info.playerId, 0x478);
cmd.attack(npcs[i]);
while(npcshits != -1){
npcshits = npcsinfo.hits;
}
killingnoble++;
println('殺した貴族の数:' + killingnoble);
break;

case 1062445:
cmd.display('NPCをヌッコロします ID:' + npcs, info.playerName, info.playerId, 0x478);
cmd.attack(npcs[i]);
while(npcshits != -1){
npcshits = npcsinfo.hits;
}
killingnoble++;
println('殺した貴族の数:' + killingnoble);
break;

case 1062446:
cmd.display('NPCをヌッコロします ID:' + npcs, info.playerName, info.playerId, 0x478);
cmd.attack(npcs[i]);
while(npcshits != -1){
npcshits = npcsinfo.hits;
}

killingnoble++;
println('殺した貴族の数:' + killingnoble);
break;

case 1062447:
cmd.display('NPCをヌッコロします ID:' + npcs, info.playerName, info.playerId, 0x478);
cmd.attack(npcs[i]);
while(npcshits != -1){
npcshits = npcsinfo.hits;
}

killingnoble++;
println('殺した貴族の数:' + killingnoble);
break;

case 1062448:
cmd.display('NPCをヌッコロします ID:' + npcs, info.playerName, info.playerId, 0x478);
cmd.attack(npcs[i]);
while(npcshits != -1){
npcshits = npcsinfo.hits;
}

killingnoble++;
println('殺した貴族の数:' + killingnoble);
break;

default:
break;
}


if(Begging2 != Begging){
println('---------------------------------');
println('スキルうp:' + Begging2 / 10);
println('うpした数値:' + (Begging2 - Begging) / 10);
println('うp日時:' + now);
Begging = info.getSkill(7);
}


cmd.useSkill(7);
cmd.sleep(1.25);
cmd.targetObject(npcs[i]);
cmd.sleep(10.25);
}
println('上げきったよ!');

filetest.dms


function textfile(fileName, textadd, textinsert){

text=new Strings;
if(textadd){
text.add(textadd);
}else{
}
if(insert){
text.insert(textinsert);
}
text.saveToFile(fileName);

}

Potter.zzs

import Zz.*;
import prototype.*;
import ZzConst.*;
import Shd_DetectNewLib.*;
import Zz_GS_Blacksmithy.*;


find = new ZzFind();
cmd = new ZzCommand();
obj = new ZzObjectInfo();
det = new ZzObjectDetail();
pktw = new ZzPacketWait();
info = new ZzInfo();

println('-************POTter*************-');
println('設定はしたか?');
println('そのまま使ったらじゃんじゃん使っちまうぞ。');
println('-************POTter*************-');

//-----------------------------------------------------------------/

hitsDame = 25; //ステータスのMAXからここの数値が引かれてた場合POTを使う
stamDame = 20;

yellowPotGrade = 2; //0=レッサー,1=ノーマル,2=グレード 種類によってウエイトの時間を変えている。
curePotuse = 0; //キュアポットを0=使わない, 1=使う。

//-----------------------------------------------------------------/
hits = info.playerHits;
hitsMax = info.playerHitsMax;
stam = info.playerStam;
stamMax = info.playerStamMax;
yellowPot = find.find('be, m0xF0C');
curepot = find.find('be, m0xF07');
redPot = find.find('be, m0xF0B');
bulePot = find.find('be, m0xF08');
whitePot = find.find('be, m0xF09');
var usetime = new Date();
var statsWaiteTime = new Date();
fastuse = 0;


if (yellowPotGrade == 0 || yellowPotGrade == 1 || yellowPotGrade == 2 ){
}else{
halt('ヒールポットの種類設定が正しくねーよ。');
}
if (curePotuse == 0 || curePotuse == 1 ){
}else{
halt('キュアポットの種類設定が正しくねーよ。');
}

if(yellowPotGrade == 0){
timersc = 4;
}else{
if(yellowPotGrade == 1){
timersc = 9;
}else{
timersc = 11;
}
}

while(yellowPot != 0 || redPot != 0){

hits = info.playerHits;
hitsMax = info.playerHitsMax;
stam = info.playerStam;
stamMax = info.playerStamMax;
var timers = new Date();
var statstimer = new Date();


spwt = parseInt( (statstimer - statsWaiteTime) / 1000 );

sleep(1);


yellowPot = find.find('be, m0xF0C', 1);
redPot = find.find('be, m0xF0B', 1);

bulePot = find.find('be, m0xF08', 1);
whitePot = find.find('be, m0xF09', 1);

if( ( hitsMax - hits ) >= hitsDame ){
potwaitetimes = parseInt( (timers - usetime) / 1000 );
if(potwaitetimes >= timersc){
if(info.playerStatus(0x40E)){
if(curePotuse==1){
cmd.doubleClick (curepot);
cmd.display('use CurePot', info.playerName, info.playerId, 0x478);
}else{
cmd.display('Player is Poison!!', info.playerName, info.playerId, 0x47E);
}
}else{
cmd.display('use YellowPot', info.playerName, info.playerId, 0x478);
cmd.doubleClick (yellowPot);
var usetime = new Date();
}
}
}
if( ( stamMax - stam ) >= stamDame ){

cmd.doubleClick(redPot);
cmd.display('use RedPot', info.playerName, info.playerId, 0x478);

}

if(fastuse == 0){
fastuse = 1;
cmd.doubleClick (bulePot);
cmd.doubleClick (whitePot);
}

if( spwt >= 120 ){
cmd.display('use StatsPots', info.playerName, info.playerId, 0x478);
cmd.doubleClick (bulePot);
cmd.doubleClick (whitePot);
var statsWaiteTime = new Date();
}
}
println('Potが切れたよ!');

Statchecker.zzs

import filetest.*;
/*宣言*/

ftp = new FTP;
info = new ZzInfo();
stats = new Array(12);

/*宣言終わり*/
/*SETUP */

ftpdir = 'nanto';
ftp.debug = true;
ftp.host = 'server';
ftp.userid = 'root';
ftp.password = '1942';
sleepingTime = 30000; //ミリ秒

/* SETEND */



function statfile(filename, text){
file = new File(filename + '.txt');
try{
file.open('w');
for(a=0;a<text.length;a++){
file.writeln(text[a]);
}
}
catch(e){
println(e);
}
finally{
file.close();
}
}

function uplord(){

playername = info.playerName;

ftp.connect ();
try{
ftp.changeDir(ftpdir );
println(ftp.printWorkDir ());
ftp.type('I' );
ftp.upload(playername + '.txt','charstat.txt');

} finally{
ftp.disconnect ();
}

}

function statscheck() {

nowhp = info.playerHits;
maxhit = info.playerHitsMax;
nowstm = info.playerStam;
maxstm = info.playerStamMax;
nowmana = info.playerMana;
maxmana = info.playerManaMax;
nowgold = info.playerGold;
nowAR = info.playerResistPhysical;
nowFR = info.playerResistFire;
nowCR = info.playerResistCold;
nowPR = info.playerResistPoison;
nowER = info.playerResistEnergy;
nowWeight = info.playerWeight;
maxWeight = info.playerWeightMax;
nowTithingPoint = info.playerTithing;
playername = info.playerName;

var timestamp = new Date();

println( 'HP:' + nowhp + '/' + maxhit );
println( 'STM:' + nowstm + '/' + maxstm );
println( 'MANA:' + nowmana + '/' + maxmana );
println( 'GOLD:' + nowgold );
println( 'AR:' + nowAR );
println( 'FR:' + nowFR );
println( 'CR:' + nowCR );
println( 'PR:' + nowPR );
println( 'ER:' + nowER );
println( 'Weight:' + nowWeight + '/' + maxWeight );
println( 'TithingPoint:' + nowTithingPoint );


stats[0] = ( 'NAME: ' + playername );
stats[1] = ( 'HP: ' + nowhp + '/' + maxhit );
stats[2] = ( 'STM: ' + nowstm + '/' + maxstm );
stats[3] = ( 'MANA: ' + nowmana + '/' + maxmana );
stats[4] = ( 'GOLD: ' + nowgold );
stats[5] = ( 'AR: ' + nowAR );
stats[6] = ( 'FR: ' + nowFR );
stats[7] = ( 'CR: ' + nowCR );
stats[8] = ( 'PR: ' + nowPR );
stats[9] = ( 'ER: ' + nowER );
stats[10] = ( 'Weight: ' + nowWeight + '/' + maxWeight );
stats[11] = ( 'TithingPoint: ' + nowTithingPoint );
stats[12] = ( 'Lastupdate: ' + timestamp );

statfile(playername, stats);

}


while(1){
statscheck();
uplord();
sleep(sleepingTime);

}

janal.zzs

import Zz.*;
import prototype.*;
import ZzConst.*;
import Shd_DetectNewLib.*;
import Zz_GS_Blacksmithy.*;
import mail.*;

println('ジャーナルかんしちう');
/*
<- Readme ->
特定のキーワードを聞き取ったとき、
指定したメールアドレスにメールを送ります。
また、この状態でこのアカウント専用のメールアカウントにメールを送った場合、
そのメール本文を読み上げます。(改行は無視するかも)
またこのスクリプトを動かすためにはmail.dmsが必要です。
<- Readend ->
*/

/*
Setup.
*/

keywords = ZzInfo.playerName; //ログ鳥を始めるためのキーワード
endwords = '失礼します'; //ログ鳥を終わるためのキーワード

/*
POP3
*/

popHost = '192.168.14.11'; //POP3鯖のIPおよびドメインネームを入れます。
popId = 'root'; //POP3鯖にアクセスするためのIDを入れます。
popPwd = 'xg1243'; //POP3鯖にアクセスするためのパスワードを入れます。
popPort = 110; //POP3鯖のポートアドレスを入れます。int
popDeliteOnRead = true; //POP3鯖にある、メールを読んだら破棄するかどうか設定します。Boolean
popMailnumber = 1; //POP3鯖にあるこの番号のメールを読みます。

/*
SMTP
*/

spopHost = '192.168.14.11'; //SMTP用のPOP3鯖IPおよびドメインネームを入れます。
spopId = 'root2'; //SMTP用のPOP3鯖にアクセスするためのIDを入れます。
spopPwd = 'xg1243'; //SMTP用のPOP3鯖にアクセスするためのパスワードを入れます。
spopPort = 110; //SMTP用のPOP3鯖のポートアドレスを入れます。int
smtpHost = '192.168.14.11'; //SMTP鯖のIPおよびドメインネームを入れます。
smtpPort = 25; //SMTP鯖のポートアドレスを入れます。int
smtpToMail = 'oreore@oredayo.jp' ; //SMTP鯖から送られる、相手へのメールアドレスを設定します。
smtpFromMail = 'oreore@oredayo.jp' ; //SMTP鯖から送られるときの自分のメールアドレスを設定します。

/*
Setend
*/

pktw = new ZzPacketWait();
pckt = pktw.packet;
pktw.limit = 0;
var x = new Array(100);
var hear = new Array(100);
var loger = new Array();
i=0;
p=0;

function heard(i){
pktw.releaseWaitPacket(0xae);
hear[i] = pckt.readU(pktw.packet.length - 48, 48);

return hear[i];
}

function logs(){
while(1){
p++;
i++;
x[i] = heard(i);
loger[p] = pckt.readA(pktw.packet.length - 30, 18) +':'+ x[i];
// print(loger[p]);
if(p == 4){
// println('p=' + p);
smtp(spopHost, spopId, spopPwd, spopPort, smtpHost, smtpPort, smtpToMail, smtpFromMail, pckt.readA(pktw.packet.length - 30, 18), loger[1] +' -> '+ loger[2] +' -> '+ loger[3] +' -> '+ loger[4]);
sayed = pop3(popHost, popId, popPwd, popPort, popDeliteOnRead, popMailnumber);
p = 0;
ZzExCommand.speech(sayed, true);

}

if(x[i].match(endwords)){

// print('会話打ち切り');
return;
}else{
// print('会話続投');
}

}
return;
}


while(1){

x[i] = heard(i);
if(x[i].match(keywords)){
logs();
}else{
}
i++;
}

mail.dms

//
/*

Zeazyuoでメールの送受信をするためのdmsです。
pop3(IP(ホストネーム),ユーザーネーム,パスワード,ポートナンバー,メールを読んだら消すかどうか(boolean),int読むメールの番号)
pop3の返り値はメール本文です。

SMTPはPOP3でコネクトしてやらないと接続できないようです。故にPOP3の接続IDとかが必要
smtp(IP(POP3用ホストネーム),ユーザーネーム,パスワード,POP3ポートナンバー,IP(SMTP用ホストネーム),POP3ポートナンバー,送り先メールアドレス,送り元メールアドレス,サブジェクト,、メール本体)


*/
//
function pop3(phostname,pusername,ppasswords,pportnamber,deletonmail,mailnamber){
pop = new POP3;
pop.host = phostname;
pop.port = pportnamber;
pop.userid = pusername;
pop.password = ppasswords;
pop.deleteOnRead = deletonmail;
try{
pop.connect();
// println(pop.length);
if(pop.length >= 1){
pop.getMail(mailnamber);
}else{
}
mailheader = pop.mail.header;
mailbody = pop.mail.body;
pop.disconnect();
return mailbody;
}
finally{
pop.disconnect();
}
}

function smtp(phostname,pusername,ppasswords,pportnamber,shostname,sportnamber,tomail,frommail,mailsubject,mailmessage){
pop = new POP3;
pop.host = phostname;
pop.port = pportnamber;
pop.userid = pusername;
pop.password = ppasswords;
smtps = new SMTP;
smtps.host = shostname;
smtps.port = sportnamber;
smtps.mail['To'] = tomail;
smtps.mail['From'] = frommail;
smtps.mail['Subject'] = mailsubject;
smtps.mail.message = mailmessage;
try{
pop.connect();
smtps.connect();
sleep(10);
smtps.sendMail();
println('SendMail');
}
finally{
smtps.disconnect();
pop.disconnect();
}
}

README

ここに乗ってるスクリプトの利用は直接的商用利用(そのままコピペして売るとか)以外だったら自由に利用してもOKですよ

改造自由、晒し自由

Shadow氏に送りつけるのは簡便な