Food Clan .::. Zombie Assassins
image Navigation image
 
· Search Our Site

· Join [ZÅ]

Important Links
· Home
· Special Requests
· Allies & Friends

Features
· Newsletter
· Fan Fiction
· YouTube Page
· Hall of Fame

Rules & Information
· Website Rules
· Membership Rules
· Server Rules & Info
· Classic Server Password Test
· The History of [ZÅ]
· Site & Server Admins
· Staying Safe Online


Other
· News Categories
· Downloads
· Photo Gallery
· Hall of Shame
· I DON'T THINK RAZ IS GOD
 
image image
image Last Seen Users image
 
· [LÅZY]LazyTarget 3 weeks
· [ZÅ]Riptide 4 weeks
· [ZÅ]Giants11 weeks
· [ZÅ]Razberry12 weeks
· [ZÅ~V]Stuntman13 weeks
· [ZÅ]SlimJim14 weeks
· [ZÅ]Noobo17 weeks
· [ZÅ~V]DrkInferno26 weeks
· ZA Flax37 weeks
· [ZÅ]ODST-LoL40 weeks
· [ZÅ]JP41 weeks
· lkshadow45 weeks
· [ZÅ]MasterA55 weeks
· [ZÅ]Dudeman55 weeks
· [ZÅ]Link-MC--LoL-CSGO57 weeks
· [ZÅ]Innervision61 weeks
· [ZÅ~V]Phoenix64 weeks
· [ZÅ~V]BrickSquad75 weeks
· {FC}Cookie78 weeks
· [ZÅ]Bvigil81 weeks
· [ZÅ~V]Boxhead82 weeks
· [ZÅ]Vlexis89 weeks
· {FC}Wings89 weeks
· [ZÅ~V]Buck90 weeks
· {FC~V}Coyote158 weeks
· [ZÅ~V]TheHatofLove164 weeks
· Kennan171 weeks
· [ZÅ]Paradox-MC-172 weeks
· zuko188 weeks
· A§H»ĴΘΘĶ196 weeks
· [ZÅ]Vaxjo198 weeks
· coldplay99198 weeks
· [ZÅ~V]RAGE198 weeks
· samtheman32203 weeks
· [ZÅ]ninja203 weeks
· [ZÅ]Code203 weeks
· FRINGE204 weeks
· [ZÅ]Leve204 weeks
· [ZÅ~V]Ezrab204 weeks
· BMF204 weeks
· MRBILL204 weeks
· [ZÅ~V]Hercules206 weeks
· ginny18245 weeks
· [ZÅ~V]Cloverton283 weeks
· [ZÅ]Carnage-WoWs299 weeks
· [ZÅ]Mist-Stn300 weeks
· theatticus308 weeks
· [ZÅ~V]Star312 weeks
· [ZÅ~V]Neo316 weeks
· [ZÅ]Saviour324 weeks
· [ZÅ~V]Irock23325 weeks
· [ZÅ]Revenge-Stn335 weeks
· Habu341 weeks
· [ZÅ~V]Althor352 weeks
· Founder~[ZÅ~V]Trunks353 weeks
· [ZÅ~V]Llamas358 weeks
· [ZÅ~V]Bagels361 weeks
· Founder~[ZÅ~V]Coke367 weeks
· Teemo367 weeks
· Rabidtaco368 weeks
· [ZÅ~V]BlackAdder-LoL374 weeks
· [ZÅ~V]Ice382 weeks
· Hav389 weeks
· [ZÅ~V]Huggy394 weeks
· [ZÅ~V]RealmHunter395 weeks
· [ZÅ]Tulip-LoL-CSGO397 weeks
· [ZÅ~V]Pizzleini401 weeks
· [ZÅ~V]Martyr403 weeks
· Java408 weeks
· SpartanJaz412 weeks
· [ZÅ~V]Luna413 weeks
· [ZÅ~V]Kíttý426 weeks
· [ZÅ~V]Sinder428 weeks
· arbiterspar434 weeks
· Bacon439 weeks
· Magnum443 weeks
· H4WK451 weeks
· [Lagzy]462 weeks
· [ZÅ]Whatmesage469 weeks
· [ZÅ~V]Suika472 weeks
· Zidane472 weeks
· [ZÅ~V]Pieeater473 weeks
· [ZÅ~V]Numpty473 weeks
· [ZÅ]Swicey473 weeks
· [ZÅ~V]ChAr473 weeks
· Smile.jpg473 weeks
· Ronald473 weeks
· Bane473 weeks
· [ZÅ]Soulcyon-LoL473 weeks
· TacoCookie473 weeks
· [ZÅ]Buckwheat473 weeks
· [ZÅ~V]PirateKing-LoL474 weeks
· ShawnPeezy485 weeks
· [ZÅ~V]JOSEPH5499 weeks
· xXKrysisXx505 weeks
· Chuck505 weeks
· Homeless506 weeks
· Warrior507 weeks
· [ZÅ~V]Smurf509 weeks
· JunkyMonkey509 weeks
 
image image
image View Thread image
 
 Print Thread
Phasor [Halo PC Infection]
oxide
#1 Print Post
Posted on 01/02/2011 00:59:19
Newbie


Posts: 6
Joined: 02.01.11

Hi,

I'm making a program for Halo PC, Phasor. Phasor does some stuff internally (hash rcon, more rcon commands etc) and does some other stuff externally, via scripts (Lua). I wanted to make an infection-style mod, but I wanted to let people customize it. That's where the script system comes in.

Phasor implements scripts either locally or globally. If a script based on the current map/gametype isn't found then a global one is loaded. The scripts have various exported functions that get called when certain events happen. The scripts can also call exposed Phasor functions. This is how I'm implementing Infection, it's a way of introducing the scripting interface.

Anyway, I'm posting here because I want ideas. What kind of things do you want to be able to do? Below are the functions that are done. Post ideas. Please.

Events (done):
[list]
[*]void OnScriptLoad(processid) - Called when the script is loaded. Process id is the parameter.
[*]void OnScriptUnload() - Called when the script is about to be unloaded.
[*]void OnNewGame(map) - Called when a new game is starting, the map name is passed.
[*]void OnGameEnd(type) - Called when a game "ends". Type specifies the event, 1 is the game just finished (still ingame F1 menu displayed), 2 is the post game, 3 is when quit shows up in post game.
[*]int OnTeamDecision(cur_team)- Called when a player is being assigned a team (as they join). cur_team is their current team and the return value is the actual team they are to join.
[*]void OnPlayerLeave(player, team) - Called when a player leaves.
[*]void OnPlayerKill(killer, victim) - Called when a player kills another player.
[*]bool OnTeamChange(relevant, player, team, dest_team) - Called when a player is changing teams. Relevant specifies whether or not the return value is considered. If relevant is 1 the return value is used to determine whether or not the player can change team.
[*]bool OnWeaponPickup(player) - Called when a player attempts to pickup a weapon. Return value determines whether or not they're allowed to.
[*]bool OnVehicleEntry(player) - Called when a player attempts to enter a vehicle. Return value determines whether or not they're allowed to.
[*]bool OnWeaponReload(player) - Called when a player attempts to reload. Return value determines whether or not they're allowed to.
[*]bool OnAmmoPickup(player) - Called when a player attempts to pickup ammo. Return value determines whether or not they're allowed to.
[*]bool OnGrenadePickup(player) - Called when a player attempts to pickup grenades. Return value determines whether or not they're allowed to.
[/list]

Planned:
[list]
[*]void OnPlayerSpawn(player) - Called when a player spawns, just after their object is assigned. You can change ammo and have it sync if done HERE.
[*]bool OnFallDamage(player) - Called when a player experiences fall damage. Return 0 to stop the fall damage.
[/list]

Exported functions that scripts can use:
[list]
[*]void hprintf(char* msg) - Writes text to the server console
[*]void changeteam(DWORD player) - Changes a player's team
[*]DWORD getteam(DWORD player) - Returns a player's current team.
[*]void setspeed(DWORD player, float speed) - Sets a player's speed (default is 1.0).
[*]void say(char* msg) - Sends a message to the server. (atm multibyte is passed and coverted into unicode, idk how to do unicode in Lua).
[*]void privatesay(DWORD player, char* msg) - Sends a server message to a specific player
[*]void registertimer(DWORD id, DWORD delay, DWORD userdata, char* callback) - Sets up a timer that calls the function 'callback' when the delay runs down. The callbacks return value is 0 or 1, 1 indicates the timer should repeat, 0 deletes the timer.
[*]char* getname(DWORD player) - Returns the multibyte representation of a player's name.
[*]char* gethash(DWORD player) - Returns a player's hashcode
[*]int getteamsize(DWORD team) - Returns the size of the specified team
[*]void svcmd(char* cmd) - Executes a server command
[/list]

Planned:
[list]
[*]void setdmgmodifier(DWORD weapon, float modifier)
[*]void sethealthmodifier(DWORD player, float modifier)
[*]DWORD getweapon(DWORD player, DWORD order)
[*]DWORD getcurrentweapon(DWORD player)
[/list]
 
Send Private Message
ninja
#2 Print Post
Posted on 01/02/2011 07:26:41
User Avatar

Super Admin


Posts: 4174
Joined: 15.11.10

Why do we need this?
steamsignature.com/status/english/76561198019046882.png

i.imgur.com/EzcOjDS.png
My brain is open.
- Paul Erdős
 
Send Private Message
oxide
#3 Print Post
Posted on 01/02/2011 07:31:58
Newbie


Posts: 6
Joined: 02.01.11

Maybe because some people, who aren't lazy, want to customize how the server runs. Just a thought.
Edited by oxide on 01/02/2011 07:35:10
 
Send Private Message
ninja
#4 Print Post
Posted on 01/02/2011 07:33:29
User Avatar

Super Admin


Posts: 4174
Joined: 15.11.10

oxide wrote:
Maybe because some people, who aren't lazy, want to customize how the server runs. Just a thought.

Fair enough. Some of it sounds quite cool...
steamsignature.com/status/english/76561198019046882.png

i.imgur.com/EzcOjDS.png
My brain is open.
- Paul Erdős
 
Send Private Message
ZA Googly
#5 Print Post
Posted on 01/02/2011 11:00:19
User Avatar

Numpty


Posts: 1251
Joined: 14.11.10

Hmmm... I didn't totally understand the scripts themselves... but you sound like you know what you are doing so.. I'll leave this up to the leader.
I hate lag
 
Send Private Message
ZA numpty
#6 Print Post
Posted on 01/02/2011 11:42:15
User Avatar

ShawnPeezy


Posts: 4430
Joined: 16.11.10

... OW MY HEAD HURTS. i have no clue what this is. im so confused. lets let slim deal with all the techy stuff.
 
Send Private Message
ZA Ice
#7 Print Post
Posted on 01/02/2011 12:40:05
User Avatar

Wanker


Posts: 599
Joined: 16.11.10

Eh, I've been wanting a server tool to help control the server for zombies when there are noobs, but that's up to Slimy to get it or not.

i855.photobucket.com/albums/ab117/iceyhell13/IceFrosty.jpg
 
Send Private Message
FC_Cookie
#8 Print Post
Posted on 01/02/2011 12:54:15
User Avatar

Super Admin


Posts: 358
Joined: 20.11.10

who is oxide???
 
Send Private Message
ZA Ice
#9 Print Post
Posted on 01/02/2011 12:59:17
User Avatar

Wanker


Posts: 599
Joined: 16.11.10

Random guy who made a zombie server scripting tool and is, from the sound of it, offering it to us by asking us what we want in it.

i855.photobucket.com/albums/ab117/iceyhell13/IceFrosty.jpg
 
Send Private Message
FC_SlimJim
#10 Print Post
Posted on 01/02/2011 13:39:52
Super Admin


Posts: 4725
Joined: 14.11.10

Oxide is a halo programmer, once in SS. ive known & used his products for a while now. also, show some respect for alot of the tools that we use (more so me on behalf of you) are designed & made by oxide
 
Send Private Message
ZA Ice
#11 Print Post
Posted on 01/02/2011 13:44:56
User Avatar

Wanker


Posts: 599
Joined: 16.11.10

Well he is random to me because I've never seen him before.

i855.photobucket.com/albums/ab117/iceyhell13/IceFrosty.jpg
 
Send Private Message
FC_Cookie
#12 Print Post
Posted on 01/02/2011 15:06:50
User Avatar

Super Admin


Posts: 358
Joined: 20.11.10

FC_SlimJim wrote:
Oxide is a halo programmer, once in SS. ive known & used his products for a while now. also, show some respect for alot of the tools that we use (more so me on behalf of you) are designed & made by oxide


ok, thnx slim, i never heard about him and he just popped up so i was curious Wink
 
Send Private Message
RazNinjaMike
#13 Print Post
Posted on 01/02/2011 19:37:48
User Avatar

Moderator


Posts: 4586
Joined: 20.11.10

nice oxide great job!
 
Send Private Message
Rabidtaco
#14 Print Post
Posted on 01/02/2011 21:54:00
Senior Member


Posts: 305
Joined: 16.11.10

respect oxide. is that really how halo is programmed? I get the booleans and voids and stuff because I know a tiny bit, but does the code really look like that?
Member of ZÅ Feb. 19th, 2010 - May 15th, 2011
memedepot.com/uploads/0/406_what_the_fark_is_this.jpg
24.media.tumblr.com/tumblr_l4zjqarbQP1qca3dmo1_400.jpg
 
Send Private Message
FC_SlimJim
#15 Print Post
Posted on 01/02/2011 22:02:39
Super Admin


Posts: 4725
Joined: 14.11.10

no, hes using a diff system. lua in fact is most famously used with video games like Garry's Mod. but its also used heavily in many applications.
 
Send Private Message
ZA 2
#16 Print Post
Posted on 01/02/2011 23:56:29
User Avatar

Numpty


Posts: 1173
Joined: 15.11.10

Sounds cool.. and long. lol. nice anyway
i904.photobucket.com/albums/ac247/ApplePie111/delete-windows-yes.png

i1089.photobucket.com/albums/i345/AJRead2/ocelotbannerjpg.jpg
 
http://numberstunts.wetpaint.com Send Private Message
oxide
#17 Print Post
Posted on 01/03/2011 01:19:06
Newbie


Posts: 6
Joined: 02.01.11

Halo is programmed in C++ (like Phasor), the above code is some C++ function declarations. Well, tbh they're not really C++ declarations as I didn't include the argument types. Below is a C++ function.. Well more C as C++ is object oriented.

// This function gets a player's object data
LPBYTE GetObjectAddress(int mode, DWORD reqData)
{
// Make sure request data is valid
if (reqData == -1)
return 0;

WORD hi = (reqData >> 16) & 0xFFFF;
WORD lo = (reqData & 0xFFFF);

LPBYTE lpObjectList = (LPBYTE)*(DWORD*)UlongToPtr(0x744C18);

if (lo < (*(WORD*)(lpObjectList + 0x20)))
{
LPBYTE objPtr = (LPBYTE)ULongToPtr(*(DWORD*)(lpObjectList + 0x34) + (*(WORD*)(lpObjectList + 0x22) * lo));

if (!*(WORD*)objPtr)
return 0;

LPBYTE finalPtr = 0;
if (!hi)
finalPtr = objPtr;
else if (hi == *(WORD*)objPtr)
finalPtr = objPtr;

if (!finalPtr)
return 0;

if (mode < (1 << finalPtr[2]))
return (LPBYTE)*(DWORD*)UlongToPtr(finalPtr + 8);
}

return 0;
}
 
Send Private Message
ninja
#18 Print Post
Posted on 01/03/2011 12:42:34
User Avatar

Super Admin


Posts: 4174
Joined: 15.11.10

I agree with the above.
steamsignature.com/status/english/76561198019046882.png

i.imgur.com/EzcOjDS.png
My brain is open.
- Paul Erdős
 
Send Private Message
ZA Wunder Rofl
#19 Print Post
Posted on 01/03/2011 20:14:28
User Avatar

Member


Posts: 206
Joined: 16.11.10

what... ~hmm~
i.imgur.com/1c2MQ.jpg
 
Send Private Message
FC Wings
#20 Print Post
Posted on 01/03/2011 20:25:44
User Avatar

Super Admin


Posts: 4425
Joined: 16.11.10

i get all of it exept this
WORD hi = (reqData >> 16) & 0xFFFF;
WORD lo = (reqData & 0xFFFF);
orig00.deviantart.net/ffbe/f/2014/070/6/b/minato_namikaze_by_danzt-d79vc0c.png
steam.mmosvc.com/76561198043580328/v1.png
 
Send Private Message
Jump to Forum:
 
imageimage
image Login image
 
Username

Password



Not a member yet?
Click here to register.

Forgotten your password?
Request a new one here.
 
image image
image Shoutbox image
 
You must login to post a message.

RazNinjaMike
08/07/2026 16:28:22
hmm

Drkinferno
04/30/2026 16:29:13
not dead

stunt1man
02/17/2026 17:22:06
Still alive. ~B_Slap~

Hobo
02/16/2026 21:44:26
Wassup gang ~craptacular~

stunt1man
01/30/2026 12:29:22
Anytime I post something in the thread, it's not visible.

stunt1man
01/27/2026 20:09:23
The ISP blocked you.

Target
12/29/2025 21:50:19
Ditto! Grin

stunt1man
12/28/2025 16:40:54
Happy new year. ~noob~

Target
11/27/2025 12:34:23
Happy Thanksgiving :3

Target
10/31/2025 09:30:28
Happy Halloween everyone! Smile

Target
10/25/2025 09:09:20
https://www.youtub
e.com/watch?v=AMGJ
7OMqyvI woah

stunt1man
10/24/2025 16:32:18
Hola Papi!

Link
09/29/2025 23:37:58
OMG HI GUYS!!! I was able to finally log in after so many years!!! I hope everyone is doing well in life! Man, time flies!

RazNinjaMike
09/26/2025 06:40:34
if you dont got discord, go get it. its great for chatting as well Cool

stunt1man
09/21/2025 11:10:02
~Nana~

Drkinferno
09/15/2025 20:05:42
no, I log in time to time

stunt1man
09/07/2025 12:26:37
~argue~

Innervision
08/30/2025 14:52:46
Hope everyone is doing well, good ol shoutbox lol Smile

stunt1man
07/31/2025 18:41:06
I had replied to the thread and it broke. ~ban?~

FC_SlimJim
06/22/2025 20:43:11
idk what happened with that thread cause i cant access it either lol

 
image image
image image