Advanced question -1 reply

Please wait...

NAB622

EAT ME!

50 XP

8th October 2005

0 Uploads

6,921 Posts

0 Threads

#1 11 years ago

I have a really good question for anyone who's really advanced in JA modding and scripting.

With an icarus script, can you think of any RELIABLE way to tell whether a client has just joined the game? SET_PARMS cannot be used, as they sometimes carry over from player to player. I need a reliable way to do this so I can reset the SET_PARMS the map applies to the players.

That's probably confusing. Let me explain. In this map, you have to earn a secret area. Once you've earned it, a SET_PARM on your player is changed to a randomly generated passcode that the map will recognise. However, when you disconnect, the server RETAINS that value....so the next person to get on doesn't have to earn the secret. So I want to stop people from cheating and have to always earn the secrets.

Any possible way to do this?




Szico VII

We want FF7-2/remake!

50 XP

14th September 2003

0 Uploads

1,683 Posts

0 Threads

#2 11 years ago

Yeah..its possible from what I've been told. Its complicated thou- you é–“can get me on msn as [email]szicovii@ntlworld.com[/email] or xfire as szicovii




NAB622

EAT ME!

50 XP

8th October 2005

0 Uploads

6,921 Posts

0 Threads

#3 11 years ago

That's a really nice offer! I'll contact you soon if we're online at the same time, but right now, it's 3:30 in the morning and I haven't had a wink of sleep yet. I'll be on soon. :cool:

My MSN username is [email]mrprogrammer@verizon.net[/email], and xfire is nab622, in case you want to know who to expect the messages from.




~*Seto*~

Trapped in the interchet

50 XP

19th October 2007

0 Uploads

334 Posts

0 Threads

#4 11 years ago

Just set up a target_scriptrunner connected to every spawnpoint entity in your map and have it run a script on activator to set the value of the parm to something that will never be equal to whatever the parm gets set to in the secret area.




NAB622

EAT ME!

50 XP

8th October 2005

0 Uploads

6,921 Posts

0 Threads

#5 11 years ago

Yes, but that would do it every time someone spawns. I only want it for people that have just spawned into the game for the first time. I just can't figure it out myself.




~*Seto*~

Trapped in the interchet

50 XP

19th October 2007

0 Uploads

334 Posts

0 Threads

#6 11 years ago

That's the best that can be done. There is no 100% foolproof way to do what you want to do, as Icarus has absolutely no way of monitoring client connects and disconnects. There are ways you could try to get around it (like a timer after death for respawn with same parm), but like I said, none is 100% secure. Sorry :(




Yzmo

Modding a game > Playing it...

50 XP

19th May 2006

0 Uploads

168 Posts

0 Threads

#7 11 years ago

U could check if someone spawns though...

Spawns fire their targets when someone spawns in them




NAB622

EAT ME!

50 XP

8th October 2005

0 Uploads

6,921 Posts

0 Threads

#8 11 years ago

I already have the map monitoring all clients for changes made by the scaling buttons. This map is getting overrun by scripting. One or two more scripts won't harm it.

But I do know someone who actually used a bug in the target_counter to count the number of people in a room, and where there are two, initiate a completely interactive duel. An interesting electrode would come down and start randomly shocking the wires you were standing on by their color, so you'd have to watch your step so you don't step on the electrified wires during the duel. It was awesome. The best part was, you could do it over and over; it wasn't just a one-time thing.

I'm sure there's some way, somehow...it could be possible to count the clients, but when one disconnects, it can't affect them until another one connects....

What about having the map count the clients, and whenever one is added, it sets those variables to a definitely-not-correct value...that would work and be 99% reliable, but I don't know how the counting was done with the target_counter.