发表于 2007-10-18 11:181#
楼主真武林第26关-[提升关主之五岳剑侠]源码
/*
Attribute for SN_1 by ZMJ 2005/10/10
*/
//#include "MeterorAI.h"
#include "npctypes.pst"
#include "snopt.pst"
int Level = 26;
int Rule = GetSNRule(Level);
int RoundTime = GetSNTime(Level);
int PlayerSpawn = GetSNSpawn(Level);
int PlayerSpawnDir = 90;
int PlayerWeapon = GetSNWeapon(Level);
int PlayerWeapon2 = GetSNWeapon2(Level);
int PlayerHP = GetSNHP(Level);
int PlayerSpeed = GetSNSpeed(Level);
int PlayerExps = GetPlayerExps();
int trg = 0;
int scens = 0;
int gameover = 0;
int nallyhps = 0;
int nallykills = 0;
int allykills = 0;
int now0;
int now1;
int now2;
int now3;
int now4;
int now6;
int now7;
OnStart()
{
InitSNData();
AddEachNPC("关主", BOSS_GATE, TEAM_ENEMY);
}
OnUpdate()
{
int player = GetAnyChar("player");
if (player < 0)
{
return 0;
}
if (gameover == 2)
{
return 0;
}
trg = LockChk(player, trg);
int c1;
int tmp;
int alives;
now1 = GetGameTime();
now4 = now1;
now7 = now1;
if(trg == 0)
{
now0 = now1;
Say(player, "关主?");
trg = 1;
LockBegin(player);
}
if(trg == 1)
{
c1 = GetAnyChar("关主");
if(now1-now0 > 5)
{
if(c1>0 && GetHP(c1)>0)
{
CheckSnapAdd(2, 16);
now3=now4;
trg = 3;
LockEnd(player);
}
if(c1>0 && GetHP(c1)<=0)
{
RemoveNPC(c1);
AddEachNPC("关主", BOSS_GATE, TEAM_ENEMY);
now0 = now1;
return 0;
}
}
}
if(trg >= 2)
{
if(CallGirlfriend(player) <= 0)
{
CallBackupDizi(player, 0);
}
if(now1-now0>=PlayerSpeed)
{
UpdatePlayerOpt(player, PlayerSpeed);
now0 = now1;
}
}
if(trg == 3)
{
c1 = GetAnyChar("关主");
if(now4-now3>=60 && GetHP(player)=16)
{
alives = alives-RemoveRandNPC(2, 16, Rand(8)+1);
}
trg = 4;
scens ++;
if(c1<0)
{
if(JudgePassOver(Level, scens, PlayerSpeed)==1)
{
OutputPassReward(PlayerExps, player);
trg = 88;
}
}
else
{
if(GetHP(c1)<=0 && JudgePassOver(Level, scens, PlayerSpeed)==1)
{
OutputPassReward(PlayerExps, player);
trg = 88;
}
}
return 0;
}
}
if(trg == 4)
{
alives = GetSnapAlives(1, 16);
int addnews = Rand(16-alives)+1;
int reqadd = addnews;
now2 = GetGameTime();
now3 = now2;
//#@$
addnews = addnews-AddRandNPC("霸王枪将", PlayerSpeed, BAWANG_QIANSHEN, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("天旋地转", PlayerSpeed, TIANXUAN_DIZHUAN, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("马贼", PlayerSpeed, MA_ZEI, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("少林棍僧", PlayerSpeed, SHAOLIN_GUNSENG, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("三十六洞主", PlayerSpeed, GROUP_DONGZHU, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("七十二岛主", PlayerSpeed, GROUP_DAOZHU, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("天残八废", PlayerSpeed, HERO_TIANCANBAFEI, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("鬼武者", PlayerSpeed, GUI_WUZHE, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("死亡之球", PlayerSpeed, SIWANG_ZHIQIU, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("勾魂夺魄", PlayerSpeed, GOUHUN_DUOPO, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("妖怪", PlayerSpeed, YAOGUAI_JIUDA, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("死神护法", PlayerSpeed, HUFA_SISHEN, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("修罗女刹", PlayerSpeed, XIULUO_NVCHA, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("天山三剑", PlayerSpeed, TIANSHAN_SANJIAN, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("悍匪", PlayerSpeed, HAN_FEI, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("魔教高手", PlayerSpeed, GROUP_MOJIAO, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("彩衣仙子", PlayerSpeed, CAIYI_XIANZI, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("女飞贼", PlayerSpeed, FEIZE_NV, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("西洋客", PlayerSpeed, XIYANG_KE, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("邪恶魔人", PlayerSpeed, XIEE_MOREN, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("夜行者", PlayerSpeed, YE_XINGZHE, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("独眼龙", PlayerSpeed, HERO_DUYANLONG, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("冷艳匕仙", PlayerSpeed, LENGYAN_BIXIAN, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("阎王杀手", PlayerSpeed, YANWANG_SHASHOU, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("灵鹫宫四剑", PlayerSpeed, LINJIUGON_SIJIAN, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("五岳剑侠", PlayerSpeed, WUYUE_JIANXIA, addnews, alives+reqadd-addnews, WUYUE_JIANXIA);
//#@$
trg = 5;
}
if(trg == 5)
{
now3 = GetGameTime();
if(now3-now2 >= 30)
{
CheckSnapAdd(2, 16);
trg = 3;
}
}
if(trg != 99)
{
if(gameover!=-1 && GetHP(player)<=0)
{
Say(player, "天啊!");
Say(player, "出师未捷身先死,没想到还没去华山之巅决斗独孤求败就这样结束了?");
Say(player, "我不甘心啊?");
now6 = now7;
gameover = -1;
trg = 99;
}
}
if(trg == 88)
{
Say(player, "此处武林人物已经悉数败于我也!");
Say(player, "去其他地方会会天下的豪杰英雄吧?");
now6 = now7;
gameover = 1;
trg = 99;
}
if ((gameover==1 || gameover==-1))
{
if(now7-now6 >= 15)
{
if(gameover==1) {Save(PlayerExps);}
GameOver(gameover);
gameover = 2;
}
}
}
这一关比较简单,大家能猜出剧情玩法吗
/*
Attribute for SN_1 by ZMJ 2005/10/10
*/
//#include "MeterorAI.h"
#include "npctypes.pst"
#include "snopt.pst"
int Level = 26;
int Rule = GetSNRule(Level);
int RoundTime = GetSNTime(Level);
int PlayerSpawn = GetSNSpawn(Level);
int PlayerSpawnDir = 90;
int PlayerWeapon = GetSNWeapon(Level);
int PlayerWeapon2 = GetSNWeapon2(Level);
int PlayerHP = GetSNHP(Level);
int PlayerSpeed = GetSNSpeed(Level);
int PlayerExps = GetPlayerExps();
int trg = 0;
int scens = 0;
int gameover = 0;
int nallyhps = 0;
int nallykills = 0;
int allykills = 0;
int now0;
int now1;
int now2;
int now3;
int now4;
int now6;
int now7;
OnStart()
{
InitSNData();
AddEachNPC("关主", BOSS_GATE, TEAM_ENEMY);
}
OnUpdate()
{
int player = GetAnyChar("player");
if (player < 0)
{
return 0;
}
if (gameover == 2)
{
return 0;
}
trg = LockChk(player, trg);
int c1;
int tmp;
int alives;
now1 = GetGameTime();
now4 = now1;
now7 = now1;
if(trg == 0)
{
now0 = now1;
Say(player, "关主?");
trg = 1;
LockBegin(player);
}
if(trg == 1)
{
c1 = GetAnyChar("关主");
if(now1-now0 > 5)
{
if(c1>0 && GetHP(c1)>0)
{
CheckSnapAdd(2, 16);
now3=now4;
trg = 3;
LockEnd(player);
}
if(c1>0 && GetHP(c1)<=0)
{
RemoveNPC(c1);
AddEachNPC("关主", BOSS_GATE, TEAM_ENEMY);
now0 = now1;
return 0;
}
}
}
if(trg >= 2)
{
if(CallGirlfriend(player) <= 0)
{
CallBackupDizi(player, 0);
}
if(now1-now0>=PlayerSpeed)
{
UpdatePlayerOpt(player, PlayerSpeed);
now0 = now1;
}
}
if(trg == 3)
{
c1 = GetAnyChar("关主");
if(now4-now3>=60 && GetHP(player)=16)
{
alives = alives-RemoveRandNPC(2, 16, Rand(8)+1);
}
trg = 4;
scens ++;
if(c1<0)
{
if(JudgePassOver(Level, scens, PlayerSpeed)==1)
{
OutputPassReward(PlayerExps, player);
trg = 88;
}
}
else
{
if(GetHP(c1)<=0 && JudgePassOver(Level, scens, PlayerSpeed)==1)
{
OutputPassReward(PlayerExps, player);
trg = 88;
}
}
return 0;
}
}
if(trg == 4)
{
alives = GetSnapAlives(1, 16);
int addnews = Rand(16-alives)+1;
int reqadd = addnews;
now2 = GetGameTime();
now3 = now2;
//#@$
addnews = addnews-AddRandNPC("霸王枪将", PlayerSpeed, BAWANG_QIANSHEN, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("天旋地转", PlayerSpeed, TIANXUAN_DIZHUAN, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("马贼", PlayerSpeed, MA_ZEI, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("少林棍僧", PlayerSpeed, SHAOLIN_GUNSENG, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("三十六洞主", PlayerSpeed, GROUP_DONGZHU, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("七十二岛主", PlayerSpeed, GROUP_DAOZHU, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("天残八废", PlayerSpeed, HERO_TIANCANBAFEI, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("鬼武者", PlayerSpeed, GUI_WUZHE, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("死亡之球", PlayerSpeed, SIWANG_ZHIQIU, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("勾魂夺魄", PlayerSpeed, GOUHUN_DUOPO, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("妖怪", PlayerSpeed, YAOGUAI_JIUDA, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("死神护法", PlayerSpeed, HUFA_SISHEN, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("修罗女刹", PlayerSpeed, XIULUO_NVCHA, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("天山三剑", PlayerSpeed, TIANSHAN_SANJIAN, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("悍匪", PlayerSpeed, HAN_FEI, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("魔教高手", PlayerSpeed, GROUP_MOJIAO, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("彩衣仙子", PlayerSpeed, CAIYI_XIANZI, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("女飞贼", PlayerSpeed, FEIZE_NV, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("西洋客", PlayerSpeed, XIYANG_KE, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("邪恶魔人", PlayerSpeed, XIEE_MOREN, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("夜行者", PlayerSpeed, YE_XINGZHE, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("独眼龙", PlayerSpeed, HERO_DUYANLONG, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("冷艳匕仙", PlayerSpeed, LENGYAN_BIXIAN, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("阎王杀手", PlayerSpeed, YANWANG_SHASHOU, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("灵鹫宫四剑", PlayerSpeed, LINJIUGON_SIJIAN, 1, alives+reqadd-addnews, WUYUE_JIANXIA);
addnews = addnews-AddRandNPC("五岳剑侠", PlayerSpeed, WUYUE_JIANXIA, addnews, alives+reqadd-addnews, WUYUE_JIANXIA);
//#@$
trg = 5;
}
if(trg == 5)
{
now3 = GetGameTime();
if(now3-now2 >= 30)
{
CheckSnapAdd(2, 16);
trg = 3;
}
}
if(trg != 99)
{
if(gameover!=-1 && GetHP(player)<=0)
{
Say(player, "天啊!");
Say(player, "出师未捷身先死,没想到还没去华山之巅决斗独孤求败就这样结束了?");
Say(player, "我不甘心啊?");
now6 = now7;
gameover = -1;
trg = 99;
}
}
if(trg == 88)
{
Say(player, "此处武林人物已经悉数败于我也!");
Say(player, "去其他地方会会天下的豪杰英雄吧?");
now6 = now7;
gameover = 1;
trg = 99;
}
if ((gameover==1 || gameover==-1))
{
if(now7-now6 >= 15)
{
if(gameover==1) {Save(PlayerExps);}
GameOver(gameover);
gameover = 2;
}
}
}
这一关比较简单,大家能猜出剧情玩法吗UID 12792




发过好多次了
_200612171116341.jpg)