|
|
| Line 1: |
Line 1: |
| __NOTOC__
| |
| {{MTA Developer}}
| |
|
| |
|
| == ==
| |
| =2015 June 16=
| |
| ==onPlayerNetworkStatus / onClientPlayerNetworkStatus==
| |
| Experimental network interruption detection introduced in r7295. Both client and server have to be r7295 or later for it to work<br/>
| |
|
| |
| ==Event Parameters:==
| |
| * '''status''': A number which is 0 if the interruption has begun, or 1 if the interruption is ending
| |
| * '''ticks''': Number of ticks since the interruption started
| |
|
| |
|
| |
| Server example:
| |
| <syntaxhighlight lang="lua">
| |
| addEventHandler( "onPlayerNetworkStatus", root,
| |
| function( status, ticks )
| |
| if status == 0 then
| |
| outputDebugString( "(packets from " .. getPlayerName(source) .. ") interruption began " .. ticks .. " ticks ago" )
| |
| elseif status == 1 then
| |
| outputDebugString( "(packets from " .. getPlayerName(source) .. ") interruption began " .. ticks .. " ticks ago and has just ended"" )
| |
| end
| |
| end
| |
| )
| |
| </syntaxhighlight>
| |
|
| |
|
| |
| Client example:
| |
| <syntaxhighlight lang="lua">
| |
| addEventHandler( "onClientPlayerNetworkStatus", root,
| |
| function( status, ticks )
| |
| if status == 0 then
| |
| outputDebugString( "(packets from server) interruption began " .. ticks .. " ticks ago" )
| |
| elseif status == 1 then
| |
| outputDebugString( "(packets from server) interruption began " .. ticks .. " ticks ago and has just ended" )
| |
| end
| |
| end
| |
| )
| |
| </syntaxhighlight>
| |
|
| |
|
| |
|
| |
| == ==
| |
| =2013 July 14=
| |
| ==Things==
| |
| * Projectiles get removed (or not added, or something) by GTA, but MTA thinks it has a projectile, except it's got like a building. (SetMatrix == crash)
| |
| * <strike>Player customizing resource keybinds no worky</strike>
| |
|
| |
| == ==
| |
| =2013 May 10=
| |
| ==Random crashes in GTA==
| |
| ===Consider this===
| |
| *During "onClient.." events, entities can be created/destroyed/change model etc.
| |
| *"onClient.." events can occur in the depths of GTA game processing.
| |
| This could be one of the causes of the random crashes we get.
| |
|
| |
| ===Solution:===
| |
| Queue the events, and trigger them once GTA has finished it's main loop.<br/>
| |
| Although a few events require immediate feedback, so can't be queued. These events are:
| |
| *onClientPlayerChoke
| |
| *onClientPlayer/PedDamage
| |
| *onClientPlayer/PedHeliKilled
| |
| *onClientPlayer/PedHitByWaterCannon
| |
| *onClientObjectDamage
| |
| *onClientObjectBreak
| |
| *onClientExplosion
| |
| *onClientWeaponFire
| |
|
| |
|
| |
| Not queueing the above events means:
| |
| * They will always get triggered before the (now) queued events, for that frame. (I don't think this change of behaviour will be a big problem though.)
| |
| * If create/destroy/anything is done during these events, there will still be a problem with crashes. But we can worry about that later.
| |
|
| |
|
| |
| ''Might I suggest source elements cannot be deleted in events as a generic rule?''
| |
| --[[User:Cazomino05|Cazomino05]] 22:07, 12 July 2013 (UTC)
| |
|
| |
| == ==
| |
| =2013 March 2=
| |
| ==Propose source file banner credit overhaul #2==
| |
| ===Problems with current source file credits:===
| |
| * Little value as a goto guy guide
| |
| * No one knows when to add their name to the list
| |
| * Encourages file additions, rather than feature additions
| |
| * As an information source is it quite useless and eventually misleading
| |
|
| |
| ===Proposal:===
| |
| * Remove the 'DEVELOPERS:' section in the source files where the current listed devs agree.
| |
| * In files they do not agree, add the names of all the other devs to teach them a lesson.
| |
| * Add a 'developers.txt' somewhere with all devs names (and what they did if anyone can be bothered to document it).
| |
| * Include developers.txt in each module
| |
|
| |
|
| |
| == ==
| |
| =2012 October 7=
| |
| ==Propose to add two new functions==
| |
| ===addPreEventHandler and addPostEventHandler===
| |
|
| |
| Adding these will help solve the following problems:
| |
| :'''1. Only the function that triggered the event knows if the event was cancelled'''
| |
| ::As ''wasEventCancelled'' is only valid after all ''addEventHandler''s have been completed
| |
| ::(This also means its not possible to react to cancelling of inbuilt events)
| |
| :'''2. Solve issue of cancelling events and really stopping them from doing anything'''
| |
| ::i.e. Cancel event in ''addPreEventHandler'' will stop ''addEventHandler'' being called altogether
| |
| :'''3. Wanting to do things before/after events have occurred:'''
| |
| ::e.g. onResourceStart - Client has not been told to start yet, so some things like ''setPlayerTeam'' can't be done.
| |
| ::Adding ''addPostEventHandler("onResourceStart",...)'' means we can do stuff just after resource has really started on both server and client
| |
|
| |
| ===Cancellation rules===
| |
| ====Current (As it is now)====
| |
| *All '''addEventHandlers''' are called.
| |
|
| |
| ====Proposal #1====
| |
| *All '''addPreEventHandlers''' are called.
| |
| *If the event is not cancelled by any '''addPreEventHandler''' then:
| |
| :*All '''addEventHandlers''' are called.
| |
| :*If the event is not cancelled by any '''addEventHandlers''' then:
| |
| ::*All '''addPostEventHandlers''' are called.
| |
|
| |
| ====Proposal #2 (allows for addPostEventHandlers to detect addEventHandler cancellation)====
| |
| *All '''addPreEventHandlers''' are called.
| |
| *If the event is not cancelled by any '''addPreEventHandler''' then:
| |
| :*All '''addEventHandlers''' are called.
| |
| :*All '''addPostEventHandlers''' are called. ('''wasEventCancelled()''' will be true if event cancelled during '''addEventHandlers''')
| |
|
| |
| ====Proposal #3 (allows for addPostEventHandlers to detect addPreEventHandlers and addEventHandler cancellation (but not distinguish which one))====
| |
| *All '''addPreEventHandlers''' are called.
| |
| *If the event is not cancelled by any '''addPreEventHandler''' then:
| |
| :*All '''addEventHandlers''' are called.
| |
| *All '''addPostEventHandlers''' are called. ('''wasEventCancelled()''' will be true if event cancelled during '''addPreEventHandlers''' or '''addEventHandlers''')
| |
|
| |
|
| |
| == ==
| |
| =2011 November 30=
| |
| ==Notes for new ACL request system==
| |
|
| |
| ====In the resource meta.xml:====
| |
| <syntaxhighlight lang="lua">
| |
| <aclrequest>
| |
| <right name="function.kickPlayer" access="true"></right>
| |
| <right name="function.banPlayer" access="true"></right>
| |
| </aclrequest>
| |
| </syntaxhighlight>
| |
|
| |
|
| |
| ====Console command 'aclrequest'====
| |
| <syntaxhighlight lang="lua">
| |
| aclrequest list
| |
| > aclrequest: BobsGame has 2 aclrequest(s) of which 2 are pending
| |
|
| |
| aclrequest list BobsGame
| |
| > aclrequest: BobsGame [pending] for function.kickPlayer
| |
| > aclrequest: BobsGame [pending] for function.banPlayer
| |
|
| |
| aclrequest deny BobsGame all
| |
| > aclrequest: BobsGame function.kickPlayer changed to deny (Console)
| |
| > aclrequest: BobsGame function.banPlayer changed to deny (Console)
| |
|
| |
| aclrequest allow BobsGame function.kickPlayer
| |
| > aclrequest: BobsGame function.kickPlayer changed to allow (Console)
| |
|
| |
| aclrequest list BobsGame
| |
| > aclrequest: BobsGame [allow] for function.kickPlayer (by Console on 2011-11-29)
| |
| > aclrequest: BobsGame [deny] for function.banPlayer (by Console on 2011-11-29)
| |
| </syntaxhighlight>
| |
|
| |
|
| |
| ====Script function #1:====
| |
| <syntaxhighlight lang="lua">
| |
| table getResourceACLRequests ( resource theResource )</syntaxhighlight>
| |
|
| |
| table return example:
| |
| <syntaxhighlight lang="lua">
| |
| { {name="function.kickPlayer", access="true", pending="false", who="Console", date="2011-11-29" },
| |
| {name="function.banPlayer", access="false", pending="false", who="Console", date="2011-11-29" } }
| |
| </syntaxhighlight>
| |
|
| |
|
| |
| ====Script function #2:====
| |
| <syntaxhighlight lang="lua">
| |
| bool updateResourceACLRequest ( resource theResource, string rightName, bool access, string byWho )</syntaxhighlight>
| |
|
| |
| This only works with right names that are returned from getResourceACLRequests.<br>
| |
| Calling updateResourceACLRequest automatically sents the 'pending' to false and also sets the 'date'.
| |
|
| |
|
| |
| ====Permissions====
| |
| The following are protected by default and will need an entry in the ACL:
| |
| <syntaxhighlight lang="lua">function.updateResourceACLRequest
| |
| command.aclrequest
| |
| </syntaxhighlight>
| |
|
| |
|
| |
| == ==
| |
| =Release dates=
| |
| ==History==
| |
|
| |
| {| class="wikitable" border="1"
| |
| |'''Version'''
| |
| |'''Date'''
| |
| |'''Highlights'''
| |
| |'''User comments'''
| |
| |-
| |
| | 1.0
| |
| | 22 August 2009
| |
| | First release
| |
| | DP2 was better
| |
| |-
| |
| | 1.0.1
| |
| | 02 October 2009
| |
| | Crash fixes and less lag
| |
| | 1.0 was better
| |
| |-
| |
| | 1.0.2
| |
| | 24 October 2009
| |
| | Crash fixes
| |
| | 1.0.1 was better
| |
| |-
| |
| | 1.0.3
| |
| | 17 December 2009
| |
| | Sync improved
| |
| | 1.0.2 was better
| |
| |-
| |
| | 1.0.4 (r1752)
| |
| | 7 June 2010
| |
| | Security improved
| |
| | 1.0.3 was better
| |
| |-
| |
| | 1.0.4 (r1854)
| |
| | 10 July 2010
| |
| | Crash fixes
| |
| | It crashes more
| |
| |-
| |
| | 1.0.4 (r2033)
| |
| | 14 October 2010
| |
| | Crash fixes
| |
| | It crashes more
| |
| |-
| |
| | 1.0.4 (r2106)
| |
| | 14 December 2010
| |
| | Browser improved
| |
| |
| |
| |-
| |
| | 1.0.5 (r2488)
| |
| | 27 March 2011
| |
| | AC improved
| |
| | It crashes more & 1.0.4 was better
| |
| |-
| |
| | 1.0.5 (r2519/2520)
| |
| | 4 April 2011
| |
| | Performance fixed
| |
| | 'It's almost as good as 1.0.2 now'
| |
| |-
| |
| | 1.0.5 (r2560)
| |
| | 16 April 2011
| |
| | Performance improvements
| |
| |
| |
| |-
| |
| | 1.1.0
| |
| | 25 August 2011
| |
| | Many new features
| |
| | Possibly the worst thing that has happened in the history of the world
| |
| |-
| |
| | 1.1.1
| |
| | 20 September 2011
| |
| | Accumulation of post release fixes
| |
| | Lags more than 1.1
| |
| |-
| |
| | 1.2
| |
| | 17 December 2011
| |
| | RakNet fix for serious network related problems
| |
| | ???
| |
| |-
| |
| | 1.3
| |
| | 24 January 2012
| |
| | Map Download fix + loads of misc bug fixes
| |
| | ???
| |
| |-
| |
| | 1.3.1
| |
| | 03 September 2012
| |
| | loads of bug fixes and a boat load of new features
| |
| | 1.3 was better
| |
| |-
| |
| | 1.3.2
| |
| | 05 May 2013
| |
| | Added features, improved performance
| |
| | No thanks, I'm sticking with 1.3.1
| |
| |-
| |
| | 1.3.3
| |
| | 01 July 2013
| |
| | Anti-cheat updates and "optimus" fixes
| |
| | The game might run better when "optimus" fix is enabled so sticking with 1.3.1
| |
| |-
| |
| | 1.3.5
| |
| | 24 Feb 2014
| |
| | Anti-cheat updates and Lua additions
| |
| | 1.3.5 broke my internet
| |
| |}
| |
| <br>
| |