首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个简单的棋子命令

一个简单的棋子命令
EN

Stack Overflow用户
提问于 2016-03-27 03:04:30
回答 2查看 829关注 0票数 1

San Andreas Multiplayer (GTA)使用PAWN作为其编程语言。我是SA-MP上的一台服务器的所有者,我不是那么专业,所以如果可能的话,我想得到一些帮助。基本上,我有一个命令,可以在玩家在线时检查他/她的统计数据,但我希望有一个命令来检查他们离线时的统计数据。这是当玩家在线时检查他的统计数据的命令的代码。

代码语言:javascript
复制
CMD:check(playerid, var[])
{
    new user;
    if(!Logged(playerid)) return NoLogin(playerid);
    if(Player[playerid][pAdmin] >= 2 || Player[playerid][pStaffObserver])
    {
        if(sscanf(var,"us[32]", user, var))
        {
            SendClientMessage(playerid, COLOR_WHITE, "{00BFFF}Usage:{FFFFFF} /check [playerid] [checks]");
            SendClientMessage(playerid, COLOR_GRAD2, "** [CHECKS]: stats");
            return 1;
        }
        if(!strcmp(var, "stats", true))
        {
            if(!Logged(user)) return NoLoginB(playerid);
            ShowStats(playerid, user);
        }
    }
    else
    {
        NoAuth(playerid);
    }
    return 1;
}

我使用的是ZCMD命令处理器和Dini存储系统。所以我想做CMD:ocheck,它会显示股票的ShowStats,它会像/ocheck Firstname_Lastname一样工作。

有什么帮助吗?如果可能的话,请帮忙。

谢谢

~凯文

EN

回答 2

Stack Overflow用户

发布于 2016-04-09 17:58:52

对于所需的命令,您必须从播放器的用户文件中加载数据。

很明显,你会从

代码语言:javascript
复制
if(!Logged(playerid)) return NoLogin(playerid);
if(Player[playerid][pAdmin] >= 2 || Player[playerid][pStaffObserver]) 
{

检查使用此命令的玩家是否有权使用此命令。在此之后,

代码语言:javascript
复制
if(str, "s[32]", name))

您不能在这里使用'u‘作为格式化程序,因为您正在检查离线玩家的统计数据。在此之后,您需要检查用户是否真的注册了,如果他没有注册,则返回此命令的用户的错误,然后检查他是否已经在线。如果他在线,将error返回给admin以使用此命令而不是'ocheck‘如果他处于离线状态,则您可以安全地继续加载他的统计数据(您可以在玩家登录时使用用于加载数据的代码,但这次它应该只打印出来

例如,

代码语言:javascript
复制
format(str, sizeof(str), 
"Score: %s, Money: %d", 
dini_Int(file, "score"), dini_Int(file, "score") );
票数 1
EN

Stack Overflow用户

发布于 2017-06-26 16:09:29

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36239605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档