Eメール
お名前
題 名  ※投稿キーは必須です!
本文
URL
アイコン   [イメージ参照]
暗証キー (英数字で8文字以内)
投稿キー (投稿時 投稿キー を入力してください)
文字色

最新の投稿 / ↑前のページ / ↓次のページ

No.253 こんばんは。 - キャンディー
/
 

管理人様こんばんは。いつも色々とご参考にさせていただいております。今回ちょっと管理人様のお力をお貸しいただきたいと思い書き込みさせていただきました。ギルドコマンドで店舗よりギルドへ資金援助が出来るのですが逆にギルド資金を店舗へ援助をするにはどうしたら良いのでしょうか?
多分ですがいじるファイルはinc-guild-cmd.cgiだと思います。
改造箇所は
sub GuildFundF
{
$stock=($DT->{money} - 100000);
$disp.="<BIG>●ギルド寄付</BIG>: 資金の余裕がありません",return if ($stock < 100000);
$disp.=<<STR;
<form action="action.cgi" $METHOD>
<INPUT TYPE=HIDDEN NAME=key VALUE="gd-s">
$USERPASSFORM
<INPUT TYPE=HIDDEN NAME=mode VALUE="fund">
<BIG>●ギルド寄付</BIG>: $term[0]
<SELECT NAME=cnt1>
<OPTION VALUE="0" SELECTED>
STR
$msg{1000}=1000;
$msg{10000}=10000;
$msg{100000}=100000;
$msg{1000000}=1000000;
$msg{$stock}="$stock(最大額)";
my $oldcnt=0;
foreach my $cnt (sort { $a <=> $b } (1000,10000,100000,1000000,$stock))
{
last if $stock<$cnt || $cnt==$oldcnt;
$disp.="<OPTION VALUE=\"$cnt\">$msg{$cnt}";
$oldcnt=$cnt;
}
$disp.=<<STR;
</SELECT>
$term[1]、もしくは $term[0]
<INPUT TYPE=TEXT SIZE=7 NAME=cnt2>$term[1]
<INPUT TYPE=SUBMIT VALUE="寄付する">
</FORM>
STR
}

をいじれば良いと思うのですがいまいち分かりません(;^-^;)
対象変数を入れ替えたりすれば良いかと思いますが具体的にどう改造したら良いか教えていただけると大変助かります。
何かとお忙しいかと思いますがよろしくお願いします。

2008/09/28(Sun) 19:43
No.254 Re: こんばんは。 - GEN
 

この部分は、単なる表示というか、データの入力部分にすぎず、
実際の処理部分は別にあります。
どこを見るといいますと、
<INPUT TYPE=HIDDEN NAME=key VALUE="gd-s">
<INPUT TYPE=HIDDEN NAME=mode VALUE="fund">

この2行から、「gd-s.cgi」の「fund」という処理に飛んでいることがわかります(商人物語の記述に限ったことですが)。

実際の記述は以下のようになっていました。
sub fund
{
$count=CheckCount($Q{cnt1},$Q{cnt2},0,$DT->{money});

OutError('寄付金額を指定してください') if !$count;
OutError('最低でも'.GetMoneyString(100000).'は自店に残しましょう') if ($DT->{money} - $count) < 100000;

$ret="ギルド「".$GUILD{$DT->{guild}}->[$GUILDIDX_name]."」に".GetMoneyString($count)."寄付";
EditGuildMoney($DT->{guild} ,$count);
$DT->{money}-=$count;
$DT->{paytoday}+=$count;
PushLog(0,0,$DT->{shopname}."がギルド「".$GUILD{$DT->{guild}}->[$GUILDIDX_name]."」に".GetMoneyString($count)."寄付しました。");
}

ギルド員に援助ということで、新たに以下のような処理を追加する必要があると思います。
@ギルド員のみを選択できるリストを表示する
Aギルド員のIDから変数を取り出す

具体的には、以下のように改造するとできます。たぶん。
■「inc-guild-cmd.cgi」GuildFundFの下に追加
sub GuildFundF2
{
$disp.=<<STR;
<form action="action.cgi" $METHOD>
<INPUT TYPE=HIDDEN NAME=key VALUE="gd-s">
$USERPASSFORM
<INPUT TYPE=HIDDEN NAME=mode VALUE="fund2">
<BIG>●資金援助</BIG>:ギルド員
<SELECT NAME=tg>
STR

foreach(@DT){
next if ($_->{guild} ne $DT->{guild});
$disp.="<OPTION VALUE=\"".$_->{id}."\">$_->{shopname}";
}

$disp.=<<STR;
</SELECT>
に対し、 $term[0]
<INPUT TYPE=TEXT SIZE=7 NAME=cnt>$term[1]
<INPUT TYPE=SUBMIT VALUE="寄付する">
</FORM>
STR
}

■「inc-guild-cmd.cgi」の最初に「GuildFundF2」の呼び出し追加

GuildFundF();
$disp.='<hr width=500 noshade size=1>';

GuildFundF2();
$disp.='<hr width=500 noshade size=1>';

Break();
my $checkok;

■「gd-s.cgi」のfundの下にfund2として以下を追加

sub fund2
{
$i=$id2idx{$Q{tg}};
$DTS=$DT[$i];

$ret=$DTS->{shopname}."に".GetMoneyString($Q{cnt})."の資金援助を行ないました";

EditGuildMoney($DT->{guild} ,-$Q{cnt});

$DTS->{money}+=$count;

PushLog(0,0,"ギルド「".$GUILD{$DT->{guild}}->[$GUILDIDX_name]."」が".$DTS->

{shopname}."に".GetMoneyString($Q{cnt})."の資金援助を行ないました。");
}

以上でできるはずです。
ただし、ギルド資金より多い援助額を入力された場合のエラーなどは入れていません。

2008/09/28(Sun) 22:43
No.259 ありがとうございますm(_ _)m - キャンディー
 

早速のご返答ありがとうございます。
初歩的な事かと思いますがご支援くださいましてありがとうございます。まだ試していませんが週末の時間が出来た時に試してみたいと思います。ギルド資金以上の援助をした場合のエラーですがあまり自信がありませんが頑張ってみます。
もしうまく行かない場合再度ご支援をお願いするかもしれませんがその時はよろしくお願いします。

2008/10/01(Wed) 21:50
No.220 凍結 - ゆー
/
 

ゆーです。げんさまお世話になってます。
当分INが出来ない為全街凍結をお願いできませんか。
お願いします。

2008/05/25(Sun) 18:56
No.221 Re: 凍結 - げんちゃん
 

こちらこそお世話になっております〜。
ゲーム街の店舗を凍結しました。
解除するときは、またお知らせください。

2008/05/25(Sun) 19:23
No.249 Re: 凍結 - ゆー
 

こんにちは。
凍結してもらっているのですが、あと2年INできそうにないので、
このまま閉店したいと思います。
凍結を解除おねがいします。
ご迷惑をおかけしました。m(_ _)m

2008/09/15(Mon) 09:48
No.250 Re: 凍結 - GEN
 

満員になることはないので、
凍結のままでもよかったのですが、
凍結を解除しておきますね。

長い間遊んでいただきありがとうございました。

2008/09/18(Thu) 00:59
No.251 Re: 凍結 - ゆー
 

こちらこそありがとうございました。
また遊びたいです。
管理がんばってください。

2008/09/21(Sun) 17:57
No.232 アイテムの設定について - 胡蝶 飛鳥
/ URL /
 

こんにちは。少々お聞きしたいことがありまして書き込みさせていただきました。
今現在他店からあるアイテム(以後Xとします)を回収するアイテムを作っています。

@@use
time 1m
scale 枚
action 回収する
name Xを回収する
info 他店からXを回収します
arg target|nocount
need 1 回収アイテム
func _local_
return "$DTS->{shopname}にはXはありません" if($DTS->{item}[@@ITEMNO"100"]);
$DTS->{item}[@@ITEMNO"100"-1]--;
$DTS->{item}[@@ITEMNO"100"-1]=$ITEM[@@ITEMNO"100"]->{limit} if($DTS->{item}[@@ITEMNO"100"-1]>$ITEM[@@ITEMNO"100"]->{limit});
WriteLog(1,0$DT->{shopname}."が".$DTS->{shopname}."からXを回収しました");
$ret="$DTS->{shopname}からXを回収しました";
return $ret;
_local_

と記述しているのですが、回収するときにそのXを持っている店舗だけをリストに表示する方法が分からないのです。
もしよろしければご教授いただけないでしょうか。
お忙しい中失礼いたしました。

2008/08/04(Mon) 16:46
No.233 Re: アイテムの設定について - GEN
 

実際に試していないので保証できませんが、以下のような方法を提案したいと思います。ゲーム街のハードの選択に使っている方法です。これで実現できなければすいません。

@新たに「target2」というパラメーターを作成する(名前は何でもよい)。
A「item-m.cgi」を「custom」フォルダに入れる。
B上のファイルに、以下のような部分がある。
if($USE->{arg}=~ /target/)
{
$select_target="<SELECT NAME=tg>";
foreach (@DT)
{
$select_target.="<OPTION VALUE='$_->{id}'>$_->{shopname}";
}
$select_target.="</SELECT>に対して";
}

これを真似して、このソースの下に「target2」の記述をする。その記述の中で、アイテムを持っているかの判定をする。具体的には以下のような感じ。

if($USE->{arg}=~ /target2/)
{
$select_target="<SELECT NAME=tg>";
foreach (@DT)
{if (アイテム持っているとき) {
$select_target.="<OPTION VALUE='$_->{id}'>$_->{shopname}";
}}
$select_target.="</SELECT>に対して";
}

改造したitem-m.cgiをcustomにアップロードします。
こんな感じにするとどうでしょうか。

2008/08/04(Mon) 23:21
No.234 Re: アイテムの設定について - 胡蝶 飛鳥
 

返信遅れてすみません。さっそくその方法を試してみたのですがうまくいかないようです。そこでわざわざ書いていただいたのに申し訳ないのですが、持っている店舗のみをリスト表示するという方法をやめて、エラーレポートではじくという方法にしたいと思います。そこで、

@@use
time 1m
scale 枚
action 回収する
name Xを回収する
info Xを回収します
arg target|nocount
need 1 回収アイテム
func _local_
main::OutError('自分のお店にXがあるはずがありません!多忙な仕事でどうかなされましたか?') if($DT->{id} eq $DTS->{id});
★main::OutError("$DTS->{shopname}にはXはありません") if($DTS->{item}[@@ITEMNO"442"]);★
$DTS->{item}[@@ITEMNO"442"-1]--;
$DTS->{item}[@@ITEMNO"442"-1]=$ITEM[@@ITEMNO"442"]->{limit} if($DTS->{item}[@@ITEMNO"442"-1]>$ITEM[@@ITEMNO"442"]->{limit});
WriteLog(1,0$DT->{shopname}."が".$DTS->{shopname}."からXを回収しました");
$ret="$DTS->{shopname}からXを回収しました";
return $ret;
_local_

としたのですが、自店はうまくはじかれるのですが、ほかの店舗ははじかれずにすべて回収できてしまいます。おそらく★で囲ってみた部分がよくないと思うのですが自分ではどう修正したら良いかよく分からないのです。
申し訳ありませんがご教授いただけないでしょうか。

2008/08/06(Wed) 12:03
No.235 Re: アイテムの設定について - GEN
 

私自身、「item-m.cgi」の改造がうまくいかなかったというのは気がかりです。

構文 @@ITEMNO "[商品名]:商品名or商品コード"
この構文はinc-item-data.cgi内でのみ使えます。
プログラムの記述では、以下のように記述するのが普通かと思います。
変更前 ) $DTS->{item}[@@ITEMNO"442"]
変更後 ) $DTS->{item}[441] ※入れるのはコード番号-1

それを踏まえてうえで、以下のように「item-m.cgi」を変えるとどうでしょうか。

if($USE->{arg}=~ /target/)
{
〜中略〜
$select_target.="</SELECT>に対して";
}

if($USE->{arg}=~ /target2/)
{
$select_target="<SELECT NAME=tg>";
foreach (@DT)
{ if ($_->{item}[441] != 0) {
$select_target.="<OPTION VALUE='$_->{id}'>$_->{shopname}";
}}
$select_target.="</SELECT>に対して";
}

あと、ソース内ではじくほうですが、★の中は、アイテム番号をマイナス1していません。

また、以下に変数のif文の説明を記します。
if($test)  :$testという変数が定義されている場合
if(!$test) :$testという変数が定義されていない場合

なので、現在の記述ですと、「持っていない」という判断ができないのです。具体的には、以下のようにするといいと思います。

if(!$DTS->{item}[441]);

または、このあたりでしょうか。

if($DTS->{item}[441] == 0);

間違えていたらすいません。

2008/08/06(Wed) 16:51
No.237 Re: アイテムの設定について - 胡蝶 飛鳥
 

どうやら両パターンとも私の“!”の付け忘れ&記述ミスだったようです・・・申し訳ありません。
GEN様のおっしゃられるように記述したところ、どちらの方法でもうまく動作いたしましたので、リスト表示の方法をとりたいと思います。
お忙しい中わざわざ解説までしていただき、ありがとうございました^^;

P.S. 改造完了後にGEN様のサイトを私のサイトのリンクに追加してもよろしでしょうか?

2008/08/06(Wed) 20:07
No.238 Re: アイテムの設定について - GEN
 

お役に立ててよかったです。
また何かありましたらお気軽にどうぞ。

リンクについては、ぜひ追加お願いします。
こちらからもリンクに追加させていただきますよ〜。

あと、商人物語のリンクとして、「あきものえんじん」のほかに、
「無料ゲーム紹介所」
http://www.seijyuu.com/game/
というところがありまして、登録すると結構アクセスがありますよ。

今後ともよろしくお願いします〜。

2008/08/06(Wed) 21:16
No.239 Re: アイテムの設定について - 胡蝶 飛鳥
 

本当に助かりました^^感謝です。

リンクはこちらも追加いたしました。
あと細かいことで申し訳ないのですが、リンクのところの名前で“胡”が抜けてるようです><

「あきものえんじん」は知ってましたけど、「無料ゲーム紹介所」の方は知らなかったです。教えていただきありがとうございます。
後ほど登録したいと思います。

こちらこそこれからもよろしくお願いいたします。

2008/08/07(Thu) 01:09
No.227 陳列表示について - 胡蝶 飛鳥
/ URL /
 

こんにちは。胡蝶 飛鳥と言います。
ここのサイトの追加ルーチンを使わせていただいています。
今回は一つお願いしたいことがあって書き込ませていただきました。
ここのサイトで公開されている追加ルーチンに“アトラスの改良”がありますが、これを陳列に応用できないでしょうか。
ちょっと分かりにくいので例を申し上げますと、
デフォルトの設定では、棚に陳列するときに
棚1(パン)へ標準価格のまま または□円で陳列する
となっているところを
棚1(パン 在庫○個)へ標準価格のまま または□円で陳列する
という風にしたいのです。
こうすればいちいち店内に戻って空き棚を確認しなくても、倉庫から陳列するときに直接確認できるので効率が良くなると思うのです。

お忙しい中申し訳ないのですが、検討していただけないでしょうか。よろしくお願いします。

2008/08/01(Fri) 17:29
No.228 Re: 陳列表示について - GEN
 

追加ルーチンのご利用ありがとうございます。
棚の陳列時に確認できれば、確かに効率的ですね。
簡単な改造で実現できました。
よいアイディアなので、そのまま追加ルーチンに加えさせていただきました。

追加ルーチンのページの、「陳列時に在庫確認」のページに改造法を載せましたので、参考にしてください。

よろしくお願いします〜。

2008/08/01(Fri) 22:02
No.229 Re: 陳列表示について - 胡蝶 飛鳥
 

作成していただきありがとうございます^^お早い行動に感謝です。
さっそく使用させていただきました。
そこで修正点に気付いたのですがよろしいでしょうか。
(パン 在庫○個)の個のところを各アイテムの呼び方で出来ないでしょうか。
船なら
(ラテン 在庫○隻)
剣なら
(木刀 在庫○本)
といった具合です。さすがに船で個というのはどうかと思いまして・・・。

2008/08/01(Fri) 23:14
No.230 Re: 陳列表示について - GEN
 

なるほど、確かにそうですね。
どうせやるなら、そのほうがいいですよ。
それもすぐできますよ。

$disp.="棚$cnt($ITEM[$DT->{showcase}[$cnt-1]]->{name} 在庫$DT->{item}[$DT->{showcase}[$cnt-1]-1]$ITEM[$DT->{showcase}[$cnt-1]]->{scale})";

これに変更してみてください。

お気づきの点、ご連絡ありがとうございました。
また何かありましたらお気軽にお願いします。

2008/08/01(Fri) 23:45
No.231 Re: 陳列表示について - 胡蝶 飛鳥
 

ご対応ありがとうございます。
さっそく変更させていただきました。
また何かありましたらお願いしたいと思います^^

2008/08/02(Sat) 01:05
No.225 実装させていただきました。 - 姫路鹿之助
/ URL /
 

はじめまして。
姫路鹿之助と申します。
この度、当HPの商人物語を実装する際、げんちゃんゲームランド様の
「お掃除券」
「職業に応じて内装を変える」
を、使わせて頂きました。ありがとうございますです。

ではでは、今後ともお付き合いの程、よろしくお願いいたしますです。

2008/06/14(Sat) 13:50
No.226 Re: 実装させていただきました。 - GEN
 

ご利用ありがとうございます。
今後ともよろしくお願いします。

2008/06/14(Sat) 22:32

最新の投稿 / ↑前のページ / ↓次のページ

Page: | | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | |

No. 暗証キー

- YY-BOARD / 改造:げんちゃんゲームランド-