发表于 2007-10-18 11:121#
楼主真武林第44关-[弟子护法斗刺客]源码
/*
Attribute for SN_1 by ZMJ 2005/10/10
*/
//#include "MeterorAI.h"
#include "npctypes.pst"
#include "snopt.pst"
int Level = 44;
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 trg2 = 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;
int gb_MaxSeedCount = 0;
int now8 = 0;
int now9;
int trgD = 0;
int countdown = 0;
int lockply = 0;
int playerFree = 0;
OnStart()
{
InitSNData();
AddEachNPC("夜行者", YE_XINGZHE, 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 = 2;
LockEnd(player);
ChangeBehavior(c1, "wait");
}
if(c1>0 && GetHP(c1)<=0)
{
RemoveNPC(c1);
AddEachNPC("夜行者", YE_XINGZHE, TEAM_ENEMY);
now0 = now1;
return 0;
}
}
}
if(trg >= 2)
{
if(CallGirlfriend(player) <= 0)
{
CallBackupDizi(player, 1);
}
if(trgD == 2)
{
if(now1-now0>=PlayerSpeed)
{
//UpdatePlayerOpt(player, PlayerSpeed);
PlayerPerform ("use", 13);
PlayerPerform ("use", 37);
PlayerPerform ("use", 38);
now0 = now1;
}
}
if(trgD == 1)
{
now9 = GetGameTime();
if(now9 - now8 >= 5)
{
PlayerPerform ("use", 12);
PlayerPerform ("use", 13);
PlayerPerform ("use", 14);
PlayerPerform ("use", 37);
PlayerPerform ("use", 38);
now8 = GetGameTime();
}
countdown = countdown-1;
if(countdown%20 == 0)
{
Say(player, "*************", countdown, "*************");
}
if(countdown <= 0)
{
Say(player, "多亏了弟子们的保护");
Say(player, "!!!!!!终于把毒素逼出来了!!!!!");
Say(player, "剩下的余毒不会危及生命了");
LockScence(player, 2, 8, 99, 3);
PlayerPerform ("jump");
trgD = 2;
}
if(lockply > 0)
{
lockply = lockply-1;
if(lockply <= 0)
{
Say(player, "好猛地毒啊");
PlayerPerform ("crouch", 0);
LockScence(player, 2, 8, 99, 3);
//PlayerPerform("block", 0);
}
}
}
}
if(trg == 2)
{
c1 = GetAnyChar("夜行者");
if(GetManManDistance(c1, player) <= 150)
{
PlayerPerform("block", 1);
Perform(c1, "pause", 5);
Perform(c1, "faceto", player);
PlayerPerform("faceto", c1);
Say(c1, "你就是江湖中传说的小虾米");
Perform(c1, "use", 8);//气元气力全满
Perform(c1, "use", 19);//爆怒攻击力大幅提升
Perform(c1, "pause", 3);
trg = 50;
now8 = GetGameTime();
now9 = 0;
}
now3=now4;
return 0;
}
if(trg == 50)
{
PlayerPerform ("block", 1);
now9 = GetGameTime();
if(now9 - now8 >= 8)
{
c1 = GetAnyChar("夜行者");
Say(c1, "哈哈");
Perform(c1, "aggress");
trg = 60;
now8 = GetGameTime();
now9 = 0;
}
return 0;
}
if(trg == 60)
{
PlayerPerform ("block", 1);
now9 = GetGameTime();
if(now9 - now8 >= 8)
{
c1 = GetAnyChar("夜行者");
ChangeBehavior(c1, "follow", player);
Say(c1, "哼");
SetTarget(1, "char", "小虾米");
ChangeBehavior(c1, "attacktarget", 1, 1);
Perform(c1, "pause", 6);
trg = 61;
now8 = GetGameTime();
now9 = 0;
}
return 0;
}
if(trg == 61)
{
PlayerPerform ("block", 1);
now9 = GetGameTime();
if(now9 - now8 >= 8)
{
c1 = GetAnyChar("夜行者");
PlayerPerform ("use", 12);
PlayerPerform ("use", 13);
PlayerPerform ("use", 14);
PlayerPerform ("use", 37);
PlayerPerform ("use", 38);
Say(c1, "你已经中了我的神木花毒啦,哈哈");
Say(c1, "你的功力在一段时间内将大打折扣,我们将趁机除掉你");
Perform(c1, "pause", 2);
Say(player, "不好");
PlayerPerform("block", 0);
PlayerPerform ("crouch", 1);
Say(c1, "哈哈,知道厉害了吧, 看我百变神功");
Perform(c1, "use", 20);//神骨最大生命到达999.
Perform(c1, "use", 15);//神灵生命回复1/2.
Perform(c1, "use", 34);//嗜血攻击力再提升.
Perform(c1, "use", 23);//火属练化武器
Perform(c1, "use", 40);//金钟罩防御上升
Perform(c1, "use", 27);//蛋糕变身雪人
Perform(c1, "use", 29);//围巾防御上升
Perform(c1, "use", 30);//手套攻击提升
Perform(c1, "use", 31);//长靴速度提升.
Perform(c1, "use", 32);//头套自动回血
Perform(c1, "use", 5);//猫足速度提升
Perform(c1, "use", 41);//豹灵速度大幅提升
Say(c1, "孩儿们,一起上...");
SetRandSeedNPC("刺客", Level, CIKE_MENMIAN, TEAM_ENEMY, 30);
SetRandSeedNPC("忍行杀手", Level, RENXING_SHASHOU, TEAM_ENEMY, 5);
SetRandSeedNPC("夜行者", Level, YE_XINGZHE, TEAM_ENEMY, 5);
gb_MaxSeedCount = 40;
now8 = GetGameTime();
now9 = 0;
trgD = 1;
countdown = 400*5;
lockply = 30*5;
trg = 3;
scens = -1;
}
return 0;
}
if(trg == 3)
{
if(now4-now3>=PlayerSpeed*5 && GetHP(player)= 5)
{
CheckSnapAdd(2, 16);
UpdateRandSeedNPC(scens);
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, "!!!终于逃出生天!!!");
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 = 44;
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 trg2 = 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;
int gb_MaxSeedCount = 0;
int now8 = 0;
int now9;
int trgD = 0;
int countdown = 0;
int lockply = 0;
int playerFree = 0;
OnStart()
{
InitSNData();
AddEachNPC("夜行者", YE_XINGZHE, 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 = 2;
LockEnd(player);
ChangeBehavior(c1, "wait");
}
if(c1>0 && GetHP(c1)<=0)
{
RemoveNPC(c1);
AddEachNPC("夜行者", YE_XINGZHE, TEAM_ENEMY);
now0 = now1;
return 0;
}
}
}
if(trg >= 2)
{
if(CallGirlfriend(player) <= 0)
{
CallBackupDizi(player, 1);
}
if(trgD == 2)
{
if(now1-now0>=PlayerSpeed)
{
//UpdatePlayerOpt(player, PlayerSpeed);
PlayerPerform ("use", 13);
PlayerPerform ("use", 37);
PlayerPerform ("use", 38);
now0 = now1;
}
}
if(trgD == 1)
{
now9 = GetGameTime();
if(now9 - now8 >= 5)
{
PlayerPerform ("use", 12);
PlayerPerform ("use", 13);
PlayerPerform ("use", 14);
PlayerPerform ("use", 37);
PlayerPerform ("use", 38);
now8 = GetGameTime();
}
countdown = countdown-1;
if(countdown%20 == 0)
{
Say(player, "*************", countdown, "*************");
}
if(countdown <= 0)
{
Say(player, "多亏了弟子们的保护");
Say(player, "!!!!!!终于把毒素逼出来了!!!!!");
Say(player, "剩下的余毒不会危及生命了");
LockScence(player, 2, 8, 99, 3);
PlayerPerform ("jump");
trgD = 2;
}
if(lockply > 0)
{
lockply = lockply-1;
if(lockply <= 0)
{
Say(player, "好猛地毒啊");
PlayerPerform ("crouch", 0);
LockScence(player, 2, 8, 99, 3);
//PlayerPerform("block", 0);
}
}
}
}
if(trg == 2)
{
c1 = GetAnyChar("夜行者");
if(GetManManDistance(c1, player) <= 150)
{
PlayerPerform("block", 1);
Perform(c1, "pause", 5);
Perform(c1, "faceto", player);
PlayerPerform("faceto", c1);
Say(c1, "你就是江湖中传说的小虾米");
Perform(c1, "use", 8);//气元气力全满
Perform(c1, "use", 19);//爆怒攻击力大幅提升
Perform(c1, "pause", 3);
trg = 50;
now8 = GetGameTime();
now9 = 0;
}
now3=now4;
return 0;
}
if(trg == 50)
{
PlayerPerform ("block", 1);
now9 = GetGameTime();
if(now9 - now8 >= 8)
{
c1 = GetAnyChar("夜行者");
Say(c1, "哈哈");
Perform(c1, "aggress");
trg = 60;
now8 = GetGameTime();
now9 = 0;
}
return 0;
}
if(trg == 60)
{
PlayerPerform ("block", 1);
now9 = GetGameTime();
if(now9 - now8 >= 8)
{
c1 = GetAnyChar("夜行者");
ChangeBehavior(c1, "follow", player);
Say(c1, "哼");
SetTarget(1, "char", "小虾米");
ChangeBehavior(c1, "attacktarget", 1, 1);
Perform(c1, "pause", 6);
trg = 61;
now8 = GetGameTime();
now9 = 0;
}
return 0;
}
if(trg == 61)
{
PlayerPerform ("block", 1);
now9 = GetGameTime();
if(now9 - now8 >= 8)
{
c1 = GetAnyChar("夜行者");
PlayerPerform ("use", 12);
PlayerPerform ("use", 13);
PlayerPerform ("use", 14);
PlayerPerform ("use", 37);
PlayerPerform ("use", 38);
Say(c1, "你已经中了我的神木花毒啦,哈哈");
Say(c1, "你的功力在一段时间内将大打折扣,我们将趁机除掉你");
Perform(c1, "pause", 2);
Say(player, "不好");
PlayerPerform("block", 0);
PlayerPerform ("crouch", 1);
Say(c1, "哈哈,知道厉害了吧, 看我百变神功");
Perform(c1, "use", 20);//神骨最大生命到达999.
Perform(c1, "use", 15);//神灵生命回复1/2.
Perform(c1, "use", 34);//嗜血攻击力再提升.
Perform(c1, "use", 23);//火属练化武器
Perform(c1, "use", 40);//金钟罩防御上升
Perform(c1, "use", 27);//蛋糕变身雪人
Perform(c1, "use", 29);//围巾防御上升
Perform(c1, "use", 30);//手套攻击提升
Perform(c1, "use", 31);//长靴速度提升.
Perform(c1, "use", 32);//头套自动回血
Perform(c1, "use", 5);//猫足速度提升
Perform(c1, "use", 41);//豹灵速度大幅提升
Say(c1, "孩儿们,一起上...");
SetRandSeedNPC("刺客", Level, CIKE_MENMIAN, TEAM_ENEMY, 30);
SetRandSeedNPC("忍行杀手", Level, RENXING_SHASHOU, TEAM_ENEMY, 5);
SetRandSeedNPC("夜行者", Level, YE_XINGZHE, TEAM_ENEMY, 5);
gb_MaxSeedCount = 40;
now8 = GetGameTime();
now9 = 0;
trgD = 1;
countdown = 400*5;
lockply = 30*5;
trg = 3;
scens = -1;
}
return 0;
}
if(trg == 3)
{
if(now4-now3>=PlayerSpeed*5 && GetHP(player)= 5)
{
CheckSnapAdd(2, 16);
UpdateRandSeedNPC(scens);
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, "!!!终于逃出生天!!!");
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)