Hey, I'm trying to use the SendMessageEx function in one of my cogs. It's sending ok, but when it gets to the second cog, it's saying the variable (i called it deadnum) is equal to 0. How do i get the second cog to recognize the variable?
This is the static archive of the Massassi Forums. The forums are
closed indefinitely. Thanks for all the memories!
You can also download
Super Old Archived Message Boards
from when Massassi first started.
"View" counts are as of the day the forums were archived, and will no longer increase.
# Jedi Knight Cog Script # # PSOGENERATOR.COG # # Generates enemies in waves like in Phantasy Star Online # # Created by Jon Newmuis # symbols sector startrig linkid=0 // Wave One thing ghostoone linkid=2 thing ghostotwo linkid=2 thing ghostothree linkid=2 thing ghostofour linkid=2 thing ghostofive linkid=2 template oone template otwo template othree template ofour template ofive flex enemiesin1=5 // Wave Two thing ghosttone linkid=2 thing ghostttwo linkid=2 thing ghosttthree linkid=2 thing ghosttfour linkid=2 thing ghosttfive linkid=2 template tone template ttwo template tthree template tfour template tfive flex enemiesby2=10 // Wave Three thing ghosttho linkid=2 thing ghosttht linkid=2 thing ghostthth linkid=2 thing ghostthfo linkid=2 thing ghostthfi linkid=2 template tho template tht template thth template thfo template thfi flex enemiesby3=15 // Sounds sound gensound0=forcesee01.wav local sound gensound1=forcethrow01.wav local sound stopsound=funicularstop01.wav local // Flexes [the most important parts :-) ] flex delay=1.2 local flex endelay=3.2 local flex kc=0 local flex wave=0 local flex once=0 local flex flexr=0 flex flexg=150 flex flexb=190 flex en1=0 local flex en2=0 local flex en3=0 local flex en4=0 local flex en5=0 local flex en6=0 local flex en7=0 local flex en8=0 local flex en9=0 local flex en10=0 local flex en11=0 local flex en12=0 local flex en13=0 local flex en14=0 local flex en15=0 local // Int's [for the KC] int enemy1 local linkid=1 int enemy2 local linkid=1 int enemy3 local linkid=1 int enemy4 local linkid=1 int enemy5 local linkid=1 int enemy6 local linkid=1 int enemy7 local linkid=1 int enemy8 local linkid=1 int enemy9 local linkid=1 int enemy10 local linkid=1 int enemy11 local linkid=1 int enemy12 local linkid=1 int enemy13 local linkid=1 int enemy14 local linkid=1 int enemy15 local linkid=1 // The flash when new enemies arrive template appear0=-1 local template appear1=-1 local // The cog to send message to when complete and for the kill points cog unlock cog ptsruntime // The Player thing player local // PTSRUNTIME.COG stuff int killtemp local flex deadnum=0 local // Messages message startup message entered message killed mask=0xfff end # ======================================================================================== code startup: player = GetLocalPlayerThing(); Return; //------------------------------------------------------------------------------------------------ entered: if (GetSenderID()==0) { if(once==0) { once=1; wave = 1; enemy1 = CreateThing(oone, ghostoone); CaptureThing(enemy1); CreateThing(appear0, oone); CreateThing(appear1, oone); enemy2 = CreateThing(otwo, ghostotwo); CaptureThing(enemy2); CreateThing(appear0, otwo); CreateThing(appear1, otwo); enemy3 = CreateThing(othree, ghostothree); CaptureThing(enemy3); CreateThing(appear0, othree); CreateThing(appear1, othree); enemy4 = CreateThing(ofour, ghostofour); CaptureThing(enemy4); CreateThing(appear0, ofour); CreateThing(appear1, ofour); enemy5 = CreateThing(ofive, ghostofive); CaptureThing(enemy5); CreateThing(appear0, ofive); CreateThing(appear1, ofive); } } Return; //------------------------------------------------------------------------------------------------ killed: if (GetThingHealth(player) > 0) { kc=kc+1; } if(kc == enemiesin1) { sleep(delay); wave=2; enemy6 = CreateThing(tone, ghosttone); CaptureThing(enemy6); CreateThing(appear0, tone); CreateThing(appear1, tone); AddDynamicTint(player, flexr, flexg, flexb); AddDynamicTint(player, flexr, flexg, flexb); enemy7 = CreateThing(ttwo, ghostttwo); CaptureThing(enemy7); CreateThing(appear0, ttwo); CreateThing(appear1, ttwo); enemy8 = CreateThing(tthree, ghosttthree); playsoundlocal(gensound0, 1, 0, 132); playsoundlocal(gensound1, 1, 0, 132); CaptureThing(enemy8); CreateThing(appear0, tthree); CreateThing(appear1, tthree); enemy9 = CreateThing(tfour, ghosttfour); CaptureThing(enemy9); CreateThing(appear0, tfour); CreateThing(appear1, tfour); enemy10 = CreateThing(tfive, ghosttfive); CaptureThing(enemy10); CreateThing(appear0, tfive); CreateThing(appear1, tfive); } if(kc == enemiesby2) { sleep(delay); wave=3; enemy11 = CreateThing(tho, ghosttho); CaptureThing(enemy11); CreateThing(appear0, tho); CreateThing(appear1, tho); enemy12 = CreateThing(tht, ghosttht); CaptureThing(enemy12); CreateThing(appear0, tht); CreateThing(appear1, tht); AddDynamicTint(player, flexr, flexg, flexb); AddDynamicTint(player, flexr, flexg, flexb); enemy13 = CreateThing(thth, ghostthth); playsoundlocal(gensound0, 1, 0, 132); playsoundlocal(gensound1, 1, 0, 132); CaptureThing(enemy13); CreateThing(appear0, thth); CreateThing(appear1, thth); enemy14 = CreateThing(thfo, ghostthfo); CaptureThing(enemy14); CreateThing(appear0, thfo); CreateThing(appear1, thfo); enemy15 = CreateThing(thfi, ghostthfi); CaptureThing(enemy15); CreateThing(appear0, thfi); CreateThing(appear1, thfi); } if(kc == enemiesby3) { sleep(endelay); playsoundlocal(stopsound, 1, 0, 132); wave=4; SendMessage(unlock, user0); } // ********************************************** // ** THIS IS JUST TO MAKE THE BREAK NOTICABLE ** // ********************************************** // Sends Messages to PTSRUNTIME.COG if (en1==0) { if (GetThingHealth(enemy1)<=0) { en1=1; killtemp = GetThingTemplate(enemy1); deadnum=killtemp; PrintFlex(deadnum); SendMessageEx(ptsruntime, user0, deadnum, -1, -1, -1); } } if (GetThingHealth(enemy2)<=0) { if (en2==0) { en2=1; killtemp = GetThingTemplate(enemy2); deadnum=killtemp; SendMessageEx(ptsruntime, user0, deadnum, -1, -1, -1); } } if (GetThingHealth(enemy3)<=0) { if (en3==0) { en3=1; killtemp = GetThingTemplate(enemy3); deadnum=killtemp; SendMessageEx(ptsruntime, user0, deadnum, -1, -1, -1); } } if (GetThingHealth(enemy4)<=0) { if (en4==0) { en4=1; killtemp = GetThingTemplate(enemy4); deadnum=killtemp; SendMessageEx(ptsruntime, user0, deadnum, -1, -1, -1); } } if (GetThingHealth(enemy5)<=0) { if (en5==0) { en5=1; killtemp = GetThingTemplate(enemy5); deadnum=killtemp; SendMessageEx(ptsruntime, user0, deadnum, -1, -1, -1); } } if (GetThingHealth(enemy6)<=0) { if (en6==0) { en6=1; killtemp = GetThingTemplate(enemy6); deadnum=killtemp; SendMessageEx(ptsruntime, user0, deadnum, -1, -1, -1); } } if (GetThingHealth(enemy7)<=0) { if (en7==0) { en7=1; killtemp = GetThingTemplate(enemy7); deadnum=killtemp; SendMessageEx(ptsruntime, user0, deadnum, -1, -1, -1); } } if (GetThingHealth(enemy8)<=0) { if (en8==0) { en8=1; killtemp = GetThingTemplate(enemy8); deadnum=killtemp; SendMessageEx(ptsruntime, user0, deadnum, -1, -1, -1); } } if (GetThingHealth(enemy9)<=0) { if (en9==0) { en9=1; killtemp = GetThingTemplate(enemy9); deadnum=killtemp; SendMessageEx(ptsruntime, user0, deadnum, -1, -1, -1); } } if (GetThingHealth(enemy10)<=0) { if (en10==0) { en10=1; killtemp = GetThingTemplate(enemy10); deadnum=killtemp; SendMessageEx(ptsruntime, user0, deadnum, -1, -1, -1); } } if (GetThingHealth(enemy11)<=0) { if (en11==0) { en11=1; killtemp = GetThingTemplate(enemy11); deadnum=killtemp; SendMessageEx(ptsruntime, user0, deadnum, -1, -1, -1); } } if (GetThingHealth(enemy12)<=0) { if (en12==0) { en12=1; killtemp = GetThingTemplate(enemy12); deadnum=killtemp; SendMessageEx(ptsruntime, user0, deadnum, -1, -1, -1); } } if (GetThingHealth(enemy13)<=0) { if (en13==0) { en13=1; killtemp = GetThingTemplate(enemy13); deadnum=killtemp; SendMessageEx(ptsruntime, user0, deadnum, -1, -1, -1); } } if (GetThingHealth(enemy14)<=0) { if (en14==0) { en14=1; killtemp = GetThingTemplate(enemy14); deadnum=killtemp; SendMessageEx(ptsruntime, user0, deadnum, -1, -1, -1); } } if (GetThingHealth(enemy15)<=0) { if (en15==0) { en15=1; killtemp = GetThingTemplate(enemy15); deadnum=killtemp; SendMessageEx(ptsruntime, user0, deadnum, -1, -1, -1); } } return; end
# Jedi Knight Cog Script # # PTSRUNTIME.COG # symbols int enemy local int killtemp local flex deadnum local flex points=0 local message startup message user0 end # ======================================================================================== code startup: SetPulse(0.25); Return; # ........................................................................................ user0: // Find out what enemy has been killed, then give the player a // specific amount of points for killing it. printflex(deadnum); if (deadnum==16) { points=points+4; } if (deadnum==22) { points=points+5; } if (deadnum==44) { points=points+10; } PrintFlex(points); Return; end