99Max综合娱乐网站(旧版)

 找回密码
 立即注册
查看: 2062|回复: 12

[脚本求助] 一生一叹一痕沙求教 续有关限制单人与NPC对话的问题

[复制链接]

升级   100%

群组: JRO日本客户端

发表于 2012-4-21 00:16:18 | 显示全部楼层 |阅读模式
20基纳
本帖最后由 boboli 于 2012-4-21 01:29 编辑

一生一叹一痕沙您好 上次求教的 有关当有1名玩家与NPC对话时,其他玩家都无法对话脚本是:
prontera,154,90,4        script        1111        725,{
setarray .weiyi[0],1,0,0;
set .ceshi,.weiyi[.i];
if(.i < 1) {set .i,.i+1;}
if(.ceshi != 1) goto L_bye;
mes "你好";
next;
mes "再见";
close2;
set .i,0;
end;
L_bye:
mes "有人在对话,稍等";
close;
}

可以实现当有一名玩家正在于NPC对话进行时,其他玩家无法与该NPC对话

那么请教 :如果玩家需要通过该NPC做一任务,比如,需要分别于NPC对话三段内容,就是讲第一段,结束对话了,然后再点NPC再讲第二段对话,结束,然后再点NPC对话说第三段对话内容,此时任务结束。那么,在该名玩家 完成第一段,或第一段第二段都完成,但没完成第三段对话,也就是该任务流程没结束时,其他玩家也无法与该NPC对话,必须等第一个玩家执行完三段对话完成任务后,方可与该NPC对话执行任务。

这样的要求该怎么修改脚本?

---------------------------------------------------------------------------------------------------------------------------------
itemmall,188,65,4        script        测试        90,{
OnTimer5000:
        npctalk "NPC说话";       
        initnpctimer;       
        end;
       
OnInit:
        initnpctimer;
        end;
}

这个脚本让NPC每5秒自动说话一次,请问如何设置多句说话内容,然后随机说其中一句?

我改成下例,服务端没报错,但是NPC却不说话了
OnTimer5000:
//npctalk ""+@fg+""; //此句加不加都无任何效果
set @fg,rand(90);
if (@fg >=1 && @fg <= 30){
npctalk"美味的蓝枪鱼呀!";
}else
if (@fg >=31 && @fg <= 60){
npctalk"怎么鱼还不上钩呀?!";
}else
if (@fg >=61 && @fg <= 90){
npctalk"好想吃,好想吃鱼啊啊!";
}
end;
        initnpctimer;       
        end;
       
OnInit:
        initnpctimer;
        end;

=================华==丽==丽==的==分==割==线=================
通告:
即日起,本人所有求助帖都将悬赏20个基纳寻求帮助,可视求助内容难易度增加基纳,基纳虽少,仅表示本人对提供帮助的网友的一种尊重。同时本人也对未获得悬赏但也提供帮助的朋友表示感谢。


最佳答案

查看完整内容

上次那个有关当有1名玩家与NPC对话时,其他玩家都无法对话脚本优化下: prontera,154,90,4 script 1111 725,{ if(.i == 0) { set .i,1; mes "你好"; next; mes "再见"; close2; set .i,0; end; } mes "有人在对话,稍等"; close; } 这回的任务形式的 prontera,154,90,4 script 1111 725,{ if(.i == 0 && me == 0) { set .i,1; mes "第一个 ...
温馨提示:
1. 本站模拟器源于网络,经 99Max.mE 二次开发,仅供个人学习娱乐使用,切勿用于商业用途,否则后果自负!
2. 如需更好体验游戏内容,请前往官方游戏!不具备合法的运营模式,都是强盗,请勿擅自搭建私服!
3. 如本站内容有侵犯您的权益,请发送信息至QQ:372607220 或 EMAIL:372607220@qq.com ,我们会及时删除。

升级   0%

发表于 2012-4-21 00:16:19 | 显示全部楼层
本帖最后由 一生一叹一痕沙 于 2012-4-21 14:34 编辑

上次那个有关当有1名玩家与NPC对话时,其他玩家都无法对话脚本优化下:
prontera,154,90,4        script        1111        725,{
        if(.i == 0) {
                set .i,1;
                mes "你好";
                next;
                mes "再见";
                close2;
                set .i,0;
                end;
        }
        mes "有人在对话,稍等";
        close;
}

这回的任务形式的
prontera,154,90,4        script        1111        725,{
        if(.i == 0 && me == 0) {
                set .i,1;
                mes "第一个任务";
                set me,1;
                close;
        }
        if(me == 1) {
                mes "第二个任务";
                set me,2;
                close;
        }
        if(me == 2) {
                mes "第三个任务";
                set .i,0;
                set me,0;
                close;
        }
        mes "任务进行中";
        close;
}

然后自动随机喊话的
prontera,160,183,4        script        我就是那个NPC        725,{
OnTimer2000:
        set .i,rand(3);
        switch(.i) {
        case 0:        npctalk "美味的蓝枪鱼呀"; break;
        case 1:        npctalk "怎么鱼还不上钩呀"; break;
        case 2:        npctalk "好想吃,好想吃鱼啊啊"; break;
        }
        initnpctimer;
        end;

OnInit:
        initnpctimer;
        end;
}

问题出在你变量代表的含义没有搞清楚

前缀                作用范围        生存期
(无前缀)        人物                永久
@                人物                人物在线时
$                Map服务器        永久
$@                Map服务器        同一次Map服务器运行时
#                帐号(个人)        永久
##                帐号(全服)        永久
.                单个NPC                同一次Map服务器运行时
.@                单个NPC+人物        同一次NPC触发时

这个资料看下吧,很基础但很重要
回复

使用道具 举报

升级   100%

群组: JRO日本客户端

 楼主| 发表于 2012-4-21 15:55:40 | 显示全部楼层
非常感谢
回复

使用道具 举报

升级   13.4%

发表于 2012-4-21 16:12:02 | 显示全部楼层
刚好自己也在筹划写NPC  多学习多学习
回复

使用道具 举报

升级   48.15%

发表于 2012-8-7 21:44:35 | 显示全部楼层
这个脚本不就会导致一个人开着对话挂在那里,但是不按..其它人就按不到了么
回复

使用道具 举报

升级   100%

群组: JRO日本客户端

 楼主| 发表于 2012-8-8 08:12:49 | 显示全部楼层
cjyu9012 发表于 2012-8-7 21:44
这个脚本不就会导致一个人开着对话挂在那里,但是不按..其它人就按不到了么

会有这样的情况 如果有人恶意不点 就完了
回复

使用道具 举报

升级   6.33%

发表于 2012-8-8 10:32:19 | 显示全部楼层
搞个sleep2 谁霸占NPC 到时间了直接detachrid掉这个人就是了
回复

使用道具 举报

升级   100%

发表于 2012-8-8 11:24:21 | 显示全部楼层
液态冰 发表于 2012-8-8 10:32
搞个sleep2 谁霸占NPC 到时间了直接detachrid掉这个人就是了

冰你能上论坛?
回复

使用道具 举报

升级   6.33%

发表于 2012-8-8 11:46:15 | 显示全部楼层
能上 上不了Q 然后倒霉的115不能用了
回复

使用道具 举报

升级   6.33%

发表于 2012-8-8 11:47:12 | 显示全部楼层
灵巧儿 发表于 2012-8-8 11:24
冰你能上论坛?

上不了Q 能上论坛 115网盘现在也不能用了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|99Max综合娱乐网站(旧版) ( 沪ICP备11024206号-1 )

GMT+8, 2025-2-25 22:26 , Processed in 0.273555 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表