Skip to content

Commit bccc107

Browse files
committed
Merge branch 'develop' of https://github.com/multitheftauto/amx into develop
2 parents ad9bd51 + b9017a0 commit bccc107

File tree

10 files changed

+71
-80
lines changed

10 files changed

+71
-80
lines changed

amx-deps/src/CFunctions.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -403,12 +403,12 @@ int CFunctions::amxUnload(lua_State *luaVM) {
403403
// amxUnloadAllPlugins()
404404
int CFunctions::amxUnloadAllPlugins(lua_State *luaVM) {
405405
for (const auto& plugin : loadedPlugins) {
406-
Unload_t* Unload = it.second->Unload;
406+
Unload_t* Unload = plugin.second->Unload;
407407
if (Unload) {
408408
Unload();
409409
}
410-
freeLib(it.second->pPluginPointer);
411-
delete it.second;
410+
freeLib(plugin.second->pPluginPointer);
411+
delete plugin.second;
412412
}
413413
loadedPlugins.clear();
414414
vecPfnProcessTick.clear();

amx/client/anim.lua

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,22 +212,22 @@ function Animation:play()
212212
table.insert(Animation.collection, self)
213213
end
214214
if not Animation.playingAnimationsExist() then
215-
addEventHandler('onClientPreRender', getRootElement(), updateAnim)
215+
addEventHandler('onClientPreRender', root, updateAnim)
216216
end
217217
self.playing = true
218218
end
219219

220220
function Animation:pause()
221221
self.playing = false
222222
if not Animation.playingAnimationsExist() then
223-
removeEventHandler('onClientPreRender', getRootElement(), updateAnim)
223+
removeEventHandler('onClientPreRender', root, updateAnim)
224224
end
225225
end
226226

227227
function Animation:remove()
228228
table.removevalue(Animation.collection, self)
229229
if not Animation.playingAnimationsExist() then
230-
removeEventHandler('onClientPreRender', getRootElement(), updateAnim)
230+
removeEventHandler('onClientPreRender', root, updateAnim)
231231
end
232232
self.playing = false
233233
end

amx/client/arrowmarkers.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ local function setMarkerZ(marker, angle)
1818
setElementPosition(marker, baseX, baseY, baseZ + sin(angle))
1919
end
2020

21-
addEventHandler('onClientElementStreamIn', getRootElement(),
21+
addEventHandler('onClientElementStreamIn', root,
2222
function()
2323
if getElementType(source) ~= 'marker' or getMarkerType(source) ~= 'arrow' then
2424
return
@@ -36,7 +36,7 @@ addEventHandler('onClientElementStreamIn', getRootElement(),
3636
end
3737
)
3838

39-
addEventHandler('onClientElementStreamOut', getRootElement(),
39+
addEventHandler('onClientElementStreamOut', root,
4040
function()
4141
if getElementType(source) ~= 'marker' or getMarkerType(source) ~= 'arrow' then
4242
return

amx/client/bars.lua

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ local VehicleBars = false
22

33
players = getElementsByType ( "player" )
44

5-
addEventHandler( "onClientRender", getRootElement(),
5+
addEventHandler( "onClientRender", root,
66
function( )
77
for k, player in pairs( getElementsByType("player") ) do
8-
local px, py, pz = getElementPosition( getLocalPlayer() )
8+
local px, py, pz = getElementPosition(localPlayer)
99
local x, y, z = getPedBonePosition(player, 2)
10-
local cx,cy,cz = getCameraMatrix(getLocalPlayer())
11-
if isElementOnScreen( player ) and getDistanceBetweenPoints2D(px, py, x, y) < 45 and isLineOfSightClear(cx,cy,cz, x,y,z, true, true, false, true, true, false, false) and player ~= getLocalPlayer() and getElementHealth(player) > 0 then
10+
local cx,cy,cz = getCameraMatrix(localPlayer)
11+
if isElementOnScreen( player ) and getDistanceBetweenPoints2D(px, py, x, y) < 45 and isLineOfSightClear(cx,cy,cz, x,y,z, true, true, false, true, true, false, false) and player ~= localPlayer and getElementHealth(player) > 0 then
1212
local X, Y = getScreenFromWorldPosition( x, y, z )
1313
if X then
1414
local arm = getPedArmor( player );
@@ -29,7 +29,7 @@ addEventHandler( "onClientRender", getRootElement(),
2929
for k, myPed in pairs( getElementsByType("ped") ) do
3030
local state = getElementData(myPed, "amx.shownametag")
3131
if state == true then
32-
local px, py, pz = getElementPosition( getLocalPlayer() )
32+
local px, py, pz = getElementPosition(localPlayer)
3333
local x, y, z = getPedBonePosition(myPed, 2)
3434
if isElementOnScreen( myPed ) and getDistanceBetweenPoints2D(px, py, x, y) < 45 and getElementHealth(myPed) > 0 then
3535
local X, Y = getScreenFromWorldPosition( x, y, z )
@@ -54,9 +54,9 @@ addEventHandler( "onClientRender", getRootElement(),
5454
end
5555
if VehicleBars == true then
5656
for k, vehicle in pairs( getElementsByType("vehicle") ) do
57-
local px, py, pz = getElementPosition( getLocalPlayer() )
57+
local px, py, pz = getElementPosition(localPlayer)
5858
local x, y, z = getElementPosition( vehicle )
59-
local cx,cy,cz = getCameraMatrix(getLocalPlayer())
59+
local cx,cy,cz = getCameraMatrix(localPlayer)
6060
if isElementOnScreen( vehicle ) and getDistanceBetweenPoints2D(px, py, x, y) < 50 and isLineOfSightClear(cx,cy,cz, x,y,z, true, false, false, true, true, false, false) and getElementHealth(vehicle) > 0 then
6161
local X, Y = getScreenFromWorldPosition( x, y, z )
6262
if X then

amx/client/client.lua

Lines changed: 42 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
resourceRoot = getResourceRootElement(getThisResource())
2-
g_Me = getLocalPlayer()
3-
41
local dxDrawText = dxDrawText
52
local tocolor = tocolor
63
local SPEED_EPSILON = 0.005
@@ -31,7 +28,7 @@ local screenWidth, screenHeight = guiGetScreenSize()
3128

3229
addEventHandler('onClientResourceStart', resourceRoot,
3330
function()
34-
triggerServerEvent('onLoadedAtClient', resourceRoot, g_Me)
31+
triggerServerEvent('onLoadedAtClient', resourceRoot, localPlayer)
3532
InitDialogs()
3633
setTimer(checkTextLabels, 500, 0)
3734
end,
@@ -96,7 +93,7 @@ function removeAMX(amxName)
9693
DestroyMenu(amxName, id)
9794
end
9895
table.each(amx.blips, destroyElement)
99-
setElementAlpha(g_Me, 255)
96+
setElementAlpha(localPlayer, 255)
10097
g_AMXs[amxName] = nil
10198
end
10299

@@ -124,7 +121,7 @@ function startClassSelection(classInfo)
124121
g_StartWeather = nil
125122
end
126123
setGravity(0)
127-
setElementCollisionsEnabled(g_Me, false)
124+
setElementCollisionsEnabled(localPlayer, false)
128125

129126
-- interaction
130127
setPlayerHudComponentVisible('radar', false)
@@ -145,15 +142,15 @@ function startClassSelection(classInfo)
145142
end
146143

147144
function ClassSelLeft ()
148-
server.requestClass(getLocalPlayer(), false, false, -1)
145+
server.requestClass(localPlayer, false, false, -1)
149146
end
150147

151148
function ClassSelRight ()
152-
server.requestClass(getLocalPlayer(), false, false, 1)
149+
server.requestClass(localPlayer, false, false, 1)
153150
end
154151

155152
function ClassSelSpawn ()
156-
server.requestSpawn(getLocalPlayer(), false, false)
153+
server.requestSpawn(localPlayer, false, false)
157154
end
158155

159156
function renderClassSelText()
@@ -196,9 +193,9 @@ function destroyClassSelGUI()
196193
removeEventHandler('onClientRender', root, renderClassSelText)
197194
end
198195
setPlayerHudComponentVisible('radar', true)
199-
setCameraTarget(g_Me)
196+
setCameraTarget(localPlayer)
200197
setGravity(0.008)
201-
setElementCollisionsEnabled(g_Me, true)
198+
setElementCollisionsEnabled(localPlayer, true)
202199
showCursor(false)
203200
if g_ClassSelectionInfo then
204201
removeEventHandler ( "onClientGUIClick", g_ClassSelectionInfo.gui.btnLeft, ClassSelLeft )
@@ -216,12 +213,12 @@ addEventHandler('onClientResourceStop', resourceRoot,
216213
)
217214

218215
function requestSpawn()
219-
triggerServerEvent('onRequestSpawn', g_Me, g_ClassSelectionInfo.selectedclass)
216+
triggerServerEvent('onRequestSpawn', localPlayer, g_ClassSelectionInfo.selectedclass)
220217
end
221218

222219
addEventHandler('onClientPlayerWeaponFire', resourceRoot,
223220
function(weapon, ammo, ammoInClip, hitX, hitY, hitZ)
224-
--if getLocalPlayer() ~= source then return end
221+
--if localPlayer ~= source then return end
225222
serverAMXEvent('OnPlayerShoot', getElemID(source), weapon, ammo, ammoInClip, hitX, hitY, hitZ)
226223
end,
227224
false
@@ -326,15 +323,15 @@ end
326323
-- Checkpoints
327324

328325
function OnPlayerEnterCheckpoint(elem)
329-
local vehicle = getPedOccupiedVehicle(g_Me)
330-
if (vehicle and elem == vehicle) or (not vehicle and elem == g_Me) then
326+
local vehicle = getPedOccupiedVehicle(localPlayer)
327+
if (vehicle and elem == vehicle) or (not vehicle and elem == localPlayer) then
331328
serverAMXEvent('OnPlayerEnterCheckpoint', g_PlayerID)
332329
end
333330
end
334331

335332
function OnPlayerLeaveCheckpoint(elem)
336-
local vehicle = getPedOccupiedVehicle(g_Me)
337-
if (vehicle and elem == vehicle) or (not vehicle and elem == g_Me) then
333+
local vehicle = getPedOccupiedVehicle(localPlayer)
334+
if (vehicle and elem == vehicle) or (not vehicle and elem == localPlayer) then
338335
serverAMXEvent('OnPlayerLeaveCheckpoint', g_PlayerID)
339336
end
340337
end
@@ -367,15 +364,15 @@ function SetPlayerCheckpoint(x, y, z, size)
367364
end
368365

369366
function OnPlayerEnterRaceCheckpoint(elem)
370-
local vehicle = getPedOccupiedVehicle(g_Me)
371-
if (vehicle and elem == vehicle) or (not vehicle and elem == g_Me) then
367+
local vehicle = getPedOccupiedVehicle(localPlayer)
368+
if (vehicle and elem == vehicle) or (not vehicle and elem == localPlayer) then
372369
serverAMXEvent('OnPlayerEnterRaceCheckpoint', g_PlayerID)
373370
end
374371
end
375372

376373
function OnPlayerLeaveRaceCheckpoint(elem)
377-
local vehicle = getPedOccupiedVehicle(g_Me)
378-
if (vehicle and elem == vehicle) or (not vehicle and elem == g_Me) then
374+
local vehicle = getPedOccupiedVehicle(localPlayer)
375+
if (vehicle and elem == vehicle) or (not vehicle and elem == localPlayer) then
379376
serverAMXEvent('OnPlayerLeaveRaceCheckpoint', g_PlayerID)
380377
end
381378
end
@@ -418,7 +415,7 @@ end
418415
-- Vehicles
419416

420417
function SetPlayerPosFindZ(amxName, x, y, z)
421-
setElementPosition(g_Me, x, y, getGroundPosition(x, y, z) + 1)
418+
setElementPosition(localPlayer, x, y, getGroundPosition(x, y, z) + 1)
422419
end
423420

424421
function SetVehicleParamsForPlayer(vehicle, isObjective, doorsLocked)
@@ -511,11 +508,11 @@ addEventHandler('onClientElementStreamIn', root,
511508
vehInfo.blip = createBlipAttachedTo(source, 0, 1, 136, 136, 136, 150, 0, 500)
512509
setElementParent(vehInfo.blip, source)
513510
end
514-
triggerServerEvent('onAmxClientVehicleStream', g_Me, getElemID(source), true)
511+
triggerServerEvent('onAmxClientVehicleStream', localPlayer, getElemID(source), true)
515512
elseif getElementType(source) == 'player' then
516-
triggerServerEvent('onAmxClientPlayerStream', g_Me, getElemID(source), true)
513+
triggerServerEvent('onAmxClientPlayerStream', localPlayer, getElemID(source), true)
517514
elseif getElementType(source) == 'ped' and getElementData(source, 'amx.actorped') then
518-
triggerServerEvent('onAmxClientActorStream', g_Me, getElemID(source), true)
515+
triggerServerEvent('onAmxClientActorStream', localPlayer, getElemID(source), true)
519516
end
520517
end
521518
)
@@ -531,19 +528,19 @@ addEventHandler('onClientElementStreamOut', root,
531528
end
532529
vehInfo.blip = nil
533530
end
534-
triggerServerEvent('onAmxClientVehicleStream', g_Me, getElemID(source), false)
531+
triggerServerEvent('onAmxClientVehicleStream', localPlayer, getElemID(source), false)
535532
elseif getElementType(source) == 'player' then
536-
triggerServerEvent('onAmxClientPlayerStream', g_Me, getElemID(source), false)
533+
triggerServerEvent('onAmxClientPlayerStream', localPlayer, getElemID(source), false)
537534
elseif getElementType(source) == 'ped' and getElementData(source, 'amx.actorped') then
538-
triggerServerEvent('onAmxClientActorStream', g_Me, getElemID(source), false)
535+
triggerServerEvent('onAmxClientActorStream', localPlayer, getElemID(source), false)
539536
end
540537
end
541538
)
542539

543540
-- emulate SA-MP behaviour: block enter attempts as driver to locked vehicles
544541
addEventHandler('onClientVehicleStartEnter', root,
545542
function(player, seat, door)
546-
if (player == g_Me and seat == 0 and isVehicleLocked(source)) then
543+
if (player == localPlayer and seat == 0 and isVehicleLocked(source)) then
547544
cancelEvent()
548545
end
549546
end
@@ -867,9 +864,9 @@ function renderTextLabels()
867864
end
868865

869866
local screenX, screenY = getScreenFromWorldPosition(textlabel.X, textlabel.Y, textlabel.Z, textlabel.dist, false)
870-
local pX, pY, pZ = getElementPosition(g_Me)
867+
local pX, pY, pZ = getElementPosition(localPlayer)
871868
local dist = getDistanceBetweenPoints3D(pX, pY, pZ, textlabel.X, textlabel.Y, textlabel.Z)
872-
local vw = getElementDimension(g_Me)
869+
local vw = getElementDimension(localPlayer)
873870
--[[if textlabel.attached then
874871
local LOS = isLineOfSightClear(pX, pY, pZ, textlabel.X, textlabel.Y, textlabel.Z, true, true, true, true, true, false, false, textlabel.attachedTo)
875872
else]] --íåðàáîòàåò, ïîõîæå ôóíêöèÿ isLineOfSightClearíå ðàáîòàåò ñ àðãóìåíòîì ignoredElement.
@@ -895,7 +892,7 @@ function checkTextLabels()
895892
for name,amx in pairs(g_AMXs) do
896893
for id,textlabel in pairs(amx.textlabels) do
897894

898-
local pX, pY, pZ = getElementPosition(g_Me)
895+
local pX, pY, pZ = getElementPosition(localPlayer)
899896
local dist = getDistanceBetweenPoints3D(pX, pY, pZ, textlabel.X, textlabel.Y, textlabel.Z)
900897

901898
if dist <= textlabel.dist then
@@ -1237,13 +1234,13 @@ function sendWeapons()
12371234
local weapons = {}
12381235
local needResync = false
12391236
for slot=0,12 do
1240-
weapons[slot] = { id = getPedWeapon(g_Me, slot), ammo = getPedTotalAmmo(g_Me, slot) }
1237+
weapons[slot] = { id = getPedWeapon(localPlayer, slot), ammo = getPedTotalAmmo(localPlayer, slot) }
12411238
if not needResync and (not prevWeapons or prevWeapons[slot].ammo ~= weapons[slot].ammo or prevWeapons[slot].id ~= weapons[slot].id) then
12421239
needResync = true
12431240
end
12441241
end
12451242
if needResync then
1246-
server.syncPlayerWeapons(g_Me, weapons)
1243+
server.syncPlayerWeapons(localPlayer, weapons)
12471244
prevWeapons = weapons
12481245
end
12491246
end
@@ -1281,18 +1278,18 @@ function checkWorldBounds()
12811278
end
12821279

12831280
local x, y, z, vx, vy, vz
1284-
local elem = getPedOccupiedVehicle(g_Me)
1281+
local elem = getPedOccupiedVehicle(localPlayer)
12851282
local isVehicle
12861283

12871284
if elem then
1288-
if getVehicleController(elem) == g_Me then
1285+
if getVehicleController(elem) == localPlayer then
12891286
isVehicle = true
12901287
vx, vy, vz = getElementVelocity(elem)
12911288
else
12921289
return
12931290
end
12941291
else
1295-
elem = g_Me
1292+
elem = localPlayer
12961293
isVehicle = false
12971294
end
12981295
local bounds = g_WorldBounds
@@ -1404,7 +1401,7 @@ function OnListDialogButton1Click( button, state )
14041401
if button == "left" then
14051402
local row, column = guiGridListGetSelectedItem(listGrid)
14061403
local text = guiGridListGetItemText(listGrid, row, column)
1407-
serverAMXEvent("OnDialogResponse", getElemID(getLocalPlayer()), listDialog, 1, row, text);
1404+
serverAMXEvent("OnDialogResponse", getElemID(localPlayer), listDialog, 1, row, text);
14081405
guiSetVisible(listWindow, false)
14091406
guiGridListClear(listGrid)
14101407
showCursor(false)
@@ -1416,7 +1413,7 @@ function OnListDialogButton2Click( button, state )
14161413
if button == "left" then
14171414
local row, column = guiGridListGetSelectedItem(listGrid)
14181415
local text = guiGridListGetItemText(listGrid, row, column)
1419-
serverAMXEvent("OnDialogResponse", getElemID(getLocalPlayer()), listDialog, 0, row, text);
1416+
serverAMXEvent("OnDialogResponse", getElemID(localPlayer), listDialog, 0, row, text);
14201417
guiSetVisible(listWindow, false)
14211418
guiGridListClear(listGrid)
14221419
showCursor(false)
@@ -1426,7 +1423,7 @@ end
14261423

14271424
function OnInputDialogButton1Click( button, state )
14281425
if button == "left" then
1429-
serverAMXEvent("OnDialogResponse", getElemID(getLocalPlayer()), inputDialog, 1, 0, guiGetText(inputEdit));
1426+
serverAMXEvent("OnDialogResponse", getElemID(localPlayer), inputDialog, 1, 0, guiGetText(inputEdit));
14301427
guiSetVisible(inputWindow, false)
14311428
showCursor(false)
14321429
inputDialog = nil
@@ -1435,7 +1432,7 @@ end
14351432

14361433
function OnInputDialogButton2Click( button, state )
14371434
if button == "left" then
1438-
serverAMXEvent("OnDialogResponse", getElemID(getLocalPlayer()), inputDialog, 0, 0, guiGetText(inputEdit));
1435+
serverAMXEvent("OnDialogResponse", getElemID(localPlayer), inputDialog, 0, 0, guiGetText(inputEdit));
14391436
guiSetVisible(inputWindow, false)
14401437
showCursor(false)
14411438
inputDialog = nil
@@ -1444,7 +1441,7 @@ end
14441441

14451442
function OnMessageDialogButton1Click( button, state )
14461443
if button == "left" then
1447-
serverAMXEvent("OnDialogResponse", getElemID(getLocalPlayer()), msgDialog, 1, 0, "");
1444+
serverAMXEvent("OnDialogResponse", getElemID(localPlayer), msgDialog, 1, 0, "");
14481445
guiSetVisible(msgWindow, false)
14491446
showCursor(false)
14501447
msgDialog = nil
@@ -1453,7 +1450,7 @@ end
14531450

14541451
function OnMessageDialogButton2Click( button, state )
14551452
if button == "left" then
1456-
serverAMXEvent("OnDialogResponse", getElemID(getLocalPlayer()), msgDialog, 0, 0, "");
1453+
serverAMXEvent("OnDialogResponse", getElemID(localPlayer), msgDialog, 0, 0, "");
14571454
guiSetVisible(msgWindow, false)
14581455
msgDialog = nil
14591456
showCursor(false)
@@ -1498,8 +1495,6 @@ end
14981495

14991496
addEvent ( "onPlayerClickPlayer" )
15001497
function OnPlayerClickPlayer ( element )
1501-
serverAMXEvent('OnPlayerClickPlayer', getElemID(getLocalPlayer()), getElemID(element), 0)
1498+
serverAMXEvent('OnPlayerClickPlayer', getElemID(localPlayer), getElemID(element), 0)
15021499
end
1503-
addEventHandler ( "onPlayerClickPlayer", getRootElement(), OnPlayerClickPlayer )
1504-
1505-
1500+
addEventHandler ( "onPlayerClickPlayer", root, OnPlayerClickPlayer )

0 commit comments

Comments
 (0)