Dear developers, here's the list of some unknown/known issues. It would be great to see fixes in the near future, especially bug #2, #4 and feature #1(!) which are stopping me from making cool scripts for community.
List of issues:[Sync] random colours of vehicles are sometimes desynced - proven by [WS]Teddy[/li]
[Client] Player.WeaponAmmo doesn't update every shot, but only on weapon change[/li]
[Client] setting Player.Health to 0 crashes the client[/li]
[Server] LU doesn't load custom LU/data/weapons.dat[/li]
[Server] Colour class returns only R value[/li]
[Client] GetHUDItemEnabled doesn't return right bool[/li]
[Client] game crashes with modded cars (GTA3.IMG, DFF vs Sync = Crash)[/li]
[Client] starting chat typing 'T' and pressing TAB is causing a crash.[/li]
[Client] objects disappears on explosions or reconnect[/li]
[Client] onClientClickButton doesn't work[/li]
[Client] onClientClickCheckbox should return checkbox pointer instead of ID[/li]
[/list]
List of requests:[Server/Client] new Player.Marker param to show someones marker only for team or Blip.AttachToEntity[/li]
[Server] loading custom timecyc.dat[/li]
[Server] new part reason: PARTREASON_RECONNECT[/li]
[Sync] foot/vehicle sync improvements[/li]
[Client] make CRC checks harder to bypass[/li]
[Client] disable debuggers and memory scanners[/li]
[/list]
Feel free to post your issues here, I'll be updating this OP.
Workaround for bug #3:Server side:RegisterRemoteFunc( "client_KillPlayer" );
function client_KillPlayer( pPlayer )
{
pPlayer.Health = 0;
}Client side (/kill command as example):pPlayer <- FindLocalPlayer();
function onClientCommand( szCommand, szText )
{
if ( szCommand== "kill" ) CallServerFunc( "Server.nut", "client_KillPlayer", pPlayer );
}
Add PARTREASON_RECONNECT (feature #3) (idea by sasha19323):
Client side:const PARTREASON_RECONNECT = 255;
function onScriptLoad()
{
try
{
HashTable("reconnect_check"); //Here can be any name of table;
}
catch(e)
{
CallServerFunc("Server.nut", "onPlayerPart", FindLocalPlayer(), PARTREASON_RECONNECT );
}
}Server side:const PARTREASON_RECONNECT = 255;
function onScriptLoad()
{
RegisterRemoteFunc( "onPlayerPart" );
}
function onPlayerPart( pPlayer, iReason )
{
if ( iReason == PARTREASON_RECONNECT ) print("Reconnect");
}