石器服务端源码中虚拟人数的修改和设置

  • A+
所属分类:源码教程
关于源码中虚拟人数的修改和设置
  服务端里其实已经有这个功能了,大家会发现有的端的人数变化很大。有的则人数固定,这里我就提出来讲解下。
  首先打开npc_savepoint.c这个文件
  搜索
	sprintf(temp,"目前线上人数为 %d 人。",abs(StateTable[LOGIN]));

  这里我以龙的源码为例
#ifdef _PLAYER_NUM
     srand(time(0));
     if(getPlayerNum()>0)
      sprintf(temp,"目前线上人数为 %d 人。",abs(StateTable[LOGIN])*getPlayerNum());
     else
      sprintf(temp,"目前线上人数为 %d 人。",abs(StateTable[LOGIN]));
#else
     sprintf(temp,"目前线上人数为 %d 人。",abs(StateTable[LOGIN]));
#endif

  看到srand(time(0));这句的意思就是当运行后,产生了随机数
  if(getPlayerNum()>0) 这句话的意思就是当getPlaterNum()大于0的时候执行下列语句,getPlaterNum为CF自定义里的一个函数sprintf(temp,"目前线上人数为 %d 人。",abs(StateTable[LOGIN]) *getPlayerNum());
  abs(StateTable[LOGIN]) 就是实际的在线人数 而getPlayerNum()就是自定义的倍数。
  这样说大家应该会明白点吧,当编译好端后,在记录点就会显示你设置的实际人数乘倍数。由于增加了srand(time(0));使得人数会有浮动。当然如果想固定人数的话就把srand(time(0));去掉再编译即可

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

您必须才能发表评论!