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
 
· [ZÅ]Giants 3 weeks
· [ZÅ]Razberry 5 weeks
· [ZÅ~V]Stuntman 6 weeks
· [ZÅ]SlimJim 7 weeks
· [ZÅ]Noobo10 weeks
· [LÅZY]LazyTarget13 weeks
· [ZÅ~V]DrkInferno19 weeks
· [ZÅ]Riptide29 weeks
· ZA Flax29 weeks
· [ZÅ]ODST-LoL33 weeks
· [ZÅ]JP34 weeks
· lkshadow37 weeks
· [ZÅ]MasterA48 weeks
· [ZÅ]Dudeman48 weeks
· [ZÅ]Link-MC--LoL-CSGO50 weeks
· [ZÅ]Innervision54 weeks
· [ZÅ~V]Phoenix57 weeks
· [ZÅ~V]BrickSquad68 weeks
· {FC}Cookie71 weeks
· [ZÅ]Bvigil74 weeks
· [ZÅ~V]Boxhead75 weeks
· [ZÅ]Vlexis81 weeks
· {FC}Wings81 weeks
· [ZÅ~V]Buck83 weeks
· {FC~V}Coyote151 weeks
· [ZÅ~V]TheHatofLove157 weeks
· Kennan164 weeks
· [ZÅ]Paradox-MC-165 weeks
· zuko181 weeks
· A§H»ĴΘΘĶ188 weeks
· [ZÅ]Vaxjo191 weeks
· coldplay99191 weeks
· [ZÅ~V]RAGE191 weeks
· samtheman32196 weeks
· [ZÅ]ninja196 weeks
· [ZÅ]Code196 weeks
· FRINGE197 weeks
· [ZÅ]Leve197 weeks
· [ZÅ~V]Ezrab197 weeks
· BMF197 weeks
· MRBILL197 weeks
· [ZÅ~V]Hercules199 weeks
· ginny18238 weeks
· [ZÅ~V]Cloverton276 weeks
· [ZÅ]Carnage-WoWs292 weeks
· [ZÅ]Mist-Stn293 weeks
· theatticus301 weeks
· [ZÅ~V]Star305 weeks
· [ZÅ~V]Neo309 weeks
· [ZÅ]Saviour317 weeks
· [ZÅ~V]Irock23318 weeks
· [ZÅ]Revenge-Stn328 weeks
· Habu334 weeks
· [ZÅ~V]Althor345 weeks
· Founder~[ZÅ~V]Trunks346 weeks
· [ZÅ~V]Llamas351 weeks
· [ZÅ~V]Bagels353 weeks
· Founder~[ZÅ~V]Coke360 weeks
· Teemo360 weeks
· Rabidtaco360 weeks
· [ZÅ~V]BlackAdder-LoL367 weeks
· [ZÅ~V]Ice375 weeks
· Hav382 weeks
· [ZÅ~V]Huggy387 weeks
· [ZÅ~V]RealmHunter388 weeks
· [ZÅ]Tulip-LoL-CSGO389 weeks
· [ZÅ~V]Pizzleini394 weeks
· [ZÅ~V]Martyr395 weeks
· Java401 weeks
· SpartanJaz405 weeks
· [ZÅ~V]Luna405 weeks
· [ZÅ~V]Kíttý419 weeks
· [ZÅ~V]Sinder421 weeks
· arbiterspar427 weeks
· Bacon432 weeks
· Magnum436 weeks
· H4WK444 weeks
· [Lagzy]455 weeks
· [ZÅ]Whatmesage462 weeks
· [ZÅ~V]Suika465 weeks
· Zidane465 weeks
· [ZÅ~V]Pieeater466 weeks
· [ZÅ~V]Numpty466 weeks
· [ZÅ]Swicey466 weeks
· [ZÅ~V]ChAr466 weeks
· Smile.jpg466 weeks
· Ronald466 weeks
· Bane466 weeks
· [ZÅ]Soulcyon-LoL466 weeks
· TacoCookie466 weeks
· [ZÅ]Buckwheat466 weeks
· [ZÅ~V]PirateKing-LoL467 weeks
· ShawnPeezy478 weeks
· [ZÅ~V]JOSEPH5492 weeks
· xXKrysisXx498 weeks
· Chuck498 weeks
· Homeless499 weeks
· Warrior500 weeks
· [ZÅ~V]Smurf502 weeks
· JunkyMonkey502 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