[問題]如何做出增加寄信的人呢︿︿?

製作Webgame技術交流、Webgame相關程式功能改造、中文化技巧等相關討論。

版主: Mr.Simon, 涅魂, 小剎, BSM

頭像
幽雲
 
文章: 109
註冊時間: 2005-06-05 4:12 pm
來自: 夢想幻翼
性別: 男生

[問題]如何做出增加寄信的人呢︿︿?

文章幽雲 » 2007-01-01 6:51 am

信件裡面,好像不能自己手動加入玩家
要怎麼改才能改入呢0.0?



題外話:恭喜bsm改版 XD"
(因為看到你在我那邊的留言=3=)



teng
 
文章: 124
註冊時間: 2004-09-23 10:01 am

文章teng » 2007-01-01 11:06 am

@@
先在mail.cgi加入
代碼: 選擇全部
   print qq|<form method=$method action=$listcgi><input type=hidden name=mode value='mail_add'>\n|;
   print qq|<input type=hidden name=id value="$F{'id'}"><input type=hidden name=ps value="$F{'ps'}"><hr class=text>《新增友人》對方ID:<input type=text name=frad size=10><input type=submit value='新增' class=button></form>\n|;

之後...在.
加一個
# Sub mail_add #
sub mail_add {
?????????????
不明代碼-v-"
&mail_form;
}


http://chaoslove.co.cc 我的論壇@@"
目標: 重新清潔垃圾中

頭像
幽雲
 
文章: 109
註冊時間: 2005-06-05 4:12 pm
來自: 夢想幻翼
性別: 男生

文章幽雲 » 2007-01-01 7:16 pm

teng 寫:@@
先在mail.cgi加入
代碼: 選擇全部
   print qq|<form method=$method action=$listcgi><input type=hidden name=mode value='mail_add'>\n|;
   print qq|<input type=hidden name=id value="$F{'id'}"><input type=hidden name=ps value="$F{'ps'}"><hr class=text>《新增友人》對方ID:<input type=text name=frad size=10><input type=submit value='新增' class=button></form>\n|;

之後...在.
加一個
# Sub mail_add #
sub mail_add {
?????????????
不明代碼-v-"
&mail_form;
}


重點是函數的部份XD"
前面只是用HTML代碼0.0....

不過謝謝你的幫忙
我去想想看(笑



急速
 
文章: 46
註冊時間: 2006-09-02 10:53 pm
來自: 拉吉達星

文章急速 » 2007-01-29 11:58 am

# Sub mail_add #
sub mail_add {
?????????????
不明代碼-v-"
&mail_form;
}


直覺會想到跟酒館加人可能有些關係
但卻試不出來 囧rz
能多提示一些嗎= =a



頭像
BSM
 
文章: 935
註冊時間: 2003-05-12 4:31 pm

文章BSM » 2007-01-29 12:26 pm

的確跟酒館加人有關

簡單的說就是『用輸入ID的方式,指定你在酒館碰到什麼人而加入成好友』
這樣的運作方式

(但是...刪除好友的部分還在研究啊ˊAˋ)



急速
 
文章: 46
註冊時間: 2006-09-02 10:53 pm
來自: 拉吉達星

文章急速 » 2007-01-29 7:06 pm

# Sub mail_add #
sub mail_add (@alllines) {
($uid,$uname,$usex,$uarea,$uport,$upoint,$ufriend_line) = (split(/<>/))[0,1,3,15,16,17,22];
if ( $friend_line !~ /$uid/ ) {
if (!$friend_line) { $friend_line = "$uid,$uname" }
else { $friend_line .= "△$uid,$uname" }
}
if ( $ufriend_line !~ /$id/ ) {
&get_u($uid);
if (!$ufriend_line) { $ufriend_line = "$id,$name" }
else { $ufriend_line .= "△$id,$name" }
&set_u;
&mail_form;
}
}


目前大概知道是這部份在新增玩家
但在加入時卻都出現ID不存在
而我又不知是何處出錯= =
抱歉一直發問...
我好弱阿 Orz



teng
 
文章: 124
註冊時間: 2004-09-23 10:01 am

文章teng » 2007-10-27 6:32 pm

急速 寫:
# Sub mail_add #
sub mail_add (@alllines) {
($uid,$uname,$usex,$uarea,$uport,$upoint,$ufriend_line) = (split(/<>/))[0,1,3,15,16,17,22];
if ( $friend_line !~ /$uid/ ) {
if (!$friend_line) { $friend_line = "$uid,$uname" }
else { $friend_line .= "△$uid,$uname" }
}
if ( $ufriend_line !~ /$id/ ) {
&get_u($uid);
if (!$ufriend_line) { $ufriend_line = "$id,$name" }
else { $ufriend_line .= "△$id,$name" }
&set_u;
&mail_form;
}
}


目前大概知道是這部份在新增玩家
但在加入時卻都出現ID不存在
而我又不知是何處出錯= =
抱歉一直發問...
我好弱阿 Orz
你的&get_all_users; 到哪了XD?


http://chaoslove.co.cc 我的論壇@@"
目標: 重新清潔垃圾中

急速
 
文章: 46
註冊時間: 2006-09-02 10:53 pm
來自: 拉吉達星

文章急速 » 2007-12-13 11:28 pm

大驚= =a
再來試試看XD


http://cgi.educities.edu.tw/kitty0814/sea/sea.cgi 我架的網海
http://blog.sina.com.tw/alexis/ 個人網站

目前覺得cgi很難的拉吉達星人= ="

急速
 
文章: 46
註冊時間: 2006-09-02 10:53 pm
來自: 拉吉達星

文章急速 » 2007-12-14 9:36 pm

試了一陣子又出現問題了 :cry:

現在不會找不到ID了

但是人加不進去

不過會出現"訊息已傳送至XXX"

除了會發訊息外還會加入一個叫frad的東東...

知道frad是從
代碼: 選擇全部
print qq|<input type=hidden name=id value="$F{'id'}"><input type=hidden name=ps value="$F{'ps'}"><hr class=text>《新增友人》對方ID:<input type=text [color=red]name=frad [/color]size=10><input type=submit value='新增' class=button></form>\n|;
來的

把frad寫成$F{'frad'} = $uid 問題還是沒有解決....只是不會加入frad了

現在我的程式改成這樣但還是有滿大的問題在裡面
代碼: 選擇全部
sub mail_add {
&get_all_users;
   $F{'frad'} = $uid;
   foreach (@alllines) {
      ($uid,$uname,$usex,$uarea,$uport,$upoint,$ufriend_line) = (split(/<>/))[0,1,3,15,16,17,22];
      if ($uport == $port && $upoint >= 0 && $uid != $id) {
         if ( $friend_line !~ /$uid/ ) {
            if (!$friend_line) { $friend_line = "$uid,$uname" }
            else { $friend_line .= "△$uid,$uname" }
         }
         if ( $ufriend_line !~ /$id/ ) {
            &get_u($uid);
            if (!$ufriend_line) { $ufriend_line = "$id,$name" }
            else { $ufriend_line .= "△$id,$name" }
            &set_u;
         }
      }
   }
   &mail_form;
}


包括我對這行也有些疑問.....
代碼: 選擇全部
if ($uport == $port && $upoint >= 0 && $uid != $id) {


$uport == $port 是指對方跟我方的港口位置...刪掉好像沒關係但這也是我主要有問題的地方
因為刪掉又會加入frad但寫$uport == $port又感覺是錯的

$upoint >= 0 這個因該是港內的位置設成這樣因該沒錯....

從沒程式概念到現在有一點點

進步的速度好慢阿

挫折感真重....但在周圍沒什麼人可以問的狀況下

只能仰賴BSM和看書

所以曾經有想要跟B大要及時通的想法

但是又怕叨擾到您所以只好自己看書了...

看書又是看到滿腦的問號....

每次改完程式都不知道錯在哪= =a

但是我總是想要自己完成又不太想問

我真是矛盾的一個人....

但現在我還是想問說...BSM能否向您索取您的及時通嗎

如果您不願意沒關係....只是以後還是在這個論壇繼續問

如果願意就用私人訊息給我吧...我會相當感激您的


http://cgi.educities.edu.tw/kitty0814/sea/sea.cgi 我架的網海
http://blog.sina.com.tw/alexis/ 個人網站

目前覺得cgi很難的拉吉達星人= ="

teng
 
文章: 124
註冊時間: 2004-09-23 10:01 am

文章teng » 2007-12-15 5:10 pm

if ($uport == $port && $upoint >= 0 && $uid != $id) {
這行@@ ..照php判斷的方法就是
$uport就是$port和 upoint 大於等於0 還有$uid不等於$id
ok?


http://chaoslove.co.cc 我的論壇@@"
目標: 重新清潔垃圾中

急速
 
文章: 46
註冊時間: 2006-09-02 10:53 pm
來自: 拉吉達星

文章急速 » 2007-12-16 3:03 pm

if ($uport == $port && $upoint >= 0 && $uid != $id) {

這一句的意思我還看的懂
不過我的解釋是這樣

$uport和$port是指對方和我方所在位置 而$upoint是指港內的位置 $uid和$id就是對方的ID和我方的ID

$upoint在bar.cgi裡原本是寫$upoint == 4

所以原碼 if ($uport == $port && $upoint == 4 && $uid != $id) {就是

當對方和我方在相同的位置,且港內位子在酒館時,若ID不一樣時就執行下列動作

所以我想既然是使用信件直接加,港口位置根本不重要,在港內所有位置都能加好友,ID也要在不一樣時執行下列動作

所以我改成if ($uport != $port && $upoint >= 0 && $uid != $id) {

但是這樣改$uport != $port 就會回到原本的問題,

會一直顯示  訊息已傳送至XXX  而後面的XXX是指自己的角色

像我在測試的時候腳色是天空 他就會顯示 訊息已傳送至天空 不會傳給別人

而且下方的好友欄就會加入frad的名稱...但是並沒有這個人存在

雖然知道跟bar.cgi內部的功能類似...但自己寫就是一堆問題= =

也不知道自己寫錯再哪裡,這樣挫折感很重阿....

所以才會想請會的大大告訴我錯在哪裡

不一定要告訴我答案...但起碼要讓我知道錯在哪裡...不然會感覺在原地打轉

毫無進步的感覺


http://cgi.educities.edu.tw/kitty0814/sea/sea.cgi 我架的網海
http://blog.sina.com.tw/alexis/ 個人網站

目前覺得cgi很難的拉吉達星人= ="

冰水半糖
 
文章: 3
註冊時間: 2008-07-26 6:32 pm

文章冰水半糖 » 2008-07-26 6:57 pm

首先,我覺得這萹文章無最後回覆感到奇怪.

訊息已傳送至XXX <因為$uname有野,而你段碼$uname = 自己


現附上成功的代碼:(當然加在什麼位罝請用腦想.)

代碼: 選擇全部
# Sub Mail Add #
sub mail_add{
   &get_me($F{'id'});
   &get_u($F{'frad'},'read');
   if ($id == $uid ) { &error('你不能把自已加在友人名單上.<br>難度你想寄信比自已?') }
   if ( $friend_line !~ /$uid/ ) {
   if ( !$friend_line ) {
   $friend_line .= "$uid,$uname";
   $passed=1;
   $unm=$uname;
}
else{
   $friend_line .= "△$uid,$uname";
   $passed=1;
   $unm=$uname;
}
         }
else{
   $nopassed=1;
   $unm=$uname;
}
   &set_me;
   &mail_form
}


當然加完後也未行,還會出現"訊息已傳送至XXX"

(mail_form)print qq|訊息已傳送至"$uname"<br><br>\n| if $uname;

轉做:

代碼: 選擇全部
   print qq|訊息已傳送至"$uname"<br><br>\n| if $mailok;
   print qq|成功追加玩家"$unm"<br><br>\n| if $passed;
   print qq|追加玩家"$unm"失敗<br>原因:該玩家ID己在你的友人名單上.<br><br>\n| if $nopassed;


在:
sub send_mail {
.
.
.
.
.
&set_me;
&add_record("$name:「$F{'message'}」",1);
$urecord .= "收到訊息<br>";
&set_u;
&mail_form
}
}

轉做:

代碼: 選擇全部
      &set_me;
      &add_record("$name:「$F{'message'}」",1);
      $urecord .= "收到訊息<br>";
      $mailok= 1;
      &set_u;
      &mail_form
   }
}


大公告成!




回到 Webgame製作&改造

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客