Chat about AI dev here
nmttnhq
Posts: 6 Joined: Wed Dec 23, 2009 8:02 pm
Post
by nmttnhq » Tue Mar 02, 2010 6:27 pm
Hi!
This function checks if the characters empty bullets, the bullet box automatically uses the corresponding in the "I" "K" "," button.
Sorry my english.
Code: Select all
// lib.scp
func SCR_BULLET_MODE(self, selfAi)
{
var job = GetJobName(selfAi);
var curTarget = GetNearAtkableEnemy(selfAi, 2000);
var attackable = IsAbleToAttack(selfAi);
var aiIndex = af(self);
if (job == 'Musketeer' || job == 'Grace' || job == 'Sharif' || job == 'CatherineDEX' || job == 'CatherineSTR' || job == 'CatherineINT' || job == 'Infantry' || job == 'Adelina' || job == 'AdelinaPirate' || job == 'Garcia' || job == 'Brunie' || job == 'Calyce')
{
if (curTarget != nil && attackable !='YES')
{
ClearAiTarget(selfAi);
UseItem(aiIndex,1);
sleep(200);
var ni = GetNearItem(selfAi, 300);
if (ni == 0){return;}
else
{
PickItem(selfAi, ni);
ChangeTacticsAi(selfAi, 'TS_PICK_ITEM');
return 'ChangeTS_Prev';
}
}
}
}
// attacker.scp
// find function SCR_ATTACKER_TS_KEEP_BATTLE(self)
func SCR_ATTACKER_TS_KEEP_BATTLE(self) {
sleep(100);
AiLog('ATTACKER_TS_KEEP_BATTLE : Start!!!');
var selfAi = GetAiActor(self);
var prevTS = GetPrevTS(selfAi);
var job = GetJobName(selfAi);
SCR_AI_LIB_UNHOLD(selfAi, prevTS);
SCR_AI_LIB_ATTACKTARGET(selfAi);
while(1) {
ar(selfAi);
if('ChangeTS_Prev' == SCR_BULLET_MODE(self, selfAi)) {
return;
}
.................
}
.
Thank for reading.
quin
Posts: 1 Joined: Sat Feb 20, 2010 2:52 pm
Post
by quin » Wed Mar 17, 2010 11:11 am
nmttnhq wrote: Hi!
This function checks if the characters empty bullets, the bullet box automatically uses the corresponding in the "I" "K" "," button.
Sorry my english.
Code: Select all
// lib.scp
func SCR_BULLET_MODE(self, selfAi)
{
var job = GetJobName(selfAi);
var curTarget = GetNearAtkableEnemy(selfAi, 2000);
var attackable = IsAbleToAttack(selfAi);
var aiIndex = af(self);
if (job == 'Musketeer' || job == 'Grace' || job == 'Sharif' || job == 'CatherineDEX' || job == 'CatherineSTR' || job == 'CatherineINT' || job == 'Infantry' || job == 'Adelina' || job == 'AdelinaPirate' || job == 'Garcia' || job == 'Brunie' || job == 'Calyce')
{
if (curTarget != nil && attackable !='YES')
{
ClearAiTarget(selfAi);
UseItem(aiIndex,1);
sleep(200);
var ni = GetNearItem(selfAi, 300);
if (ni == 0){return;}
else
{
PickItem(selfAi, ni);
ChangeTacticsAi(selfAi, 'TS_PICK_ITEM');
return 'ChangeTS_Prev';
}
}
}
}
// attacker.scp
// find function SCR_ATTACKER_TS_KEEP_BATTLE(self)
func SCR_ATTACKER_TS_KEEP_BATTLE(self) {
sleep(100);
AiLog('ATTACKER_TS_KEEP_BATTLE : Start!!!');
var selfAi = GetAiActor(self);
var prevTS = GetPrevTS(selfAi);
var job = GetJobName(selfAi);
SCR_AI_LIB_UNHOLD(selfAi, prevTS);
SCR_AI_LIB_ATTACKTARGET(selfAi);
while(1) {
ar(selfAi);
if('ChangeTS_Prev' == SCR_BULLET_MODE(self, selfAi)) {
return;
}
.................
}
.
Thank for reading.
Is there a short tutorial on how to use this script?
colima123
Posts: 5 Joined: Wed Mar 17, 2010 5:01 pm
Post
by colima123 » Wed Mar 17, 2010 5:31 pm
any clue on how to use this??
all the time my musk runs out of bullets n dies..
is there an ai that uses or has something similar as this?
ratatooweee
Posts: 2 Joined: Thu Nov 05, 2009 1:51 am
Post
by ratatooweee » Sun Mar 21, 2010 6:04 pm
yoh nmttnhq,
can u teach me or send me link regarding how to make scripts. tnx!
runite87
Posts: 1 Joined: Tue May 04, 2010 4:13 am
Post
by runite87 » Thu Jun 10, 2010 8:26 am
interesting suggestion. any of you guys tried this? Mind sending it to me? lol