Jump to content

AJUDA NO SCRIPT DE VENDER DROGAS


Recommended Posts

------------------------------------------------
------		Sistema de Policia convertido para vender drogas			
------			By:#ROBSON			  	  ------
------------------------------------------------	
------		  Colaboração:				  ------
------		  #DR.VOODKA				  ------	
------		  [B]lack					  ------
------		  #[S]wag					  ------
------ 		  New Age			  		  ------
------		  DNL291					  ------
------------------------------------------------

-- SERVER SIDE

function getPlayerFromPartialName(name)
    local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil
    if name then
        for _, player in ipairs(getElementsByType("player")) do
            local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower()
            if name_:find(name, 1, true) then
                return player
            end
        end
    end
end	

function revistar_jogador ( thePlayer, comando, name )
    if name then
        if getPlayerFromPartialName ( name ) then
            local accName = getAccountName ( getPlayerAccount ( thePlayer ) )
            if isObjectInACLGroup ("user."..accName, aclGetGroup ( "POLICIA") ) then -- PERMISSÃO PARA USAR
				 local player_a_ser_revistado    =   getPlayerFromPartialName ( name )
                 local name_do_jogador           =   getPlayerName ( player_a_ser_revistado )
				 local name_do_policial          =   getPlayerName ( thePlayer )
                 local estrelas_de_procurado     =   getPlayerWantedLevel ( player_a_ser_revistado )
				 local policiax, policiay, policiaz = getElementPosition ( thePlayer ) -- ENCONTRAR POSIÇÃO DO VENDEDOR
				 local revistadox, revistadoy, revistadoz = getElementPosition ( player_a_ser_revistado ) -- ENCONTRAR POSIÇÃO DO COMPRADOR
				 local dist = getDistanceBetweenPoints3D ( policiax, policiay, policiaz, revistadox, revistadoy, revistadoz ) -- DISTANCIA ENTRE OS 2 
					if ( dist > 4 )  then -- se a distancia for 335 executara a função a seguir
					outputChatBox("#000000[#ff0000TRÁFICO#000000] #c1c1c1Chegue mais perto para executar o comando!", thePlayer, 255, 255, 255, true) -- Chat Box 
					elseif ( dist < 3 )then -- Caso ao contrario a distancia for 334 executara a função a seguir
					outputChatBox("#000000[#ff0000TRÁFICO#000000] #c1c1c1Você ofereceu para o #ffffff"..name_do_policial.." #c1c1c1drogas.", thePlayer, 255, 255, 255, true) -- Chat Box 
					triggerClientEvent(player_a_ser_revistado, "aparecer", player_a_ser_revistado) -- Chamar evento do client, aparecera uma gui para o comprador
					
				end
			else			
				outputChatBox("#000000[#ff0000TRÁFICO#000000] #c1c1c1Você não tem permissão para utilizar deste comando!", thePlayer, 255, 255, 255, true) -- Se voce nao for da acl voce nao tera permissao a este comando
        end
    end
end
end
addCommandHandler ( "traficar", revistar_jogador )

function comprardroga (thePlayer, comando, name, player_a_ser_revistado)
local comprador = getPlayerMoney(player_a_ser_revistado)
	if comprador > 5000 then
		takePlayerMoney ( player_a_ser_revistado, 5 ) -- comprador
		givePlayerMoney ( thePlayer, 5 ) -- vendedor
		end
		end
addEventHandler ( "aceitou", getRootElement(), comprardroga )
addEvent ("aceitou", true )

Eu preciso de ajuda na parte de tirar dinheiro de um jogador e dar para o outro, não funciona e não aparece nada no debugscript 3 

Link to comment
  • Other Languages Moderators

Tirando a indentação que está bem ruim e o fato de AddEvent estar depois do AddEventHandler, onde está a parte client-side para chamar a função do dinheiro? Além disso você colocou parâmetros de comando na função, mas não existe nenhum AddCommandHandler para executar essa função.

Link to comment
4 hours ago, Lord Henry said:

Tirando a indentação que está bem ruim e o fato de AddEvent estar depois do AddEventHandler, onde está a parte client-side para chamar a função do dinheiro? Além disso você colocou parâmetros de comando na função, mas não existe nenhum AddCommandHandler para executar essa função.

-- CLIENT SIDE

function showblowjobMessage(hooker)
	myhooker = hooker
	showCursor ( true )
	local x, y = guiGetScreenSize()
	if not blowjobBox then
		blowjobBox = guiCreateWindow( x*.5-150, y*.5-65, 300, 120, "Quer drogas?", false )
			guiWindowSetSizable( blowjobBox, false )
		blowjobMessage = guiCreateLabel( 100, 40, 180, 60, "", false, blowjobBox )
		blowjobOk = guiCreateButton( 90, 90, 70, 20, "Sim", false, blowjobBox )
		blowjobNo = guiCreateButton( 170, 90, 70, 20, "Não", false, blowjobBox )
		addEventHandler( "onClientGUIClick", blowjobNo, nothanks )
		addEventHandler( "onClientGUIClick", blowjobOk, startsucking )
	else
		guiSetPosition( blowjobBox, x*.5-150, y*.5-65, false )
		guiSetVisible( blowjobBox, true )
	end
	guiSetText( blowjobMessage, "Custa 5 reais o crack." )
	guiBringToFront( blowjobBox )
end
addEvent( "aparecer", true )
addEventHandler( "aparecer", getLocalPlayer(), showblowjobMessage )



function nothanks()
	john = getLocalPlayer()
	guiSetVisible( blowjobBox, false )
	showCursor ( false )
end


function startsucking()
	john = getLocalPlayer()
	triggerServerEvent ( "aceitou", getLocalPlayer(), myhooker, john )
	showCursor ( false )
	guiSetVisible( blowjobBox, false )
end

Tem o addcommandhandler, é o /traficar +o nome do jogador, ai vai aparecer uma gui pro jogador aceitar ou não, se ele aceitar é para ele perder dinheiro e o traficante ganhar, depois de arrumar a parte do dinheiro eu vou colocar uns efeito na droga.

Edited by Axgxl
Link to comment
  • Other Languages Moderators

Em vez de:

Quote

server:


triggerClientEvent(player_a_ser_revistado, "aparecer", player_a_ser_revistado)

addEventHandler ( "aceitou", getRootElement(), comprardroga )
addEvent ("aceitou", true )

client:


addEventHandler( "aparecer", getLocalPlayer(), showblowjobMessage )

triggerServerEvent ( "aceitou", getLocalPlayer(), myhooker, john )

 

Tente usar no server:

triggerClientEvent (player_a_ser_revistado, "aparecer", getRootElement())
addEvent("aceitou", true)
addEventHandler("aceitou", root, comprardroga)

e no client:

addEventHandler ("aparecer", getRootElement(), showblowjobMessage)
triggerServerEvent("aceitou", localPlayer, myhooker, localPlayer)

Outra dica é você colocar vários outputChatBox pelo código para saber onde ele está parando de executar.

------------------------------------------------------

Você está usando essa função no client:

function startsucking()
	john = getLocalPlayer()
	triggerServerEvent ( "aceitou", getLocalPlayer(), myhooker, john ) -- Nome do Evento, executar em quem, parâmetro1, parâmetro2
	showCursor ( false )
	guiSetVisible( blowjobBox, false )
end

Para chamar essa função no server:

function comprardroga (thePlayer, comando, name, player_a_ser_revistado) -- Executar em quem (localPlayer), myhooker (player_a_ser_revistado), john (localPlayer), false
	local comprador = getPlayerMoney(player_a_ser_revistado) -- comprador = false
	if comprador > 5000 then -- ERRO (Tentou comparar valor booleano com inteiro.) [Provavelmente parou de executar aqui.]
		takePlayerMoney ( player_a_ser_revistado, 5 ) -- ERRO, não conseguiu tirar dinheiro pois não existe elemento "false".
		givePlayerMoney ( thePlayer, 5 ) -- Deu $5 de grana ao thePlayer (localPlayer).
	end
end
addEventHandler ( "aceitou", getRootElement(), comprardroga ) -- Evento
addEvent ("aceitou", true )

 

  • Like 1
Link to comment
21 hours ago, Lord Henry said:

Em vez de:

Tente usar no server:


triggerClientEvent (player_a_ser_revistado, "aparecer", getRootElement())

addEvent("aceitou", true)
addEventHandler("aceitou", root, comprardroga)

e no client:


addEventHandler ("aparecer", getRootElement(), showblowjobMessage)

triggerServerEvent("aceitou", localPlayer, myhooker, localPlayer)

Outra dica é você colocar vários outputChatBox pelo código para saber onde ele está parando de executar.

------------------------------------------------------

Você está usando essa função no client:


function startsucking()
	john = getLocalPlayer()
	triggerServerEvent ( "aceitou", getLocalPlayer(), myhooker, john ) -- Nome do Evento, executar em quem, parâmetro1, parâmetro2
	showCursor ( false )
	guiSetVisible( blowjobBox, false )
end

Para chamar essa função no server:


function comprardroga (thePlayer, comando, name, player_a_ser_revistado) -- Executar em quem (localPlayer), myhooker (player_a_ser_revistado), john (localPlayer), false
	local comprador = getPlayerMoney(player_a_ser_revistado) -- comprador = false
	if comprador > 5000 then -- ERRO (Tentou comparar valor booleano com inteiro.) [Provavelmente parou de executar aqui.]
		takePlayerMoney ( player_a_ser_revistado, 5 ) -- ERRO, não conseguiu tirar dinheiro pois não existe elemento "false".
		givePlayerMoney ( thePlayer, 5 ) -- Deu $5 de grana ao thePlayer (localPlayer).
	end
end
addEventHandler ( "aceitou", getRootElement(), comprardroga ) -- Evento
addEvent ("aceitou", true )

 

Obrigado pela dica do output chat box, vou dar meu melhor pra entender tudo.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...