Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int GetWeaponCone(lua_State* L)
- {
- if (LUA->IsType(1, Type::USERCMD) && LUA->IsType(2, Type::ANGLE) && LUA->IsType(3, Type::VECTOR))
- {
- CUserCmd* cmd = GET(CUserCmd*, 1);
- uint uiSeed = MD5_PseudoRandom(cmd->command_number) & 0x7FFFFFFF;
- RandomSeed(uiSeed & 255);
- QAngle qAngs = *GET(QAngle*, 2);
- Vector* vSpread = GET(Vector*, 3);
- float x = RandomFloat(-0.5, 0.5) + RandomFloat(-0.5, 0.5);
- float y = RandomFloat(-0.5, 0.5) + RandomFloat(-0.5, 0.5);
- QAngle spreadAngles;
- Vector forward, right, up;
- AngleVectors(qAngs, &forward, &right, &up);
- Vector vecDir = forward + (x * vSpread->x * right) + (y * vSpread->y * up);
- VectorAngles(vecDir, spreadAngles);
- spreadAngles -= qAngs;
- ILuaInterface* gLua = new ILuaInterface(L);
- gLua->GetGlobal("Angle")->Push();
- gLua->Push(spreadAngles.x);
- gLua->Push(spreadAngles.y);
- gLua->Push(spreadAngles.z);
- gLua->Call(3, 1);
- gLua->Push(gLua->GetReturn(1));
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment