zp 模式问题

Home Home
引用 | 编辑 10120091119
2010-08-16 18:34
楼主
推文 x0
怎样把幸存者模式变1名幸存改做变3名幸存表情
删除1人感染模式 表情

拜托

献花 x0
引用 | 编辑 a7811311622
2010-08-16 22:30
1楼
  
下面是引用 10120091119 于 2010-08-16 18:34 发表的 zp 模式问题: 到引言文
怎样把幸存者模式变1名幸存改做变3名幸存表情
删除1人感染模式 表情

拜托

「把幸存者模式变1名幸存改做变3名幸存」:
将「make_a_zombie(mode, id)」里原本的
复制程式
  // Choose player randomly?
  if (mode == MODE_NONE)
   id = fnGetRandomAlive(random_num(1, iPlayersnum))
  
  // Remember id for calling our forward later
  forward_id = id
  
  // Turn player into a survivor
  humanme(id, 1)
  
  // Turn the remaining players into zombies
  for (id = 1; id <= g_maxplayers; id++)
  {
   // Not alive
   if (!is_user_alive(id))
    continue;
   
   // Survivor or already a zombie
   if (g_survivor[id] || g_zombie[id])
    continue;
   
   // Turn into a zombie
   zombieme(id, 0, 0, 1)
  }
  
  // Play survivor sound
  PlaySound(sound_survivor[random_num(0, sizeof sound_survivor -1)]);
  
  // Get player's name
  get_user_name(forward_id, name, sizeof name - 1)
  
  // Show Survivor HUD notice
  set_hudmessage(20, 20, 255, HUD_EVENT_X, HUD_EVENT_Y, 1, 0.0, 5.0, 1.0, 1.0, -1)
  ShowSyncHudMsg(0, g_MsgSync, "%L", LANG_PLAYER, "NOTICE_SURVIVOR", name)
改成
复制程式
  // Turn specified amount of players into Survivors
  static iSurvivors, forward_id[3], forward_name[3] // forward_id和forward_name矩阵里的数字代表你想出现的人数
  iSurvivors = 0
  
  if (mode != MODE_NONE)
  {
   // Remember id for calling our forward later
   forward_id[iSurvivors] = id
   
   // If not, turn him into one
   humanme(id, 1)
   iSurvivors++
  }
  
  while (iSurvivors < 3) // iSurvivors后面的数字代表你想出现的人数
  {
   // Choose player randomly?
   id = fnGetRandomAlive(random_num(1, iPlayersnum))
   
   // Already a survivor?
   if (g_survivor[id])
    continue;
   
   // Remember id for calling our forward later
   forward_id[iSurvivors] = id
   
   // If not, turn him into one
   humanme(id, 1)
   iSurvivors++
  }
  
  // Turn the remaining players into zombies
  for (id = 1; id <= g_maxplayers; id++)
  {
   // Not alive
   if (!is_user_alive(id))
    continue;
   
   // Survivor or already a zombie
   if (g_survivor[id] || g_zombie[id])
    continue;
   
   // Turn into a zombie
   zombieme(id, 0, 0, 1)
  }
  
  // Play survivor sound
  PlaySound(sound_survivor[random_num(0, sizeof sound_survivor -1)]);
  
  // Get player's name
  for (iSurvivors = 0; iSurvivors < 3; iSurvivors++) // iSurvivors后面的数字代表你想出现的人数
   get_user_name(forward_id[iSurvivors], forward_name[iSurvivors], sizeof forward_name[] - 1)
  
  // Show Survivor HUD notice
  set_hudmessage(20, 20, 255, HUD_EVENT_X, HUD_EVENT_Y, 1, 0.0, 5.0, 1.0, 1.0, -1)
  ShowSyncHudMsg(0, g_MsgSync, "%L^n%L^n%L", LANG_PLAYER, "NOTICE_SURVIVOR", forward_name[0], LANG_PLAYER, "NOTICE_SURVIVOR", forward_name[1], LANG_PLAYER, "NOTICE_SURVIVOR", forward_name[2])
  // 以上使用三次「, LANG_PLAYER, "NOTICE_SURVIVOR", forward_name[人数]」代表会显示3行谁变成幸存者的字幕
之后再将「public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)」里的
复制程式
 // Last human or swarm round or plague round
 if (g_swarmround || g_plagueround || fnGetHumans() == 1)
  return HAM_IGNORED; // human is killed
改成
复制程式
 // Last human or swarm round or plague round
 if (g_survround || g_swarmround || g_plagueround || fnGetHumans() == 1)
  return HAM_IGNORED; // human is killed


献花 x2
引用 | 编辑 10120091119
2010-08-16 23:12
2楼
  
为什么转不了..很多error 表情

献花 x0
引用 | 编辑 a7811311622
2010-08-16 23:39
3楼
  
下面是引用 10120091119 于 2010-08-16 18:34 发表的 zp 模式问题: 到引言文
怎样把幸存者模式变1名幸存改做变3名幸存表情
删除1人感染模式 表情

拜托

「删除1人感染模式」:
将「make_a_zombie(mode, id)」里原本的
复制程式
  else
  {
   // Single Infection Mode
   g_lastmode = MODE_INFECTION
   
   // Turn player into the first zombie
   zombieme(id, 0, 0, 0)
  }
改成
复制程式
  else
  {
   make_a_zombie(MODE_NONE, 0)
   return;
  }


献花 x0
引用 | 编辑 a7811311622
2010-08-16 23:41
4楼
  
下面是引用 10120091119 于 2010-08-16 23:12 发表的 : 到引言文
为什么转不了..很多error 表情

如果你是用「复制程式」那按钮的话…应该只会出现警告才对…
会有ERROR…大概是你的ZP版本是4.3或是你根本没改好…

献花 x0
引用 | 编辑 AykinDalike
2010-08-17 09:09
5楼
  
其实不用在make_a_zombie里改
直接到survivor_mode底下加入humanme(id, 1)即可

且还能设定条件为伺服器满多少人有多少幸存者

献花 x0
引用 | 编辑 a7811311622
2010-08-17 10:28
6楼
  
下面是引用 AykinDalike 于 2010-08-17 09:09 发表的 : 到引言文
其实不用在make_a_zombie里改
直接到survivor_mode底下加入humanme(id, 1)即可

且还能设定条件为伺服器满多少人有多少幸存者

survivor_mode?这是ZP 4.3 的public吗?表情

献花 x0
引用 | 编辑 AykinDalike
2010-08-17 12:11
7楼
  
下面是引用 a7811311622 于 2010-08-17 10:28 发表的 : 到引言文

survivor_mode?这是ZP 4.3 的public吗?表情



这部分在ZP各版本都一样
仔细看了你提供的方法
跟我说的是同一个概念  XD

当我没说好了...呵

献花 x0
引用 | 编辑 a7811311622
2010-08-17 12:19
8楼
  
下面是引用 AykinDalike 于 2010-08-17 12:11 发表的 : 到引言文



这部分在ZP各版本都一样
仔细看了你提供的方法
跟我说的是同一个概念  XD

当我没说好了...呵

我那段是修改有关「MODE_SURVIVOR」里的内容…
所以大大说的「survivor_mode」意指「MODE_SURVIVOR」啰?

献花 x0
引用 | 编辑 aesoph0456
2010-08-17 16:12
9楼
  
上面的大大说的话太过难明 能不能说清楚点?

献花 x0
引用 | 编辑 a7811311622
2010-08-17 16:23
10楼
  
下面是引用 aesoph0456 于 2010-08-17 16:12 发表的 : 到引言文
上面的大大说的话太过难明 能不能说清楚点?

我说的已经够清楚了…
不明就代表你对ZP主插件不了解…
或是不懂得善用搜寻功能…
也可能是嫌字太多不想看而说看不懂…
表情 表情 表情

献花 x0
引用 | 编辑 10120091119
2010-08-17 18:17
11楼
  
下面是引用 AykinDalike 于 2010-08-17 09:09 发表的 : 到引言文
其实不用在make_a_zombie里改
直接到survivor_mode底下加入humanme(id, 1)即可

且还能设定条件为伺服器满多少人有多少幸存者

怎样设定为伺服器满多少人就有多少幸存表情
改那个数字

献花 x0
引用 | 编辑 c7352458
2010-08-18 14:34
12楼
  
你可以造3楼的

献花 x0
引用 | 编辑 10120091119
2010-08-19 20:17
13楼
  
 改过了..还是很多ERROR...

本帖包含附件
档名: zip zombie_plague411.rar   (2022-06-09 14:16 / 59 KB)  
帮我看有没有改错..我已跟足= =
下载次数:1 需要威望:50


献花 x0
引用 | 编辑 a7811311622
2010-08-20 00:35
14楼
  
下面是引用 10120091119 于 2010-08-19 20:17 发表的 : 到引言文
 改过了..还是很多ERROR... [attachment=687803]

我不是有说了吗…?表情
下面是引用 a7811311622 于 2010-08-16 23:41 发表的: 到引言文

如果你是用「复制程式」那按钮的话…应该只会出现警告才对…
会有ERROR…大概是你的ZP版本是4.3或是你根本没改好…

ZP 4.3 的改法是这样:
复制程式
  
  // Turn specified amount of players into Survivors  
  static iSurvivors, forward_id[3], forward_name[3] // forward_id和forward_name矩阵里的数字代表你想出现的人数  
  iSurvivors = 0  
    
  if (mode != MODE_NONE)  
  {  
   // Remember id for calling our forward later  
   forward_id[iSurvivors] = id  
     
   // If not, turn him into one  
   humanme(id, 1, 0)  
   iSurvivors++  
  }  
    
  while (iSurvivors < 3) // iSurvivors后面的数字代表你想出现的人数  
  {  
   // Choose player randomly?  
   id = fnGetRandomAlive(random_num(1, iPlayersnum))  
     
   // Already a survivor?  
   if (g_survivor[id])  
    continue;  
     
   // Remember id for calling our forward later  
   forward_id[iSurvivors] = id  
     
   // If not, turn him into one  
   humanme(id, 1, 0)  
   iSurvivors++  
  }  
    
  // Turn the remaining players into zombies  
  for (id = 1; id <= g_maxplayers; id++)  
  {  
   // Not alive  
   if (!g_isalive[id])  
    continue;  
     
   // Survivor or already a zombie  
   if (g_survivor[id] || g_zombie[id])  
    continue;  
     
   // Turn into a zombie  
   zombieme(id, 0, 0, 1, 0)  
  }  
    
  // Play survivor sound  
  ArrayGetString(sound_survivor, random_num(0, ArraySize(sound_survivor) - 1), sound, charsmax(sound))  
  PlaySound(sound);  
    
  // Show Survivor HUD notice  
  set_hudmessage(20, 20, 255, HUD_EVENT_X, HUD_EVENT_Y, 1, 0.0, 5.0, 1.0, 1.0, -1)  
  ShowSyncHudMsg(0, g_MsgSync, "%L^n%L^n%L", LANG_PLAYER, "NOTICE_SURVIVOR", g_playername[forward_id[0]], LANG_PLAYER, "NOTICE_SURVIVOR", g_playername[forward_id[1]], LANG_PLAYER, "NOTICE_SURVIVOR", g_playername[forward_id[2]])  
  // 以上使用三次「, LANG_PLAYER, "NOTICE_SURVIVOR", g_playername[forward_id[人数]]」代表会显示3行谁变成幸存者的字幕 


献花 x1
引用 | 编辑 10120091119
2010-08-20 02:41
15楼
  
还是有3 error 表情 表情

献花 x1
引用 | 编辑 ReZa
2010-08-20 02:49
16楼
  
- -我可以教你你是着去看看错误是哪些行数
然后再去找你去改ZP那边文字找寻有没有类似

在做统称修改 表情

献花 x0