Saltar al contenido
  • Global

    Global

    Chatroom Rules

    • NO SE DA SOPORTE EN CHATBOX
    • NO SPAM
    • NO FLOOD

Publicaciones recomendadas

  • Usuario
Publicado

bueno volví de tanto tiempo xd vengo con una duda problema o como ustedes les quieren llamar tengo esta funcion en el server

 

 

function aka47give()
local para = getPlayerMoney(source) 
local weaponType = getPedWeapon (source)
if para >= 2000 and weaponType == 999 then
    giveWeapon ( source, 30, 999 )
	takePlayerMoney (source, 2000)
	setElementData (source,"mostraraviso","wea1")
	triggerClientEvent(source,"aka47manda",source)
elseif para < 2000 and weaponType < 1000 then 
	 setElementData (source,"mostraraviso","wea2")
	 triggerClientEvent(source,"aka47manda",source)
end
end
addEvent("aka47give", true)
addEventHandler("aka47give", root, aka47give) 

 

 

quiero hacer que eso funcione la verdad no se que hacer lo eh probado varias veces no manda error pero no funciona o no quiere hacer nada aca el client por si es necesario pero yo veo que todo esta en el serve

 

 

function aka47manda ()
local aparece = guiGetVisible(ventana)
 if aparece == true then
 local playerDataa = getElementData (getLocalPlayer(),"mostraraviso")
  if (playerDataa == "wea1") then
    guiSetText ( avisoasd, "Usted compró una Ak47!" )
  elseif (playerDataa == "wea2") then 
   guiSetText ( avisoasd, "Dinero insuficiente!" )
  elseif (playerDataa == "wea3") then 
   guiSetText ( avisoasd, "Usted ya tiene esta arma!" )   
end
end
end
addEvent( "aka47manda", true )
addEventHandler ( "aka47manda", getRootElement(), aka47manda) 

 

 

aca una imagen ya que una imagen explica mejor que mil palabras :v

 

8613ec6fc4849badb4787ac4e2679b24o.png

 

no paso todo el archivo completo por que veo que no es necesario yo creo que con esos dos archivos client y serve se puede lograr hacer lo que estoy pidiendo gracias y saludos espero su ayudita c:

  • Usuario
Publicado

Podrías mostrar la parte donde llamas el trigger a "aka47give" ? :)

No es necesario usar elementData ahí xDD

 

Edit: Aquí hice que funcione:

 

 

 

function aka47give()
	--Se chequea si tiene un arma en el slot 5
	local Arma = getPedWeapon(source, 5)
	
	if getPlayerMoney(source) >= 2000 and Balas  then
	
		--Si tiene el arma, se envia el aviso
		if Arma then
			setElementData (source,"mostraraviso","wea3")
			triggerClientEvent(source,"aka47manda",source)
                        return
		end
		
		giveWeapon ( source, 30, 999 )
		takePlayerMoney (source, 2000)
		setElementData (source,"mostraraviso","wea1")
		triggerClientEvent(source,"aka47manda",source)
	else
		setElementData (source,"mostraraviso","wea2")
		triggerClientEvent(source,"aka47manda",source)
	end
end
addEvent("aka47give", true)
addEventHandler("aka47give", root, aka47give)

 

 

 

Al parecer tu problema es que getPedWeapon, solo obtiene el arma del jugador de cierto slot si es que este la tiene, no devuelve el valor de sus balas ni nada por el estilo.

 

También hay una forma mas fácil de enviar tus datos entre servidor y cliente usando los triggers, por ejemplo:

 

 

 

Servidor

function aka47give()
	--Se chequea si tiene un arma en el slot 5
	local Arma = getPedWeapon(source, 5)
	
	if getPlayerMoney(source) >= 2000 and Balas  then
	
		--Si tiene el arma, se envia el aviso
		if Arma then
			triggerClientEvent(source, "aka47manda", source, "wea3")
                        return
		end
		
		giveWeapon ( source, 30, 999 )
		takePlayerMoney (source, 2000)
		triggerClientEvent(source, "aka47manda", source, "wea1")
	else
		triggerClientEvent(source, "aka47manda", source, "wea2")
	end
end
addEvent("aka47give", true)
addEventHandler("aka47give", root, aka47give)

 

 

 

 

 

Cliente

function aka47manda(Estado)
	if guiGetVisible(ventana) then
		if Estado == "wea1" then
			guiSetText ( avisoasd, "Usted compró una Ak47!" )
		elseif Estado == "wea2" then 
			guiSetText ( avisoasd, "Dinero insuficiente!" )
		elseif Estado == "wea3" then 
			guiSetText ( avisoasd, "Usted ya tiene esta arma!" )   
		end
	end
end
addEvent( "aka47manda", true )
addEventHandler ( "aka47manda", getRootElement(), aka47manda)

 

 

  • Usuario
Publicado

Ya le di solución es que ayer se me fue la internet y me puse a meterle mano y lo solucione xd la wiki me ayudo también c: de todas formas gracias.. por cierto gracias por aclararme lo del elementdata si son necesario en mi caso por que lo tengo ahi para mandar funciones necesarias que tengo en el archivo serve aca esta mi solucion c:

 

 

function aka47give()
local para = getPlayerMoney(source) 
local weaponType = getPedWeapon (source) --- solo tenia que elimiar el slot 5 para obetener todas las armas del jugador ya que es una tienda el jugador llegara sin armas xd
if para >= 2000 and ( weaponType ) then
    giveWeapon ( source, 30, 500 )
	takePlayerMoney (source, 2000)
	setElementData (source,"mostraraviso","wea1")
	triggerClientEvent(source,"aka47manda",source)
elseif para < 2000 and weaponType < 500 then 
	 setElementData (source,"mostraraviso","wea2")
	 triggerClientEvent(source,"aka47manda",source)
end
end
addEvent("aka47give", true)
addEventHandler("aka47give", root, aka47give) 

 

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invitado
Responder a este tema...

×   Pegar como texto enriquecido.   Pegar como texto sin formato

  Only 75 emoji are allowed.

×   Tu enlace se ha incrustado automáticamente..   Mostrar como un enlace en su lugar

×   Se ha restaurado el contenido anterior.   Limpiar editor

×   No se pueden pegar imágenes directamente. Carga o inserta imágenes desde la URL.

  • Explorando recientemente   0 miembros

    • No hay usuarios registrados viendo esta página.
×
×
  • Crear nuevo...