Oni Central Forum

A forum for the Oni community

You are not logged in.

#51 06/25/07 07:06

Tantir
Member
From: Cracow
Registered: 06/10/07

Re: I made scripted mod...

oK, I give up.:(

var int my_save_point=0;

func pre(void) {
    # launch Oni Menu if you have it
    # fork om_core_3
fork super_kick
fork super_punch
    # following is for testing
# fork surprise_timer_0
}


func super_punch(void) {
chr_wait_animation 0 KONCOMcomb_p_p_p
slowmo 240
chr_animate 0 KONCOMsuper_punch
sleep 50
fork super_punch
}


func super_kick(void) {
chr_wait_animation 0 KONCOMcomb_p_p_k
slowmo 240
chr_animate 0 KONCOMsuper_kick
sleep 50
fork super_kick
}


func SpawnNameFlagHealthReset(string n, int f, int h, int r){
    ai2_spawn(n); chr_teleport(n, f)
    if(h) chr_set_health(n, h)
    if(r) chr_inv_reset(n)
}

func SpawnNameFlagReset(string n, int f, int r){
    ai2_spawn(n); chr_teleport(n, f)
    if(r) chr_inv_reset(n)
}

#######################################################
func void main(void)
{
env_show 401 1
env_shade 401 913 .2 .4 .2
env_show 402 1
env_shade 401 913 .2 .1 .3
env_show 403 1
env_shade 401 913 .3 .1 .3
env_show 404 1
env_shade 401 913 .3 .2 .1
env_show 405 1
env_shade 401 913 .1 .3 .2
env_show 406 1
env_shade 401 913 .2 .1 .4
env_show 407 1
env_shade 401 913 .1 .4 .1
env_show 408 1
env_shade 401 913 .4 .4 .1
env_show 409 1
particle dishpulse do start
particle sturm_ambient start
fork pre
gl_fog_blue=0.0
gl_fog_red=0.0
gl_fog_green=0.0
gl_fog_start=.989
gs_farclipplane_set 5000


my_save_point = save_point;


    if (my_save_point eq 0) {

    dmsg "Zaraz zacznie sie mlucka kolo hangarow."

    chr_inv_reset 0
    chr_teleport 0 22
    chr_set_health 200
    dmsg " Walcz z Syndykatem. "
    chr_giveweapon 0 w3_phr
    chr_givepowerup 0 ammo 1
    chr_givepowerup 0 cell 1
    chr_givepowerup 0 shield 51
        sleep 100
    
    
    fork wave0
    killed_griffen 0

    
    }

    if (my_save_point eq 1)
    {
    save_point=1;
    restore_game
    GrifOPS01respawn
    fork wave1
        }

    if (my_save_point eq 2)
    {
    
        save_point=2;
    restore_game
    GrifOPS01respawn
    GrifOps02respawn
            fork wave2
    }

    if (my_save_point eq 3)
    {
        save_point=3;
    restore_game
    GrifOPS01respawn
    GrifOps02respawn
            fork wave3
    }

    if (my_save_point eq 4)
    {

    }
}

#######################################################

func void GrifoPS01DeathCheck(void) {
    chr_wait_health GrifOps01 0
    chr_givepowerup 0 lsi
  }
func GrifOps02DeathCheck {
    chr_wait_health GrifOps02 0
    killed_griffen 1
}
func GrifOPS01respawn {
    if(!chr_has_lsi(0))
        SpawnNameFlagHealthReset GrifOps01 23
}
func GrifOps02respawn {
    if(did_kill_griffen() eq 0)
        SpawnNameFlagHealthReset GrifOps02 23
}









#######################################################

func void wave0(void){

dmsg " Pomoga ci w tym agenci TCTF. "
sleep 200
dmsg "[r. Druzyna Pyrpeciarza.]"


SpawnNameFlagHealthReset GrifOps01 23 120

SpawnNameFlagReset F_C62 22
SpawnNameFlagHealthReset shooter_dummy 22 30 1
SpawnNameFlagReset A_E5b 22 1
chr_givepowerup  GrifOps01 shield 110

chr_wait_health A_E5b 0
dmsg "[g. Pyrpeciarz zabity.]"
chr_wait_health shooter_dummy 0
chr_wait_health F_C62 0
dmsg "[r. Druzyna Mlyna .]"

SpawnNameFlagHealthReset ParkStriker 22
SpawnNameFlagHealthReset A_Sb8 22
SpawnNameFlagHealthReset C_Sr18 22

chr_set_health GrifOps01 90

chr_wait_health C_Sr18 0
dmsg "[g. Mlynek Zabity.]"
chr_wait_health A_Sb8 0
chr_wait_health ParkStriker  0
sleep 400
dmsg "[r. Druzyna Krowy.]"

SpawnNameFlagHealthReset C_Sr19 22
SpawnNameFlagHealthReset C_Eb22 22
SpawnNameFlagHealthReset C_Sb26 22
SpawnNameFlagHealthReset C_Eb21 22


chr_set_health GrifOps01 90
ai2_attack C_Eb21 0
chr_wait_health C_Eb21 0
chr_wait_health C_Eb22 0
chr_wait_health C_Sb26 0
chr_wait_health C_Sr19 0
sleep 200

fork GrifoPS01DeathCheck
save_game 1 autosave
wave1
}





func void wave1(void){

sleep 100
ai2_spawn A_S1
chr_teleport A_S1 24
chr_givepowerup 0 shield 50
chr_givepowerup GrifOps01 shield 50
chr_set_health GrifOps01 90
sleep 600

SpawnNameFlagHealthReset C_Sb78 22
SpawnNameFlagHealthReset C_Sb76 22
SpawnNameFlagHealthReset target_dummy 22
chr_set_health target_dummy 45
ai2_attack A_S1 0
chr_givepowerup GrifOps01 cell 3
chr_wait_health A_S1 0
dmsg "[g. Snajper unieszkodliwiony.]"
chr_wait_health C_Sb76  0
chr_wait_health C_Eb22 0
chr_wait_health target_dummy 0
sleep 100
dmsg "[g. Pomoc z kwatery glownej.]"

SpawnNameFlagHealthReset GrifOps02 23 129
chr_giveweapon GrifOps02  w3_phr
chr_set_health GrifOps02 120 
chr_set_health GrifOps01 90
chr_givepowerup GrifOps02 ammo 1
chr_givepowerup GrifOps01 cell 1
chr_givepowerup GrifOps02 cell 1
chr_givepowerup GrifOps01 ammo 2
dmsg "Wiedz, ze ten agent TCTF ma wszczepiony eksperymentalny Crystalis i 

jego pasek zycia jest o 1/3 wiekszy niz zwykle."
sleep 88
dmsg "Agenci maja apteczki ktorych uzywaja po kazdej walce"
sleep 100 
dmsg "[r. Kobitki atakuja]"
SpawnNameFlagReset GrifElite03 22 1
SpawnNameFlagHealthReset GrifElite02 22
SpawnNameFlagReset D_R31 22 1
SpawnNameFlagReset D_R33 22 1
SpawnNameFlagHealthReset F_R61 22

dmsg "[g. Burdelmama nie zyje.]"
chr_wait_health GrifElite02 0
chr_wait_health D_R31 0
chr_wait_health D_R33 0
chr_wait_health F_R61 0

fork GrifoPS01DeathCheck
fork GrifOps02DeathCheck
save_game 2 autosave
wave2
}





func void wave2(void){

sleep 100
dmsg "[r. Nindza z Pincza.]"
SpawnNameFlagReset C_Tr28 22 1
SpawnNameFlagReset E_Nr36 22 1
SpawnNameFlagReset E_Nb38 22 1
SpawnNameFlagReset E_Tr40 22 1
SpawnNameFlagReset E_Nr39 22 1
SpawnNameFlagReset GrifElite06 23 1
chr_givepowerup GrifOps02 ammo 1
chr_givepowerup GrifOps01 cell 1
chr_givepowerup GrifOps02 cell 1
chr_givepowerup GrifOps01 ammo 2

chr_teleport GrifElite06 22

chr_set_health GrifOps01 90
chr_set_health GrifOps02 120
chr_giveweapon GrifOps02 w1_tap 
chr_giveweapon GrifOps01 w2_sap
chr_wait_health C_Tr28 0
chr_wait_health E_Nr36 0
chr_wait_health E_Nb38 0
chr_wait_health E_Tr40 


sleep 900
   
dmsg "[r. Uwaga!!! Snajper.]"
SpawnNameFlagHealthReset A_S2 24
chr_set_health GrifOps02 120
chr_set_health GrifOps01 90
chr_wait_health A_S2 0
dmsg "[g. Snajper unieszkodliwiony.]"
sleep 600

SpawnNameFlagHealthReset A_E5 22
SpawnNameFlagHealthReset B_Eb11 22
SpawnNameFlagHealthReset B_Esb15 22
SpawnNameFlagHealthReset E_Eb35 22
SpawnNameFlagHealthReset GrifElite01 22
chr_wait_health GrifElite01 0
dmsg "[g. Mucka padla na ziemie.]"
chr_wait_health A_E5 0
chr_wait_health B_Eb11 0
chr_wait_health B_Esb15 0
chr_wait_health E_Eb35 0
dmsg "[g. Posilki z TCTF.]"

SpawnNameFlagHealthReset GrifOps03 23 150
chr_giveweapon GrifOps03 w3_phr 
chr_giveweapon GrifOps02 w1_tap 
chr_giveweapon GrifOps01 w2_sap
chr_set_health GrifOps02 120
chr_set_health GrifOps01 90
chr_givepowerup GrifOps01 cell 3
chr_givepowerup GrifOps02 cell 2
chr_givepowerup GrifOps03 cell 1
chr_givepowerup GrifOps01 ammo 3
chr_givepowerup GrifOps02 ammo 2 
chr_givepowerup GrifOps03 ammo 1
chr_givepowerup GrifOps01 shield 200
chr_givepowerup GrifOps02 shield 80
chr_givepowerup GrifOps03 shield 40

fork GrifoPS01DeathCheck
fork GrifOps02DeathCheck
save_game 3 autosave
fork wave3
}






func void wave3(void){

dmsg "[g. Udalo sie.]"
sleep 300

dmsg "[r. Mieszanka Krakowska atakuje.]"
SpawnNameFlagHealthReset A_E3
ai2_spawn A_E4
SpawnNameFlagHealthReset A_Sb7 22
SpawnNameFlagHealthReset C_Sr17 22
SpawnNameFlagHealthReset F_Nr60 22
SpawnNameFlagHealthReset E_R46 22
SpawnNameFlagHealthReset E_Nr46 22
chr_teleport A_E3 22
chr_teleport A_E4 22
chr_teleport C_Sr17 22
chr_wait_health A_E4  0
dmsg "[g. Cukierek wypadl z papierka.]"
chr_wait_health A_E3 0
chr_wait_health A_Sb7 0
chr_wait_health C_Sr17 0
chr_wait_health F_Nr60 0
chr_wait_health E_R46 0
chr_wait_health E_Nr46 0

sleep 900
dmsg "[r. Ulemniacy nadchodza.]"

chr_set_health GrifOps03 150
chr_set_health GrifOps02 120
chr_set_health GrifOps01 90

SpawnNameFlagReset new_2 22 1
SpawnNameFlagHealthReset F_Er89 22 80 1
SpawnNameFlagHealthReset F_Nr87 22 55 1
SpawnNameFlagHealthReset C_Sb77 22 50 1
SpawnNameFlagHealthReset C_Sb75 22 60 1
SpawnNameFlagHealthReset F_Eb47 22 40 1
SpawnNameFlagHealthReset A_E3b 22 50 1
SpawnNameFlagHealthReset E_Nb37 22 30 1
SpawnNameFlagHealthReset C_Eb30 22 79 1
SpawnNameFlagHealthReset B_N1 22 55 1

chr_changeteam B_N1 Syndicate
chr_wait_health new_2 0
chr_wait_health F_Nr87 0
chr_wait_health F_Er89 0
chr_wait_health C_Sb77 0
chr_wait_health C_Sb75 0
chr_wait_health  F_Eb47 0
chr_wait_health  A_E3b 0
chr_wait_health E_Nb37 0
chr_wait_health C_Eb30 0
#chr_wait_health B_N1 1
chr_wait_health B_N1 0
dmsg "[g. Griffin przybywa.]"

SpawnNameFlagHealthReset Griffin 23 600
chr_set_health GrifOps03 150
chr_set_health GrifOps02 120
chr_set_health GrifOps01 90
sleep 300
GrifOps02DeathCheck
fork muro 
fork mutant
sleep 100
chr_wait_health Muro 0
chr_wait_health MutantMuro 0
endgame 
}

func muro {
    if(did_kill_griffen() eq 1)
 SpawnNameFlagHealthReset Muro 22 600
}
 

    
func mutant {
    if(did_kill_griffen() eq 0)
        SpawnNameFlagHealthReset MutantMuro 22 480
}




########################

func void you_lose(string ai_name)
{
    sleep 24
    fade_out 0 0 0 180 
    sleep 240
    lose
}

########################

func void endgame(string ai_name)
{
    sleep f120
    chr_animate 0 KONOKOendpowerup
    sleep f120
    cm_interpolate EndCam 600
    sleep f500
    fade_out 0 0 0 120
    sleep f120
    win
}

########################
#snow for the airfield
func void snow1_start(string ai_name)
{
    dprint snow1_start
    particle snow1 start
}

func void snow2_start(string ai_name)
{
    dprint snow2_start
    particle snow2 start
}

func void snow3_start(string ai_name)
{
    dprint snow3_start
    particle snow3 start
}

Now Muro working, but mutant muro not. I try change name MutantMuro to muro_dummy but it isn`t working. http://www6.fh-eberswalde.de/user/dkrie … as/l19.htm

And i have new bug (probably you know abaut that). I have alive grifOps02 in savepoint 3 and game saved. I kill mieszanka krakowska , kill ulemnacy and grifops02 die. And then is func "grifops02deathcheck" GrifOps02 is death so kiledgriffen is 1. Then muro killed me and I load savepoint 3 and GrifOps02 isn`t spawned because "kiledgriffen is 1" I haven`t got idea how repeair this. sad

Offline

#52 06/25/07 07:06

geyser
Member
From: beyond the veil
Registered: 01/14/07
Website

Re: I made scripted mod...

I haven`t got idea how repeair this.

You can only use the "we killed Griffin" information for a character that spawns on the SP before the last SP.
Let's say you use all 5 SPs: on SP4 you always spawn Griffin, and on SP5 you spawn him only if(!did_kill_griffen()), and then either Muro or Murzilla smile
That sounds like it should work, right?

Now Muro working, but mutant muro not.

Sorry I promised to fix your code and didn't do it yet.
I've toyed around with several ways to encode the allies in persit.dat
I'll get to it one of these days.


Behold the power of that which is yet unborn! For the swirling images that flow forth from the Chrysalis are only a shadow of the sleeper's true power.

Offline

#53 06/26/07 15:06

Tantir
Member
From: Cracow
Registered: 06/10/07

Re: I made scripted mod...

var int my_save_point=0;

func pre(void) {
    # launch Oni Menu if you have it
    # fork om_core_3
fork super_kick
fork super_punch
    # following is for testing
# fork surprise_timer_0
}


func super_punch(void) {
chr_wait_animation 0 KONCOMcomb_p_p_p
slowmo 240
chr_animate 0 KONCOMsuper_punch
sleep 50
fork super_punch
}


func super_kick(void) {
chr_wait_animation 0 KONCOMcomb_p_p_k
slowmo 240
chr_animate 0 KONCOMsuper_kick
sleep 50
fork super_kick
}


func SpawnNameFlagHealthReset(string n, int f, int h, int r){
    ai2_spawn(n); chr_teleport(n, f)
    if(h) chr_set_health(n, h)
    if(r) chr_inv_reset(n)
}

func SpawnNameFlagReset(string n, int f, int r){
    ai2_spawn(n); chr_teleport(n, f)
    if(r) chr_inv_reset(n)
}

#######################################################
func void main(void)
{
env_show 401 1
env_shade 401 913 .2 .4 .2
env_show 402 1
env_shade 401 913 .2 .1 .3
env_show 403 1
env_shade 401 913 .3 .1 .3
env_show 404 1
env_shade 401 913 .3 .2 .1
env_show 405 1
env_shade 401 913 .1 .3 .2
env_show 406 1
env_shade 401 913 .2 .1 .4
env_show 407 1
env_shade 401 913 .1 .4 .1
env_show 408 1
env_shade 401 913 .4 .4 .1
env_show 409 1
particle dishpulse do start
particle sturm_ambient start
fork pre
gl_fog_blue=0.0
gl_fog_red=0.0
gl_fog_green=0.0
gl_fog_start=.989
gs_farclipplane_set 5000


my_save_point = save_point;


    if (my_save_point eq 0) {

    dmsg "Fight near hangars, will started soon.."

    chr_inv_reset 0
    chr_teleport 0 22
    chr_set_health 200
    dmsg " Fight with Syndicate. "
    chr_giveweapon 0 w3_phr
    chr_givepowerup 0 ammo 1
    chr_givepowerup 0 cell 1
    chr_givepowerup 0 shield 51
        sleep 100
    
    
    fork wave0
    killed_griffen 0

    
    }

    if (my_save_point eq 1)
    {
    save_point=1;
    restore_game
    GrifOPS01respawn
    fork wave1
        }

    if (my_save_point eq 2)
    {
    
        save_point=2;
    restore_game
    GrifOPS01respawn
    GrifOps02respawn
            fork wave2
    }

    if (my_save_point eq 3)
    {
        save_point=3;
    restore_game
    GrifOPS01respawn
    GrifOps02respawn
            fork wave3
    }

    if (my_save_point eq 4)
    {

    }
}

#######################################################

func void GrifoPS01DeathCheck(void) {
    chr_wait_health GrifOps01 0
    chr_givepowerup 0 lsi
  }
func GrifOps02DeathCheck {
    chr_wait_health GrifOps02 0
    killed_griffen 1
}
func GrifOPS01respawn {
    if(!chr_has_lsi(0))
        SpawnNameFlagHealthReset GrifOps01 23
}
func GrifOps02respawn {
    if(did_kill_griffen() eq 0)
        SpawnNameFlagHealthReset GrifOps02 23
}









#######################################################

func void wave0(void){

dmsg " TCTF agents will help you. "
sleep 200
dmsg "[r. Pyrpeciarz team .]"


SpawnNameFlagHealthReset GrifOps01 23 120

SpawnNameFlagReset F_C62 22
SpawnNameFlagHealthReset shooter_dummy 22 30 1
SpawnNameFlagReset A_E5b 22 1
chr_givepowerup  GrifOps01 shield 110

chr_wait_health A_E5b 0
dmsg "[g. Pyrpeciarz is dead.]"
chr_wait_health shooter_dummy 0
chr_wait_health F_C62 0
dmsg "[r. Team of Mlyn .]"

SpawnNameFlagHealthReset ParkStriker 22
SpawnNameFlagHealthReset A_Sb8 22
SpawnNameFlagHealthReset C_Sr18 22

chr_set_health GrifOps01 90

chr_wait_health C_Sr18 0
dmsg "[g. Mlynek was killed.]"
chr_wait_health A_Sb8 0
chr_wait_health ParkStriker  0
sleep 400
dmsg "[r. Cow team.]"

SpawnNameFlagHealthReset C_Sr19 22
SpawnNameFlagHealthReset C_Eb22 22
SpawnNameFlagHealthReset C_Sb26 22
SpawnNameFlagHealthReset C_Eb21 22


chr_set_health GrifOps01 90
ai2_attack C_Eb21 0
chr_wait_health C_Eb21 0
dmsg "[r. Cow is gone.]"
chr_wait_health C_Eb22 0
chr_wait_health C_Sb26 0
chr_wait_health C_Sr19 0
sleep 200

fork GrifoPS01DeathCheck
save_game 1 autosave
wave1
}





func void wave1(void){

sleep 100
ai2_spawn A_S1
chr_teleport A_S1 24
dmsg "[r. Warning! Sniper.]"
chr_givepowerup 0 shield 50
chr_givepowerup GrifOps01 shield 50
chr_set_health GrifOps01 90
sleep 600

SpawnNameFlagHealthReset C_Sb78 22
SpawnNameFlagHealthReset C_Sb76 22
SpawnNameFlagHealthReset target_dummy 22
chr_set_health target_dummy 45
ai2_attack A_S1 0
chr_givepowerup GrifOps01 cell 3
chr_wait_health A_S1 0
dmsg "[g. Sniper neutralized.]"
chr_wait_health C_Sb76  0
chr_wait_health C_Eb22 0
chr_wait_health target_dummy 0
sleep 100
dmsg "[g. Help from HQ.]"

SpawnNameFlagHealthReset GrifOps02 23 129
chr_giveweapon GrifOps02  w3_phr
chr_set_health GrifOps02 120 
chr_set_health GrifOps01 90
chr_givepowerup GrifOps02 ammo 1
chr_givepowerup GrifOps01 cell 1
chr_givepowerup GrifOps02 cell 1
chr_givepowerup GrifOps01 ammo 2
dmsg "These agent has more health, but he fight worse then other agents."
sleep 88
dmsg "Agents have hypo-sprays, and they use them after waves"
sleep 100 
dmsg "[r. Girls atack]"
SpawnNameFlagReset GrifElite03 22 1
SpawnNameFlagHealthReset GrifElite02 22
SpawnNameFlagReset D_R31 22 1
SpawnNameFlagReset D_R33 22 1
SpawnNameFlagHealthReset F_R61 22

dmsg "[g. Procuress is dead.]"
chr_wait_health GrifElite02 0
chr_wait_health D_R31 0
chr_wait_health D_R33 0
chr_wait_health F_R61 0

fork GrifoPS01DeathCheck
fork GrifOps02DeathCheck
save_game 2 autosave
wave2
}





func void wave2(void){

sleep 100
dmsg "[r. Nynjja from Pincz.]"
SpawnNameFlagReset C_Tr28 22 1
SpawnNameFlagReset E_Nr36 22 1
SpawnNameFlagReset E_Nb38 22 1
SpawnNameFlagReset E_Tr40 22 1
SpawnNameFlagReset E_Nr39 22 1
SpawnNameFlagReset GrifElite06 23 1
chr_givepowerup GrifOps02 ammo 1
chr_givepowerup GrifOps01 cell 1
chr_givepowerup GrifOps02 cell 1
chr_givepowerup GrifOps01 ammo 2

chr_teleport GrifElite06 22

chr_set_health GrifOps01 90
chr_set_health GrifOps02 120
chr_giveweapon GrifOps02 w1_tap 
chr_giveweapon GrifOps01 w2_sap
chr_wait_health C_Tr28 0
chr_wait_health E_Nr36 0
chr_wait_health E_Nb38 0
chr_wait_health E_Tr40 


sleep 900
   
dmsg "[r. Warning!!! Sniper.]"
SpawnNameFlagHealthReset A_S2 24
chr_set_health GrifOps02 120
chr_set_health GrifOps01 90
chr_wait_health A_S2 0
dmsg "[g. Sniper neutralized.]"
sleep 600

SpawnNameFlagHealthReset A_E5 22
SpawnNameFlagHealthReset B_Eb11 22
SpawnNameFlagHealthReset B_Esb15 22
SpawnNameFlagHealthReset E_Eb35 22
SpawnNameFlagHealthReset GrifElite01 22
chr_wait_health GrifElite01 0
dmsg "[g. Cow is dead.]"
chr_wait_health A_E5 0
chr_wait_health B_Eb11 0
chr_wait_health B_Esb15 0
chr_wait_health E_Eb35 0
dmsg "[g. Posilki z TCTF.]"

SpawnNameFlagHealthReset GrifOps03 23 150
chr_giveweapon GrifOps03 w3_phr 
chr_giveweapon GrifOps02 w1_tap 
chr_giveweapon GrifOps01 w2_sap
chr_set_health GrifOps02 120
chr_set_health GrifOps01 90
chr_givepowerup GrifOps01 cell 3
chr_givepowerup GrifOps02 cell 2
chr_givepowerup GrifOps03 cell 1
chr_givepowerup GrifOps01 ammo 3
chr_givepowerup GrifOps02 ammo 2 
chr_givepowerup GrifOps03 ammo 1
chr_givepowerup GrifOps01 shield 200
chr_givepowerup GrifOps02 shield 80
chr_givepowerup GrifOps03 shield 40

fork GrifoPS01DeathCheck
fork GrifOps02DeathCheck
save_game 3 autosave
fork wave3
}






func void wave3(void){

dmsg "[g. Good work .]"
sleep 300

dmsg "[r. Cracow Blend  is attacking.]"
SpawnNameFlagHealthReset A_E3
ai2_spawn A_E4
SpawnNameFlagHealthReset A_Sb7 22
SpawnNameFlagHealthReset C_Sr17 22
SpawnNameFlagHealthReset F_Nr60 22
SpawnNameFlagHealthReset E_R46 22
SpawnNameFlagHealthReset E_Nr46 22
chr_teleport A_E3 22
chr_teleport A_E4 22
chr_teleport C_Sr17 22
chr_wait_health A_E4  0
dmsg "[g. The sweet fell out of the piece of paper.]"
chr_wait_health A_E3 0
chr_wait_health A_Sb7 0
chr_wait_health C_Sr17 0
chr_wait_health F_Nr60 0
chr_wait_health E_R46 0
chr_wait_health E_Nr46 0

sleep 900
dmsg "[r. Imperfect are coming.]"

chr_set_health GrifOps03 150
chr_set_health GrifOps02 120
chr_set_health GrifOps01 90

SpawnNameFlagReset new_2 22 1
SpawnNameFlagHealthReset F_Er89 22 80 1
SpawnNameFlagHealthReset F_Nr87 22 55 1
SpawnNameFlagHealthReset C_Sb77 22 50 1
SpawnNameFlagHealthReset C_Sb75 22 60 1
SpawnNameFlagHealthReset F_Eb47 22 40 1
SpawnNameFlagHealthReset A_E3b 22 50 1
SpawnNameFlagHealthReset E_Nb37 22 30 1
SpawnNameFlagHealthReset C_Eb30 22 79 1
SpawnNameFlagHealthReset B_N1 22 55 1

chr_changeteam B_N1 Syndicate
chr_wait_health new_2 0
chr_wait_health F_Nr87 0
chr_wait_health F_Er89 0
chr_wait_health C_Sb77 0
chr_wait_health C_Sb75 0
chr_wait_health  F_Eb47 0
chr_wait_health  A_E3b 0
chr_wait_health E_Nb37 0
chr_wait_health C_Eb30 0
#chr_wait_health B_N1 1
chr_wait_health B_N1 0
dmsg "[g. Griffin arived.]"

SpawnNameFlagHealthReset Griffin 23 600
chr_set_health GrifOps03 150
chr_set_health GrifOps02 120
chr_set_health GrifOps01 90
sleep 300
GrifOps02DeathCheck
fork muro 
fork mutant
sleep 100
chr_wait_health Muro 0
chr_wait_health MutantMuro 0
endgame 
}

func muro {
    if(did_kill_griffen() eq 1)
 SpawnNameFlagHealthReset Muro 22 600
}
 

    
func mutant {
    if(did_kill_griffen() eq 0)
        SpawnNameFlagHealthReset MutantMuro 22 480
}




########################

func void you_lose(string ai_name)
{
    sleep 24
    fade_out 0 0 0 180 
    sleep 240
    lose
}

########################

func void endgame(string ai_name)
{
    sleep f120
    chr_animate 0 KONOKOendpowerup
    sleep f120
    cm_interpolate EndCam 600
    sleep f500
    fade_out 0 0 0 120
    sleep f120
    win
}

########################
#snow for the airfield
func void snow1_start(string ai_name)
{
    dprint snow1_start
    particle snow1 start
}

func void snow2_start(string ai_name)
{
    dprint snow2_start
    particle snow2 start
}

func void snow3_start(string ai_name)
{
    dprint snow3_start
    particle snow3 start
}

1. It is translate - nothing special.
2. Some words cant translete to english, it is nice only on polish.
3. I won`t offend somebody - I used tlanslator wink
4. "mieszanka krakowska" is a kind of candys in Crakow.
5. Please, don`t hurty me wink

Offline

#54 06/27/07 12:06

paradox-01
Member
From: Germany
Registered: 01/14/07

Re: I made scripted mod...

Okay, I hope everything is fixed now, try it out (even if it doesn't get easier now, thx to ultramode^^).

Last edited by paradox-01 (06/27/07 12:06)

Offline

#55 06/27/07 14:06

paradox-01
Member
From: Germany
Registered: 01/14/07

Re: I made scripted mod...

Balancing a bit more I thought about a little feature (...) But I need help.
How can I avoid this bug (picture) ? ( chr_animate 0 COMCOMlev13_death 120 )


animation_bug.png

Offline

#56 06/27/07 15:06

Tantir
Member
From: Cracow
Registered: 06/10/07

Re: I made scripted mod...

First post- in my PC, i must use fork "wave1" itp. without fork after Cow team defeathed nothing is happened. When Griffin arive nothing is happened too.  But it easy to fix.
Unfornatly, GrifOps02 won`t respawn. ;/.

Second- Er?? I don`t know what you  are plotting but it`s sounds dangerous wink;p;)

Offline

#57 06/27/07 15:06

geyser
Member
From: beyond the veil
Registered: 01/14/07
Website

Re: I made scripted mod...

@ paradox: you can't use this animation anywhere but in level13, unless you do some binary hacking.
(you have to either unlink the animation from the special particles, or make those particles available)
Of course, you can try to completely disable the drawing of particles for the time of that animation...

@ Tantir: GrifOps02 has trouble respawning because of what I told you about Griffin's death variable.
fork is needed because otherwise you reach the limits of the script language stack. I told you before.


Behold the power of that which is yet unborn! For the swirling images that flow forth from the Chrysalis are only a shadow of the sleeper's true power.

Offline

#58 06/27/07 15:06

paradox-01
Member
From: Germany
Registered: 01/14/07

Re: I made scripted mod...

My fault: GrifOps0XDeathCheck in end of waves have to be forked, but not (probably) the very last one.

Is there a way to make the picture blank or very transparent?
The goal is to create a berserker "event". After the mentioned "move" you've  1 or 2 to kill some enemies.

# phalanx sub-mod berserker
func void berserker(void) {

    chr_wait_health 0 30
    dmsg "[r. Get 'de hell away from me !!]"
    slowmo 480
    invincible = 1
    omnipotent = 1
    unstoppable = 1 

    chr_animate 0 COMCOMlev13_death 120
    gl_fog_start_changeto .995 30
    sleep f24

    chr_super 0 1
    sleep 300
    invincible = 0
    unstoppable = 0
    omnipotent = 0
    chr_super 0 0
    emulated_elderrune
}

Last edited by paradox-01 (06/27/07 16:06)

Offline

#59 06/29/07 16:06

paradox-01
Member
From: Germany
Registered: 01/14/07

Re: I made scripted mod...

Hi guys, here comes a little mod-add-on. (It's integrated in the new file, so replace it with your old script.)

The berserker_event can be triggered one time only. (If you like rewrite it.) (If your health fall under 31 HP you can run amok for 1 or 2 seconds...)
It's not fine-tuned yet. This beta is (AFAK^^) working but main problem is the not-existing cutscreen-function. (It was/is planned that the AI takes control for a moment.)

Testing, ideas (and bug report of course^^) are welcome.  smile

Last edited by paradox-01 (06/29/07 16:06)

Offline

#60 06/29/07 16:06

geyser
Member
From: beyond the veil
Registered: 01/14/07
Website

Re: I made scripted mod...

As for MUROtransform, all the required textures are in the level, but as you've noticed Mai doesn't have the required particles.

If you're still interested in making COMCOMlev13_death work, the only good-looking ways seem to be

gs_show_particles= 0
chr_animate 0 COMCOMlev13_death
sleep 60; gs_show_particles= 1

and

chr_animate 0 COMCOMlev13_death
sleep 1; p3_killall

There's another way that goes p3_callevent death_p03 8 (send the "lifetime" event to the particles that are missing the "skull" texture), but even though the "NOT FOUND" squares will disappear, they'll take too long to fade out.
If you get rid of all the particles, you won't get the glow, but you can add overpower (real or fake) right after p3_killall for example, and it will look the same as what you did for MUROtransform.

I won't be testing this ingame (aus Prinzip wink ). One-time elderruning is no big problem (as usual, I recommend doing it without redundant code: don't duplicate stuff unless you have to).

cm_canter_unarmed  and cm_canter_weapon is what you use to make the camera look at Konoko from above (in cm_orbit mode but also in the main mode).
Changing those angles can be a slow process, though, depending on how high you want to place the camera.

This is an issue with the (hardcoded) movement speed set for the camera: it's very slow.
There's no problem in the original game (cm_canter_unarmed and cm_canter_weapon are so close to each other that the transition is unnoticeable no matter what the speed).
But if you want to place the camera almost above Konoko (I've actually experimented with top-view in OTA smile ), and set cm_canter_unarmed= 1000, you'll have to wait a few minutes before the camera reaches the final position.

Last edited by geyser (06/29/07 17:06)


Behold the power of that which is yet unborn! For the swirling images that flow forth from the Chrysalis are only a shadow of the sleeper's true power.

Offline

#61 06/30/07 15:06

paradox-01
Member
From: Germany
Registered: 01/14/07

Re: I made scripted mod...

@ geyser:

It seems that your inbox is full^^ so I've to write it here...

---

I tried not duplicating code by using this instead...

func something_else { ...; elderrune char_0; ... }

var int z = 30;
var int count = 0;
func elderrune(string name)
{
    repeat (chr_set_health(name, z + count); count = count + 1; sleep 2)
    until (count < 110)
}

If „until“ is illegal (because it isn’t listen on the wiki OSL article), I would use:

repeat (if (count < 110) chr_set_health(name, z + count); count = count + 1; sleep 2)

... but this have also no effect.

Please tell me what I miss.

Offline

#62 06/30/07 16:06

geyser
Member
From: beyond the veil
Registered: 01/14/07
Website

Re: I made scripted mod...

It seems that your inbox is full

It is. I'll try to clean it up tomorrow.

Please tell me what I miss.

until is not among BSL's keywords. As for repeat, we haven't found out what it does.
It's possible that it was meant for what you have in mind, but it's not the only possibility.
It's very probably obsolete and/or flawed, just like for and iterate (and even else).
Either way, I tried a lot of combinations without getting it to work. So just forget it.

(besides, note that incrementing count and repeating something until (count < 110) is illogical: you're confusing "until" and "while")

The fundamental way to do what you need is a recursive call: a function calling itself.

func ChrHealthFromByTo(string n, int f, int b, int t) {
    f= f + b; chr_set_health(n, f); sleep 2;
    if(t ne f) fork ChrHealthFromByTo(n, f, b, t);
}

Your example is then equivalent to calling fork ChrHealthFromByTo(char_0, 30, 1, 140);

Last edited by geyser (06/30/07 16:06)


Behold the power of that which is yet unborn! For the swirling images that flow forth from the Chrysalis are only a shadow of the sleeper's true power.

Offline

#63 07/06/07 03:07

Tantir
Member
From: Cracow
Registered: 06/10/07

Re: I made scripted mod...

I wrote:
"These agent has more health, but he fight worse then other agents."
So first agent should fight better then second, and second agent better then third.
I don't understand above the black magic, but it should be make tCTF stronger. ( I think)

func Grifthrow(void) {
    chr_wait_animation GrifOps01 TCTCOMthrow_fw_p
        chr_animate GrifOps01 REDCOMthrow_fw_p
    sleep 50
    fork Grifthrow
}

func Grifkkk(void) {
    chr_wait_animation GrifOps01 TCTCOMcomb_k_k_k
        chr_animate GrifOps01 MURCOMpunch_heavy
    sleep 50
    fork Grifppp
}

func Grifkick(void) {
    chr_wait_animation GrifOps01 TCTCOMkick_low
        chr_animate GrifOps01 TANCOMkick_heavy
    sleep 58
    fork Grifkick
}
func Grifpunch(void) {
    chr_wait_animation GrifOps01 TCTCOMcomb_p_p_p
        chr_animate GrifOps01 REDCOMpunch_heavy
    sleep 58
    fork Grifpunch
}
func Grifthrow(void) {
    chr_wait_animation GrifOps02 TCTCOMthrow_fw_p
        chr_animate GrifOps02 REDCOMthrow_fw_p
    sleep 50
    fork Grifthrow
}
func Grifkkk(void) {
    chr_wait_animation GrifOps02 TCTCOMcomb_k_k_k
        chr_animate GrifOps02 MURCOMpunch_heavy
    sleep 50
    fork Grifppp
}

Edit:
Ok maybe now I exaggerated but it`s looking nice when GrifOps01 kick wink

Last edited by Tantir (07/06/07 08:07)

Offline

#64 07/06/07 08:07

paradox-01
Member
From: Germany
Registered: 01/14/07

Re: I made scripted mod...

black magic ... I like it nevertheless   ~ being a blasphemy one ~  wink

About your attacks:
attack_n_damage.jpg

Some new attacks deals same damage like the old. The red one will do less even. You can look up damage and frame number here.
So if an new attack is not suitable maybe add just two new, between them a "sleep".

chr_wait_animation GrifOps01 TCTCOMcomb_p_p_p
sleep 50
chr_animate GrifOps01 GrifOps01 TANCOMcomb_p_p_p
sleep 47
chr_animate GrifOps01 GrifOps01 ELICOMcomb_p_p_p

(I'm not sure about how long a frame is, but it seem the it doesn't too far away from sleep units. (sleep 60 = 1 seconds))

EDIT: hm, overlooked you attachment because I was logged out. I will test the full script now (e.g. what different does "chr_animate" / "chr_animate_block" ). smile

Last edited by paradox-01 (07/06/07 08:07)

Offline

#65 07/06/07 09:07

Tantir
Member
From: Cracow
Registered: 06/10/07

Re: I made scripted mod...

"plays an animation on a character and blocks until done" now when someone hit grifOps when he "berserking" Agent will be continue animete. In you joke- the same- player can`t move.

REDCOMthrow_fw_p damege = 20
TCTCOMthrow_fw_p damage = 10 and if hit other guy + 10
so REDCOMthrow_fw_p is more damage... ... I`m right??

TCTCOMcomb_k_k_k = 15
MURCOMpunch_heavy = er.. 10? 20? 30? btw it unstopable.

TCTCOMkick_low = 10
TANCOMkick_heavy = 35! + ELICOMgetup_fw = 0 + ELICOMpunch_heavy = 20  = 55!


It looks right.

Last edited by Tantir (07/06/07 09:07)

Offline

#66 07/06/07 09:07

geyser
Member
From: beyond the veil
Registered: 01/14/07
Website

Re: I made scripted mod...

A frame is exactly 1/60 seconds by design, but the timing can be affected by lag and such.

The throws will look weird unless you animate the opponent. See "Jesus Saves" for reference.

More specifically about Tantir's anim overrides:

func Grifthrow(void) {
    chr_wait_animation GrifOps01 TCTCOMthrow_fw_p
        chr_animate GrifOps01 REDCOMthrow_fw_p
    sleep 50
    fork Grifthrow
}

func Grifkkk(void) {
    chr_wait_animation GrifOps01 TCTCOMcomb_k_k_k
        chr_animate GrifOps01 MURCOMpunch_heavy
    sleep 50
    fork Grifppp
}

...

func Grifthrow(void) {
    chr_wait_animation GrifOps02 TCTCOMthrow_fw_p
        chr_animate GrifOps02 REDCOMthrow_fw_p
    sleep 50
    fork Grifthrow
}
func Grifkkk(void) {
    chr_wait_animation GrifOps02 TCTCOMcomb_k_k_k
        chr_animate GrifOps02 MURCOMpunch_heavy
    sleep 50
    fork Grifppp
}

Defining two functions with the same name is illegal (typically, the scripts won't load).
Also, forking a non-existing function (in this case, "Grifppp") is a guaranteed Blam wink

Last edited by geyser (07/06/07 09:07)


Behold the power of that which is yet unborn! For the swirling images that flow forth from the Chrysalis are only a shadow of the sleeper's true power.

Offline

#67 07/06/07 09:07

paradox-01
Member
From: Germany
Registered: 01/14/07

Re: I made scripted mod...

unfortunately I didn't wrote the table of damage - "10s" is not explained. Whatever.. I'm thinking also that REDCOMthrow_fw_p does more damage. I will check out later.

Edit: "guaranteed Blam". Maybe Tantir get it by himself. There (attachment) is a "Grifppp2" already. I wonder about the "2". wink No it seems false trace - he name it towards the used GrifOps02. (So he wrote "old" stuff in [ code ] and new into the final attachment - that's what I guess.)

Last edited by paradox-01 (07/06/07 10:07)

Offline

#68 07/06/07 09:07

Tantir
Member
From: Cracow
Registered: 06/10/07

Re: I made scripted mod...

Grifppp2 is because 1) GrifOps02 2)TCTCOMcomb_k_k_k.
I haven`t any blams now.
...
...
Er.. It shoud be TCTCOMcomb_p_p_p .
I know abaut "he throws will look weird unless you animate the opponent." But this time it isn`t look wreid. Tctf grab oponents hand and throw him by tctfs back. is there any way to animete opponents?? First i want give TCTF "cow`s backbreaker"( broken on the knee) wink


Now everything should be allright.

edit: Paradox- You`re righit. big_smile
And I`m right.
REDCOMthrow is stronger than TCTCOM

Last edited by Tantir (07/06/07 09:07)

Offline

#69 07/06/07 09:07

paradox-01
Member
From: Germany
Registered: 01/14/07

Re: I made scripted mod...

You can write that chars does a animation, exception are throws: the opponent react automatically to the animated thrower - so a throw are actually two animations. We would have to do some binary hacks. (Re-link the second animation). IMHO that's more advanced than scripting - and then not portable by small BSL-files. (Of course we could provide just the tram-file but then every user (who want) have to interchange it by his or her own .. just for playing one script. hmm ) .. Ahm wrong direction .. You want giving them just a pain anim, but we haven't this neither.

BTW: "Woahaaaaa..." You solved the "COMCOMlev13_death"-problem. What all one "chr_animate_block" is able to do, crazy...  big_smile big_smile

Last edited by paradox-01 (07/06/07 10:07)

Offline

#70 07/06/07 10:07

geyser
Member
From: beyond the veil
Registered: 01/14/07
Website

Re: I made scripted mod...

I keep advising you to have a look at the Jesus script.
I override "thrown" anims there, with pure sctipting.
I linked to it earlier in the thread, so just look it up.

Everything in ZDLO's tables is explained.
10S stands for "splash damage 10 HP".

I can't follow the pace of your BSL releases...
So maybe it's better if I don't read any of it smile

Last edited by geyser (07/06/07 10:07)


Behold the power of that which is yet unborn! For the swirling images that flow forth from the Chrysalis are only a shadow of the sleeper's true power.

Offline

#71 07/06/07 10:07

Tantir
Member
From: Cracow
Registered: 06/10/07

Re: I made scripted mod...

HMMM, Ithink:
func Heathrow(void) {
    chr_wait_animation GrifOps01 TCTCOMthrow_fw_p
    chr_animate GrifOps01 ELICOMthrow_bk
     chr_animate shooter_dummy ELICOMthrow_bk_tgt
    sleep 111
    fork Grifthrow
}
Throw work with one character shooter_dummy. If I write  103854 func like this witch all characters it should work. But when TCTF throw one character all of them flyaway.  I use chr_wait_healt like that:

func Grifthrow(void) {
    chr_wait_animation GrifOps01 TCTCOMthrow_fw_p
    chr_animate GrifOps01 ELICOMthrow_bk
     chr_animate shooter_dummy ELICOMthrow_bk_tgt
chr_wait_healt shoter_dummy 0
chr_animate next character ELICOMthrow_bk_tgt
......
    sleep 111
    fork Grifthrow
}
and it working for some characters, other should be animeted normal.
Probably I wrote @#$%^&*()_^&*(  but i haven`t time to try this,

Last edited by Tantir (07/06/07 10:07)

Offline

#72 07/06/07 11:07

paradox-01
Member
From: Germany
Registered: 01/14/07

Re: I made scripted mod...

10S stands for "splash damage 10 HP".

I overlooked it - sorry.

I keep advising you to have a look at the Jesus script.
I override "thrown" anims there, with pure sctipting.
I linked to it earlier in the thread, so just look it up.

I can't follow the pace of your BSL releases...
So maybe it's better if I don't read any of it

Ahm, are you sure you edit "here" (page 3; 2; 1 ?) the jesus script? I didn't found it. Maybe it get lost (happens when one wait too long in an open edit field). hmm (What do you mean by "Jesus Saves"?)
But I get what "tgt" stands for: "target". I remembered that throws are connected (2 anims) but not that they are independent, ok lets forget my last talk.

Last edited by paradox-01 (07/06/07 11:07)

Offline

#73 07/06/07 15:07

Tantir
Member
From: Cracow
Registered: 06/10/07

Re: I made scripted mod...

hmmm, above I wrote @#$%^&. But I have idea.

func crazysincetist {
    chr_wait_animation B_N2 TCTCOMthrow_fw_p
      chr_animate B_N1 REDCOMthrow_fw_p
    sleep 70
    chr_animate B_N1 REDCOMthrow_bk_p
    sleep 111
    fork crazysincetist
}

He is really creazy. wink)
I add sound "woahha" when TCTF berserking.
It`s all from me. Now you paradox add cutscene and this script reach final version.

Last edited by Tantir (07/06/07 15:07)

Offline

#74 07/06/07 15:07

paradox-01
Member
From: Germany
Registered: 01/14/07

Re: I made scripted mod...

Man, you keep my busy.  wink
I will report in one or two hour again...

Offline

#75 07/06/07 15:07

Tantir
Member
From: Cracow
Registered: 06/10/07

Re: I made scripted mod...

wink I know,  i know, but it was last  time . ;P
I had head to scripting today wink

Offline

Board footer

Powered by FluxBB