{"action":"created","issue":{"url":"https://api.github.com/repos/EmulatorNexus/VeniceUnleashed/issues/226","repository_url":"https://api.github.com/repos/EmulatorNexus/VeniceUnleashed","labels_url":"https://api.github.com/repos/EmulatorNexus/VeniceUnleashed/issues/226/labels{/name}","comments_url":"https://api.github.com/repos/EmulatorNexus/VeniceUnleashed/issues/226/comments","events_url":"https://api.github.com/repos/EmulatorNexus/VeniceUnleashed/issues/226/events","html_url":"https://github.com/EmulatorNexus/VeniceUnleashed/issues/226","id":233729516,"number":226,"title":"[Feature Request] New Events and Commands","user":{"login":"3ti65","id":12377272,"avatar_url":"https://avatars0.githubusercontent.com/u/12377272?v=4","gravatar_id":"","url":"https://api.github.com/users/3ti65","html_url":"https://github.com/3ti65","followers_url":"https://api.github.com/users/3ti65/followers","following_url":"https://api.github.com/users/3ti65/following{/other_user}","gists_url":"https://api.github.com/users/3ti65/gists{/gist_id}","starred_url":"https://api.github.com/users/3ti65/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/3ti65/subscriptions","organizations_url":"https://api.github.com/users/3ti65/orgs","repos_url":"https://api.github.com/users/3ti65/repos","events_url":"https://api.github.com/users/3ti65/events{/privacy}","received_events_url":"https://api.github.com/users/3ti65/received_events","type":"User","site_admin":false},"labels":[{"id":136094609,"url":"https://api.github.com/repos/EmulatorNexus/VeniceUnleashed/labels/enhancement","name":"enhancement","color":"84b6eb","default":true},{"id":348229430,"url":"https://api.github.com/repos/EmulatorNexus/VeniceUnleashed/labels/VeniceEXT","name":"VeniceEXT","color":"e99695","default":false}],"state":"open","locked":false,"assignee":{"login":"OrfeasZ","id":1216709,"avatar_url":"https://avatars1.githubusercontent.com/u/1216709?v=4","gravatar_id":"","url":"https://api.github.com/users/OrfeasZ","html_url":"https://github.com/OrfeasZ","followers_url":"https://api.github.com/users/OrfeasZ/followers","following_url":"https://api.github.com/users/OrfeasZ/following{/other_user}","gists_url":"https://api.github.com/users/OrfeasZ/gists{/gist_id}","starred_url":"https://api.github.com/users/OrfeasZ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OrfeasZ/subscriptions","organizations_url":"https://api.github.com/users/OrfeasZ/orgs","repos_url":"https://api.github.com/users/OrfeasZ/repos","events_url":"https://api.github.com/users/OrfeasZ/events{/privacy}","received_events_url":"https://api.github.com/users/OrfeasZ/received_events","type":"User","site_admin":false},"assignees":[{"login":"OrfeasZ","id":1216709,"avatar_url":"https://avatars1.githubusercontent.com/u/1216709?v=4","gravatar_id":"","url":"https://api.github.com/users/OrfeasZ","html_url":"https://github.com/OrfeasZ","followers_url":"https://api.github.com/users/OrfeasZ/followers","following_url":"https://api.github.com/users/OrfeasZ/following{/other_user}","gists_url":"https://api.github.com/users/OrfeasZ/gists{/gist_id}","starred_url":"https://api.github.com/users/OrfeasZ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OrfeasZ/subscriptions","organizations_url":"https://api.github.com/users/OrfeasZ/orgs","repos_url":"https://api.github.com/users/OrfeasZ/repos","events_url":"https://api.github.com/users/OrfeasZ/events{/privacy}","received_events_url":"https://api.github.com/users/OrfeasZ/received_events","type":"User","site_admin":false},{"login":"kiwidoggie","id":9152262,"avatar_url":"https://avatars2.githubusercontent.com/u/9152262?v=4","gravatar_id":"","url":"https://api.github.com/users/kiwidoggie","html_url":"https://github.com/kiwidoggie","followers_url":"https://api.github.com/users/kiwidoggie/followers","following_url":"https://api.github.com/users/kiwidoggie/following{/other_user}","gists_url":"https://api.github.com/users/kiwidoggie/gists{/gist_id}","starred_url":"https://api.github.com/users/kiwidoggie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kiwidoggie/subscriptions","organizations_url":"https://api.github.com/users/kiwidoggie/orgs","repos_url":"https://api.github.com/users/kiwidoggie/repos","events_url":"https://api.github.com/users/kiwidoggie/events{/privacy}","received_events_url":"https://api.github.com/users/kiwidoggie/received_events","type":"User","site_admin":false}],"milestone":null,"comments":7,"created_at":"2017-06-05T22:31:20Z","updated_at":"2017-10-14T04:51:15Z","closed_at":null,"author_association":"NONE","body":"Important\r\n--------------------------------------------\r\n\r\nTypes of some parameters are not always defined due to lack of my knowledge on how its done in bf3.\r\nthe commands are something we discussed before, its basically an invoking of stuff that should happen.\r\nfor example:\r\nin our custom UI we press spawn, this triggers a netevent, which then is handled in our server lua. There we then want to invoke the SpawnPlayer(playerEntity, loadout, position), to actually spawn the player.\r\nwe need the commands so we can invoke stuff that the default UI used to handle (since we're replacing that one)\r\n\r\nCOMMANDS: (Most important is the spawning stuff)\r\n--------------------------------------------\r\n\r\n_**Note:**\r\nThese commands are supposed to actually manually trigger stuff that should happen.\r\nFor example the SpawnPlayer(playerEntity, loadout, position) should spawn a player with a certain layout at a certain position. Stuff like Suicide or LeaveGame could be covered with !Kill or !Kick admin commands, but then there's no way to differentiate between whether the player has left himself or has been left. These commands are absolutely essential for the realitymod._ \r\n\r\n- [ ] SpawnPlayer(playerEntity, loadout, position)\r\n- [ ] SpawnKit(loadout, position)\r\n- [ ] SpawnVehicle(vehicleEntity, position)\r\n- [x] SpawnObject(objectEntity, position)\r\n \r\n- [x] CreateSquad(player, team, squad, name)\r\n- [ ] ChangeLockSquad(player, team, squad, isLocked)\r\n- [x] JoinSquad(player, team, squad)\r\n- [x] LeaveSquad(player, team, squad)\r\n \r\n- [x] Suicide(player)\r\n- [x] LeaveGame(player)\r\n\r\nMISSING EVENTS: (All Server sided)\r\n--------------------------------------------\r\n\r\n**Player:**\r\n \r\n- [x] Player:WeaponChanged(player, oldWeaponEntity, newWeaponEntity) // Player has changed which weapon they are holding.\r\n- [ ] Player:FiremodeChanged(player, enum fireMode) // Clientside only?\r\n- [ ] Player:Score(playerEntity, difference) // Difference is change to player's score (positive or negative)\r\n- [ ] Player:Healing(givingPlayerEntity, receivingSoldierEntity, healthPointsGiven)\r\n- [ ] Player:Repairing(givingPlayerEntity, receivingVehicleEntity, repairPointsGiven)\r\n- [ ] Player:GivingAmmo(givingPlayerEntity, receivingObjectEntity, ammoPointsGiven)\r\n- [ ] Player:GivingDamageToTeamPlayer(playerEntity, victimSoldierEntity, damagePointsGiven)\r\n- [ ] Player:GivingDamageToPlayer(givingPlayerEntity, receivingSoldierEntity, damagePointsGiven)\r\n- [ ] Player:GivingDamageToVehilce(givingPlayerEntity, receivingVehicleEntity, damagePointsGiven)\r\n- [ ] Player:GivingDamageToObject(givingPlayerEntity, receivingObjectEntity, damagePointsGiven)\r\n \r\n- [x] Player:Revived(revivedPlayerEntity, medicPlayerEntity) // Player has been revived from a \"critically injured\" condition to full health by a medic using \"shock paddles\". Players can only be revived in the interval between a PlayerKilled event and a subsequent PlayerDeath event.\r\n \r\n- [ ] Player:Suicided(playerEntity)\r\n- [ ] Player:Death(playerEntity) // This event occurs when a player is decisively dead, and cannot be revived; they will only return to the game by respawning.\r\n- [ ] Player:Left(playerEntity)\r\n \r\n- [x] Player:EnterControlPoint(player, controlPointEntity)\r\n- [x] Player:ExitControlPoint(player, controlPointEntity)\r\n\r\n**Missing Player Overloads:**\r\n\r\n- [x] Player:SquadChange(player, oldSquad, newSquad)\r\n- [ ] Player:Killed(victim, inflictor, position, weapon, roadkill, headshot, victimInReviveState, assistingPlayers[])\r\n \r\n**Vehicle-/ Object:**\r\n \r\n- [x] Vehicle:Enter(playerEntity, vehicleEntity)\r\n- [x] Vehicle:Exit(playerEntity, vehicleEntity)\r\n- [x] Vehicle:Spawned(vehicleEntity, position)\r\n- [x] Vehicle:Destroyed(vehicleEntity, inflictor, position, weapon)\r\n\r\n- [ ] Object:Destroyed(objectEntity, inflictor, position, weapon)\r\n \r\n**Kit:**\r\n \r\n- [x] Kit:Pickup(playerEntity, kitEntity)\r\n- [x] Kit:Drop(playerEntity, kitEntity)\r\n \r\n**Team:**\r\n \r\n- [x] Team:ChangedCommander(teamID, oldCommanderPlayerEntity, newCommanderPlayerEntity)\r\n- [x] Team:ChangedSquadLeader(squadID, oldLeaderPlayerEntity, newLeaderPlayerEntity)\r\n \r\n- [x] Team:SquadCreated(player, team, squad, name)\r\n- [x] Team:SquadRemoved(team, squad)\r\n \r\n**Game/ Round:**\r\n \r\n- [ ] Server:RoundStart()\r\n- [ ] Server:TicketsChanged(teamID, ticketsDelta, remaining) \r\n- [ ] Server:TimeLimitReached() // Event fires when the fixed time limit for a round expires\r\n \r\n_**Note:**\r\nServer:RoundOver roundTime, winningTeam already exists, that's why i went with this convention. The namespace 'server' for round stuff might not be the optimal choice here._\r\n\r\n**ControlPoint:**\r\n \r\n- [x] ControlPoint:OwnerChanged(controlPointEntity, attackingTeamID)\r\n- [x] ControlPoint:Neutralized(controlPointEntity, teamID, playerEntities)\r\n- [x] ControlPoint:Captured(controlPointEntity, teamID, playerEntities)\r\n \r\nMISSING HOOKS: \r\n--------------------------------------------\r\n- [ ] Client:UpdateInput(entryInput) // we might need this parallel to the event but as a hook, e.g. to stop certain players from pressing certain buttons\r\n\r\nManagers: \r\n--------------------------------------------\r\n// Todo\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/EmulatorNexus/VeniceUnleashed/issues/comments/336609975","html_url":"https://github.com/EmulatorNexus/VeniceUnleashed/issues/226#issuecomment-336609975","issue_url":"https://api.github.com/repos/EmulatorNexus/VeniceUnleashed/issues/226","id":336609975,"user":{"login":"OrfeasZ","id":1216709,"avatar_url":"https://avatars1.githubusercontent.com/u/1216709?v=4","gravatar_id":"","url":"https://api.github.com/users/OrfeasZ","html_url":"https://github.com/OrfeasZ","followers_url":"https://api.github.com/users/OrfeasZ/followers","following_url":"https://api.github.com/users/OrfeasZ/following{/other_user}","gists_url":"https://api.github.com/users/OrfeasZ/gists{/gist_id}","starred_url":"https://api.github.com/users/OrfeasZ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OrfeasZ/subscriptions","organizations_url":"https://api.github.com/users/OrfeasZ/orgs","repos_url":"https://api.github.com/users/OrfeasZ/repos","events_url":"https://api.github.com/users/OrfeasZ/events{/privacy}","received_events_url":"https://api.github.com/users/OrfeasZ/received_events","type":"User","site_admin":false},"created_at":"2017-10-14T04:51:15Z","updated_at":"2017-10-14T04:51:15Z","author_association":"NONE","body":"Build 12213 adds:\r\n- Server:RoundReset\r\n- Player:KitReplaced(player, oldSoldier, newSoldier)\r\n- CapturePoint:Captured(capturePointEntity)\r\n- CapturePoint:Lost(capturePointEntity)\r\n- Vehicle:Enter(vehicleEntity, player)\r\n- Vehicle:Exit(vehicleEntity, player)\r\n- Vehicle:Damage(vehicleEntity, damageDone)\r\n- Vehicle:Destroyed(vehicleEntity, vehiclePoints, hotTeam)\r\n- Vehicle:Disabled(vehicleEntity)\r\n- Vehicle:SpawnDone(vehicleEntity)\r\n- Vehicle:Unspawn(vehicleEntity)\r\n- Player:ReviveAccepted(reviver, revivee)\r\n- Player:ReviveRefused(revivee)\r\n- Player:ManDownRevived(reviver, revivee, isAdrenalineRevive)\r\n- Player:ChangingWeapon(player)\r\n- Player:Reload(player, weapon, position)\r\n- Player:EnteredCapturePoint(player, capturePointEntity)\r\n- Player:ExitedCapturePoint(player, capturePointEntity)"}}
{"actor":{"display_login":"OrfeasZ"}}