回 帖 发 新 帖 刷新版面

主题:汉字输出问题

bool ChatHandler::HandleGambleCommand(const char* args)
{
    Player *chr = m_session->GetPlayer();

    char* px = strtok((char*)args, " ");

    if (!px)
        return false;

    uint32 money = (uint32)atoi(px);

    if (chr->GetMoney() < money)
    {
                PSendSysMessage("您没有足够的金币!");
        return true;
    }

    else
    {
        if (money>0)
        {
             if (rand()%100 < 50)
             {
                  chr->ModifyMoney(money*1);
                  PSendSysMessage("|cffff0000恭喜您,赌博获得胜利。获得奖励的1倍!");
             }
             else
             {
                  chr->ModifyMoney(-int(money));
                  PSendSysMessage("你输了,不要泄气,再来一次!");
             }  
        }
    }

    return true;
}

bool ChatHandler::HandleRouletteCommand(const char* args)
{
    Player *chr = m_session->GetPlayer();

    char* px = strtok((char*)args, " ");

    if (!px)
        return false;

    uint32 money = (uint32)atoi(px);

    if (chr->GetMoney() < money)
    {
        PSendSysMessage("您没有足够的金币!");
        return true;
    }

    else
    {
        if (money>0)
        {
             if (rand()%36 < 1)
             {
                  chr->ModifyMoney(money*36);
                  PSendSysMessage("恭喜赢得了36倍的奖励!");//的情况下。操作后没任何提示
             }
             else
             {
                  chr->ModifyMoney(-int(money));
                  PSendSysMessage("You lost!");//的情况下。却能显示出
             }  
        }
    }

     return true;
 }

小弟刚接触。不懂。求高人指点,好几天都没研究出为什么。教程看了几个了。但还不懂。
VC++ 2008编译的。这是一段魔兽单机程序的功能源码。也不知道能不能这么说。
是别人发给我的。效果。
游戏中次操作的提示
《当PSendSysMessage("您汉字!");//的情况下。操作后没任何提示》
《PSendSysMessage("English!");//的情况下。却能显示出》

听有的朋友说。它是GBK编码的。转成 UTF -8编码就可以了。
但我试了后还是没效果。
认识的人每人肯教我。
只能漫游网络求解了。在此先谢过了。

回复列表 (共1个回复)

沙发

尝试检查系统环境变量。具体方法请教百度

我来回复

您尚未登录,请登录后再回复。点此登录或注册