-
Posts
4,121 -
Joined
-
Last visited
-
Days Won
2
Everything posted by Kenix
-
Перенесено в подраздел 'Помощь / Отчеты об ошибках'.
-
Debug by hand. outputChatBox outputDebugString
-
Flaker, На вики написано, что в гранатах всего 1 клип. Я думаю, что тебе нужно получить кол-во патронов у оружия. https://wiki.multitheftauto.com/wiki/Weapon В данном случае юзай это getPedTotalAmmo
-
Notepad++ plus all tools like compiler, debugger, mta highlighting.
-
You should use localPlayer instead of source in argument function getPlayerName.
-
Wrong. You can cancel only onClientPlayerDamage event.
-
meta.xml can't be parsed because have syntax error.
-
Конечно играл В чём проблема?
-
Debug by hand via functions outputChatBox outputDebugString
-
Your problem here. You use relative argument but you not use relative pos and size. ( relative pos and size should be float Example: position 0.1, 0.5, size 0.2, 0.2 ) Read wiki pls before write post. It's should be windowoff = guiCreateWindow( 0.350, 0.189, 0.301, 0.161, "Off duty", true ) label = guiCreateLabel( 0.069, 0.035, 0.113, 0.037, "Your job:", true, windowoff ) label1 = guiCreateLabel( 0.069, 0.035, 0.115, 0.036, "", true, windowoff ) closeoff = guiCreateButton( 0.160, 0.117, 0.120,0.035, "Close", true, windowoff ) buttonoff = guiCreateButton( 0.018, 0.117, 0.127, 0.035, "Off duty", true, windowoff )
-
You should make this your self. Anybody not write this for you.
-
You should use onClientPickupHit but we should trigger to server side event for give player weapon and use some manipulations. So better make all in server side. Also it's sync for all players. I think you needed this. local pPickup function CreateWeaponPickup( pPlayer, _, sAmmo ) local fX, fY, fZ = getElementPosition ( pPlayer ) local nWeapon = getPedWeapon( pPlayer ) if sAmmo then takeWeapon( pPlayer, nWeapon, tonumber( sAmmo ) ) end if nWeapon then pPickup = createPickup( fX, fY, fZ, 2, nWeapon, 3000, sAmmo and tonumber( sAmmo ) or 50 ) setElementData( pPickup, 'custom_pickup', true ) end end function OnPickupHitFunc( pPlayer ) if getElementData( source, 'custom_pickup' ) and getPickupType ( pPickup ) == 2 then local nAmmo = getPickupAmmo( pPickup ) local nWeapon = getPickupWeapon( pPickup ) giveWeapon( pPlayer, nWeapon, nAmmo, true ) outputChatBox( 'You just picked up a ' .. getWeaponNameFromID( nWeapon ) .. ' with ' .. nAmmo .. ' ammo', pPlayer ) end end addCommandHandler ( 'dropweapon', CreateWeaponPickup ) addEventHandler ( 'onPickupHit', root, OnPickupHitFunc ) Updated.
-
It's recursion. http://en.wikipedia.org/wiki/Recursion Because player is string (cmd). Command handler function in client side not have player argument. Only server side! So use predefined variable localPlayer. Also use getPedWeapon instead of getPlayerWeapon because getPlayerWeapon function is outdated. function CreateWeaponPickup ( ) local fX, fY, fZ = getElementPosition ( localPlayer ) local nWeapon = getPedWeapon ( localPlayer ) if nWeapon then drop = createPickup ( fX, fY, fZ, 2, nWeapon, 3000, 50 ) end end addCommandHandler ( "dropweapon", CreateWeaponPickup )
-
Write conditions. local sText = guiGridListGetItemText( guiGridListGetSelectedItem( rGrid ) ) -- get text if sText == 'Cookie' then -- check outputChatBox 'Hello' elseif sText == 'Cereal' then -- check outputChatBox 'Bulldog' end
-
guiGridListGetSelectedItem return number values with select row and column ( in grid list ). guiGridListSetItemText return boolean. This condition never be working. Maybe you want check if play select row and column? local nRow, nColumn = guiGridListGetSelectedItem( rGrid ) if nRow ~= -1 and nColumn ~= - 1 then -- Check if we select row and column -- TODO end
-
You should use hElement instead of source. source here is colshape. You want give money to colshape? addEventHandler ( 'onColShapeHit', LSPDColShape, function ( pElement ) if getElementType ( pElement ) ~= 'player' and getPlayerWantedLevel ( pElement ) < 1 and not getElementData ( pElement, 'Cuffed' ) and not getElementData ( pElement, 'Handcuffer' ) then return end local nWantedLevel = getPlayerWantedLevel ( pElement ) fadeCamera( pElement, false ) setTimer( function( pElement ) setElementInterior( pElement, 6 ) setElementPosition( pElement, 265.21185302734, 77.63591003418, 1001.0390625 ) fadeCamera( pElement, true ) end, 1000, 1, pElement ) setElementData( pElement, 'Arrested', true ) setElementData( pElement, 'Cuffed', false ) setElementData( pElement, 'Handcuffer', '' ) if nWantedLevel == 1 then givePlayerMoney( pElement, 1000 ) takePlayerMoney( pElement, 5000 ) setElementData( pElement, 'Timeleft', 30 ) setTimer ( releasePlayer , 30000 , 1 , pElement ) elseif nWantedLevel == 2 then givePlayerMoney( pElement, 2000 ) takePlayerMoney( pElement, 8000 ) setElementData( pElement, 'Timeleft', 60 ) setTimer ( releasePlayer , 60000 , 1 , pElement ) elseif nWantedLevel == 3 then givePlayerMoney( pElement, 3000 ) takePlayerMoney( pElement, 10000 ) setElementData( pElement, 'Timeleft', 120 ) setTimer ( releasePlayer , 120000 , 1 , pElement ) elseif nWantedLevel == 4 then givePlayerMoney( pElement, 4000 ) takePlayerMoney( pElement, 12000 ) setElementData( pElement, 'Timeleft', 180 ) setTimer ( releasePlayer , 180000 , 1 , pElement ) elseif nWantedLevel == 5 then givePlayerMoney( pElement, 5000 ) takePlayerMoney( pElement, 15000 ) setElementData( pElement, 'Timeleft', 200 ) setTimer ( releasePlayer , 200000 , 1 , pElement ) elseif nWantedLevel == 6 then givePlayerMoney( pElement, 8000 ) takePlayerMoney( pElement, 20000 ) setElementData( pElement, 'Timeleft', 240 ) setTimer ( releasePlayer , 240000 , 1 , pElement ) end setPlayerWantedLevel( pElement, 0 ) end ) Explain this Maybe you want give money who arrest you?
-
DarkLink You can read this too http://lua-users.org/wiki/ObjectOrientedProgramming
-
blazy Your code is wrong. Because first argument in function-handler here is loos (float = number) but not element. Read wiki pls.
-
Example usage ^^ class 'CWorldText' function CWorldText:CWorldText( sText ) -- TODO self.sText = sText self.nR = 255 self.nG = 255 self.nB = 255 self.nA = 255 end function CWorldText:Color( nR, nG, nB, nA ) if type( nR ) == 'number' and type( nG ) == 'number' and type( nB ) == 'number' then -- TODO self.nR = nR self.nG = nG self.nB = nB self.nA = type( nA ) == 'number' and nA or 255 end return self.nR, self.nG, self.nB, self.nA end Text = CWorldText 'Some text' Text:Color( 255, 0, 0, 175 )