User:Ccw: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Blanked the page)
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>

Revision as of 14:51, 1 April 2016