299 lines
13 KiB
Perl
Executable File
299 lines
13 KiB
Perl
Executable File
$ver = 'v02-04-16'; # 버전 정보(변경 불가)
|
||
#-----------------------------------------------------------#
|
||
# 罪と罰++ 二律背反 #
|
||
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
|
||
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
|
||
# BLANK BOARD [ http://pom.to/ ] #
|
||
#-----------------------------------------------------------#
|
||
# 환경 설정 Version 1.1
|
||
#--- [注意事項] --------------------------------------------#
|
||
# 1.このスクリプトは以下の利用規程に従って配布しています。 #
|
||
# http://www24.big.or.jp/~obo/game/ore_/gild/ #
|
||
#-----------------------------------------------------------#
|
||
|
||
$er = 0; # 점검 표시(0:보통 1:점검)
|
||
$ertm = '30'; # 점검 예상 시간(분)
|
||
$erni = '점검 중'; # 점검 사유
|
||
|
||
$admin_pass = "admin"; # 관리자 비밀번호(변경하지 않으면 위험합니다)
|
||
|
||
#===============================================================================
|
||
# 初期設定
|
||
|
||
require './jcode.pl'; # jcode.pl 경로
|
||
|
||
require './inc/ore_sub-system.cgi'; # 공통 라이브러리 경로
|
||
|
||
$cdatfile = "./logdata/cdata.cgi"; # 국가 데이터
|
||
|
||
$histfile = "./logdata/hist_log.cgi"; # 국가 백업(과거의 영광 로그)
|
||
|
||
$usrdata = "./usrdata/"; # 캐릭터 데이터 저장 디렉터리.
|
||
|
||
$chmod = 0666; # 캐릭터 데이터 작성 시 권한 설정.
|
||
|
||
$lockdir = "./lock/"; # 락 파일을 보관할 디렉터리
|
||
|
||
$lockfile = "lock"; # 락 파일명
|
||
|
||
$script = "./ore_.cgi"; # 본 스크립트명
|
||
|
||
$ore_reg = "./ore_reg.cgi"; # 신규 등록
|
||
|
||
# 管理者機能 アクセス方法は
|
||
# http://あなたのURL/ore_plus/ore_admin.cgi?administrator=管理者パスワード
|
||
$ore_admin = "./ore_admin.cgi";
|
||
|
||
$park = "./park.cgi"; # 국제교류광장
|
||
|
||
$public = "./public.cgi"; # 공식 조약
|
||
|
||
$campbbs = "./campbbs.cgi"; # 각국 국제회의
|
||
|
||
$hist = "./hist.cgi"; # 과거의 영광
|
||
|
||
$imgs = "./imgs"; # 이미지 저장 디렉터리
|
||
|
||
$css = "./html/ore_.css"; # 외부 스타일시트
|
||
|
||
$titleh = '죄와 벌++ 이율배반'; # <title> 태그
|
||
$title = '<img src="./imgs/title_game.png" width="220" height="52">'; # 표시 타이틀
|
||
$title_i = '<div align="center">죄 와 벌 ++</div><div align="right">이율배반 </div>'; # 표시 타이틀(모바일)
|
||
|
||
$body = 'bgcolor="#000000" text="#dddddd" link="#9999dd" alink="#9999dd" vlink="#9999dd"'; # body 디자인
|
||
|
||
$home = "http://pom.to/"; # 이전 페이지
|
||
$home_i = "http://pom.to/"; # 이전 페이지(모바일)
|
||
|
||
$index = "./index.cgi"; # 탑 페이지
|
||
|
||
# 自由項目
|
||
$kakiko=<<EOM;
|
||
<a href="http://www24.big.or.jp/~obo/game/ore_/gild/" target="_blank">[죄와 벌++ 배포처]</a>
|
||
<a href="http://pom.to" target="_blank">인터넷 놀이터♪</a>
|
||
<a href="http://www2s.biglobe.ne.jp/~aries/Mercury/ring1/ering.cgi?mode=all" target="_blank">[죄와 벌++ 설치소]</a>
|
||
<br><br>
|
||
공유・공동 사이트(<span style="color:#ff99cc">모집 중♪</span>) /
|
||
<a href="" target="_blank"></a>/
|
||
<a href="" target="_blank"></a>/
|
||
<a href="" target="_blank"></a>/
|
||
<a href="" target="_blank"></a>/
|
||
<a href="" target="_blank"></a>
|
||
EOM
|
||
|
||
# ホスト名取得モード
|
||
# --> 0 : $ENV{'REMOTE_HOST'} で取得できる場合
|
||
# --> 1 : gethostbyaddr で取得できる場合
|
||
$get_remotehost = 1;
|
||
|
||
$gzip = ''; # 압축 전송 gzip 경로 입력, 비활성화할 경우 빈칸으로 둠(전송량 대책)
|
||
|
||
$play_limit = 15; # 동시 로그인 가능 인원수. 이를 초과하는 인원이 플레이 중일 때는 로그인 불가(부하 대책)
|
||
|
||
@act_limit = ([22,0],[23,0],[0,0]); # [시간대, 행동 간격(초)] 행동 간격을 이 시간 이상 비우지 않으면 무효 처리함(부하 대책)
|
||
|
||
@safetime = (-1); # 플레이 규제 시간. 시간 사이는 [ , ]로 구분할 것. 무효 시 -1 입력(부하 대책)
|
||
|
||
$no_mouse = 1; # 마우스 자동 조작 치트 방지 (yes=1 또는 no=0) (부하 대책)
|
||
|
||
$no_js = 1; # Javascript 자동 조작 치트, 프레임 삽입 방지 (yes=1 또는 no=0) (부하 대책)
|
||
|
||
$act_cnt_limit = 250; # 수행 누적이 이 수치에 도달하면 강제적으로 내정 혹은 휴식을 하게 함(부하 대책)
|
||
|
||
$lock_check = 1; # 락 처리를 수행함 (yes=1 또는 no=0)
|
||
|
||
$backdata = "./backup/"; # 정기 백업 디렉터리 (정기 백업을 실행하지 않을 경우 빈칸)
|
||
|
||
$sanka = 200; # 전체 참가 인원. 공용 서버에서는 안전을 위해 300명 정도가 한도
|
||
|
||
$del_limit = 10; # 캐릭터 방치 삭제 기한. 이 기한을 초과하면 캐릭터를 삭제합니다
|
||
|
||
$player_now = 60*5; # 몇 초 이내에 로그인한 사용자를 플레이 중인 참가자로 설정할지
|
||
|
||
# 各国の人数制限
|
||
# --> 0 : 手動割り当てモード(管理者モードで直接指定)
|
||
# --> 1 : 自動算出モード(参加人数/(国数+無所属)) 統一後の優劣機能搭載
|
||
$limit_mode = 1;
|
||
|
||
$clv = 2; # 임관할 수 있는 레벨
|
||
|
||
$kisei = 0; # 신규 등록 규제(0:없음 1:있음)
|
||
|
||
# デバックモード
|
||
# なし:PC・モバイル両対応
|
||
# pc :PC限定モード(モバイル非対応)
|
||
# mv :モバイル固定モード(PC上でモバイル画面をエミュレート表示)
|
||
$mv_mode = 'pc';
|
||
|
||
# 기기 분류 강제 지정 (모든 환경에서 반응형 PC 레이아웃 사용)
|
||
if( 0 ){
|
||
# -- 모바일용 설정 --
|
||
$mv_mode = 'mv'; # 모바일 식별자 변경 불가
|
||
require './inc/ore_sub-base_mv.cgi';# 모바일용 베이스 루틴
|
||
|
||
$method = "GET"; # 폼 메서드
|
||
$bt_count = 15; # 수행 시 캐릭터 최대수
|
||
|
||
# モバイル用パケット軽量モード 0X か XX を選択
|
||
# ・플레이어 정보>> 00:대기중에만 표시 없음:항상 표시
|
||
# ・각종 BBS 링크 >> 01:대기중에만 표시 11:항상 표시 없음:항상 표시 안 함
|
||
# ・최신 정보 >> 02:대기중에만 표시 22:항상 표시 없음:항상 표시 안 함
|
||
# ・각국 스테이터스>> 03:대기중에만 표시 33:항상 표시 없음:항상 표시 안 함
|
||
# ・게임 밸런스>> 04:대기중에만 표시 44:항상 표시 없음:항상 표시 안 함
|
||
# ・플레이 중 참가자>> 05:대기중에만 표시 55:항상 표시 없음:항상 표시 안 함
|
||
# ・한마디 방명록 >> 06:대기중에만 표시 66:항상 표시 없음:항상 표시 안 함
|
||
$lt_mode = "00,01,02,03"; # 항목 간에는 [ , ]로 구분함
|
||
|
||
}else{
|
||
# -- PC용 설정 --
|
||
$mv_mode = 'pc'; # PC 식별자 변경 불가
|
||
require './inc/ore_sub-base_pc.cgi';# PC용 서브루틴
|
||
$td_end = "</td>"; # 레이아웃 보정 변경 불가
|
||
$button1 = 'class="button1"'; # 레이아웃 보정 변경 불가
|
||
|
||
$method = "POST"; # 폼 메서드
|
||
$bt_count = 90; # 수행 시 캐릭터 최대수
|
||
}
|
||
|
||
# アクセス制限(ホスト名もしくはIPアドレスを記述)
|
||
@deny = (
|
||
"anonymizer.com",
|
||
"cache*.*.interlog.com",
|
||
"",
|
||
""
|
||
);
|
||
|
||
#===============================================================================
|
||
# 이하 설정은 변경하지 않는 편이 좋을지도 모릅니다
|
||
|
||
# 게임 내 구속 시간. 3600이 1시간. 변경은 1시간 단위로.
|
||
$GMT = int(3600*1); #int(3600*2)
|
||
$GMW = int($GMT/3600); #int($GMT/3600)
|
||
|
||
# この秒数ごとにHP,MPが1ポイント回復する
|
||
$hrg_time= 60;
|
||
|
||
# 통일 난이도 ↑어려움 : ↓쉬움 (미묘하므로 변경하지 않는 것이 무난합니다.)
|
||
$reset_point = 0.45; # 변경은 0.01 ~ 0.1 단위로.
|
||
|
||
# 통일 기한. 이 일수 이내에 통일하지 않으면 리셋됨
|
||
$reset_time_limit= 20;
|
||
|
||
# 통일/reset 후 국가 데이터 (0: 구버전[고정] 1: 랜덤[다양성 높음])
|
||
$reset_cdat = 1;
|
||
|
||
# 무엇을 해도 '행동 중... 앞으로 ??분'이라고 표시되는 경우의 회피 옵션 [보통은 0으로 유지]
|
||
# ??분의 초 단위 환산을 입력 예: 2분 >> 120
|
||
$spend_time = 0;
|
||
|
||
@cmp = ('무소속','알메리아 왕국','플라린 교국','이기스 연합국','소디나 제국','야마토 신국'); # 진영. 국가 추가는 불가능합니다. 개조한다면 예외겠지만요.
|
||
|
||
@color = ('#EEEEEE','#EE9999','#00EEEE','#88EE88','#FFCCFF','#55BBFF'); # 각 진영의 색상. 무소속은 무관
|
||
|
||
@cl = ('용병','농병','종졸','아시가루','창병','아시가루 대장','수습 기사','기사','상급 기사','기사 대장','대대장','대장','상급 대장','장군','원수'); # 계급 명칭은 변경 가능
|
||
|
||
@g_p = (0,1000,2000,3000,4000,5000,6000,7000,8000,10000,12000,14000,16000,18000,20000); # 계급별 병사 수 상한 등. 변경 가능하나 시스템을 이해하지 못한 채 수정하면 게임이 붕괴할 수 있습니다.
|
||
|
||
@sogo_p =('----','패자','영웅','채무왕','귀축',' ',' ',' ',' ',' ','관리자'); # 칭호
|
||
|
||
@seibetu =('--','남','여');
|
||
|
||
sub settei {
|
||
# 所属別必殺技 - 名称は変更可能 -
|
||
|
||
if($camp==0){
|
||
@spell = ('마진검','전회복');
|
||
@sp_mp = (3,9);
|
||
}elsif($camp==1){
|
||
@spell = ('질풍검','생명공','주격공','염창선','강기','절신공','봉황전생','혼쇄기');
|
||
@sp_mp = (6,9,12,15,18,21,60,90);
|
||
}elsif($camp==2){
|
||
@spell = ('버티컬 소드','어택','힐','세인트 크로스','앙크레아 브레이크','하이힐','꿈을 잇는 자','용파참');
|
||
@sp_mp = (6,12,9,18,30,21,45,90);
|
||
}elsif($camp==3){
|
||
@spell = ('소드 슬래시','어택','소드 댄스','실드','아머 브레이크','하이힐','오거 소드','얼티밋 어택');
|
||
@sp_mp = (6,12,12,18,25,21,40,99);
|
||
}elsif($camp==4){
|
||
@spell = ('암흑검','데드 크라운','나이트메어','흑염','하이힐','어택','실드','지옥문');
|
||
@sp_mp = (9,12,10,15,21,12,18,70);
|
||
}elsif($camp==5){
|
||
@spell = ('일식','일식・단','이식','이식・열','삼식','삼식・파','영식','영식・절');
|
||
@sp_mp = (10,10,20,20,30,30,60,80);
|
||
}
|
||
|
||
# 계급 기술 - 명칭은 변경 가능 -
|
||
@kspell = ('파이어','아이스 스톰','다이아 큐트','브레인 댐드');
|
||
@ksp_mp = (5,25,50,100);
|
||
|
||
# 무기 추가 간편 [번호, 무기명, 가격, 내구도, 공격력, 설명] 1~10까지는 숨겨진 무기, 11~는 상점 상품
|
||
# int(rand(xxx))로 0~xxx의 랜덤값. 예: int(rand(20)+50) >> 0~20 + 50이 공격력
|
||
@dg_data =(
|
||
[0,'----', 0, 0, 0, 0],
|
||
[1,'하구레 메탈의 검', 100000, 100, int(rand(100)), 0],
|
||
[2,'엑스칼리버', 150000, 250, 60, 0],
|
||
[3,'롱기누스의 창', 100000, 100, 60, 0],
|
||
[4,'쿠사나기의 검', 90000, 300, 50, 0],
|
||
[5,'',,,,],
|
||
[6,'',,,,],
|
||
[7,'',,,,],
|
||
[8,'',,,,],
|
||
[9,'',,,,],
|
||
[10,'',,,,],
|
||
[11,'크리스탈 소드', 75000, 200, 35, '크리스탈을 정제하여 만든 검'],
|
||
[12,'무라마사', 50000, 75, 35, '예로부터 전해 내려오는 요도. 강하지만 잘 부러진다'],
|
||
[13,'나이트 오브 섀도우', 34000, 300, 25, '칠흑의 검. 매우 견고함'],
|
||
[14,'마신의 도끼', 20000, 100, 20, '핸드 액스. 이가 빠지기 쉽다'],
|
||
[15,'모닝 스타', 12000, 200, 15, '가시 철구'],
|
||
[16,'롱 스피어', 6000, 100, 10, '철제 장창'],
|
||
[17,'브론즈 소드', 3000, 150, 5, '청동 검']
|
||
);
|
||
|
||
# 방어구 추가 간편 [번호, 방어구명, 가격, 내구도, 방어력, 설명] 1~10까지는 숨겨진 방어구, 11~는 상점 상품
|
||
# int(rand(xxx))로 0~xxx의 랜덤값. 예: int(rand(20)+50) >> 0~20 + 50이 방어력
|
||
@df_data =(
|
||
[0,'----', 0, 0, 0, 0],
|
||
[1,'물의 날개옷', 100000, 150, int(rand(60)), 0],
|
||
[2,'빛의 갑옷', 120000, 300, 40, 0],
|
||
[3,'칼날 갑옷', 900000, 150, 35, 0],
|
||
[4,'대지의 갑옷', 70000, 350, 30, 0],
|
||
[5,'',,,,],
|
||
[6,'',,,,],
|
||
[7,'',,,,],
|
||
[8,'',,,,],
|
||
[9,'',,,,],
|
||
[10,'',,,,],
|
||
[11,'드래곤 아머', 50000, 250, 25, '용의 뿔을 가공하여 만든 갑옷'],
|
||
[12,'미스릴 아머', 34000, 150, 20, '미스릴제 갑옷'],
|
||
[13,'강철 갑옷', 20000, 300, 15, '강철제 갑옷. 튼튼하고 잘 깨지지 않는다'],
|
||
[15,'회피의 옷', 14000, 150, int(rand(30)), '가볍고 움직이기 편한 옷'],
|
||
[14,'철제 갑옷', 8000, 250, 10, '철제 갑옷'],
|
||
[16,'사슬 갑옷', 4000, 150, 5, '쇠사슬을 엮어 만든 옷'],
|
||
[17,'가죽 갑옷', 1500, 200, 2, '무두질한 가죽으로 만든 갑옷. 없는 것보다는 낫다..']
|
||
);
|
||
|
||
# 도구 추가 어려움 [번호, 도구명, 가격, 사용 횟수, 설명] 1~10까지는 숨겨진 도구, 11~는 상점 상품
|
||
@di_data =(
|
||
[0,'----', 0, 0, 0],
|
||
[1,'현자의 돌', 80000, 250, 0],
|
||
[2,'세계수의 잎', 64000, 1, 0],
|
||
[3,'생명의 열매', 64000, 1, 0],
|
||
[4,'마물의 꼬리', 64000, 1, 0],
|
||
[5,'',,,,],
|
||
[6,'',,,,],
|
||
[7,'',,,,],
|
||
[8,'',,,,],
|
||
[9,'',,,,],
|
||
[10,'',,,,],
|
||
[11,'황제액', 42000, 1, '체력 & 정신이 어느 정도 회복'],
|
||
[12,'정령수', 24000, 1, '정신이 어느 정도 회복'],
|
||
[13,'안정액', 8000, 1, '정신이 조금 회복'],
|
||
[14,'치유수', 15000, 1, '체력이 어느 정도 회복'],
|
||
[15,'약초', 5000, 1, '체력이 조금 회복'],
|
||
);
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
1;# 삭제 불가 |