UserToDelete Posted February 22, 2015 Share Posted February 22, 2015 (edited) function getGangs (key) if key == 1332 then local x = exports.gang_system:getGangList() for k,gangs in ipairs(x) do triggerClientEvent("listingGangs", client, gangs.gang_name) outputChatBox(gangs.gang_name, root) return gangs.gang_name end end end function _test (source, c, _) local key = 1332 local x = getGangs(key) outputChatBox(tostring(x), source, 255,255,255,true) end addCommandHandler("/test", _test) addEvent("getGangs", true) addEventHandler("getGangs", root, getGangs) Hay dos valores, y solo me devuelve uno (El primero), solucion? Edited February 27, 2015 by Guest Link to comment
Castillo Posted February 22, 2015 Share Posted February 22, 2015 · Hidden Hidden Estas terminado el bucle al usar "return". Link to comment
Bc# Posted February 24, 2015 Share Posted February 24, 2015 · Hidden Hidden Si no me equivoco con lo que quieres hacer, es esto. Si quieres que retorne una tabla tienes que hacerlo de otra forma, pero recuerda usar variables para guardar datos y después retornar. function getGangs (key) local txt = "" if key == 1332 then local x = exports.gang_system:getGangList() for k,gangs in ipairs(x) do triggerClientEvent("listingGangs", client, gangs.gang_name) outputChatBox(gangs.gang_name, root) txt = txt..tostring(gangs.gang_name)..". " end return txt end end function _test (source, c, _) local key = 1332 local x = getGangs(key) outputChatBox(x, source, 255,255,255,true) end addCommandHandler("/test", _test) addEvent("getGangs", true) addEventHandler("getGangs", root, getGangs) Link to comment
Tomas Posted February 24, 2015 Share Posted February 24, 2015 Con el ejemplo de Bc no te saldrá una gang por linea, sino que te saldrá todo en la misma linea, lo que puedes hacer es insertar la información en una tabla y luego loopearla. Link to comment
Sasu Posted February 25, 2015 Share Posted February 25, 2015 · Hidden Hidden Con el ejemplo de Bc no te saldrá una gang por linea, sino que te saldrá todo en la misma linea, lo que puedes hacer es insertar la información en una tabla y luego loopearla. No conoces la parte del cliente, tal vez ese evento ejecuta una funcion donde crea una linea, aunque eso resultaria poco eficiente. Link to comment
Tomas Posted February 25, 2015 Share Posted February 25, 2015 Con el ejemplo de Bc no te saldrá una gang por linea, sino que te saldrá todo en la misma linea, lo que puedes hacer es insertar la información en una tabla y luego loopearla. No conoces la parte del cliente, tal vez ese evento ejecuta una funcion donde crea una linea, aunque eso resultaria poco eficiente. Está usando un outputChatBox ._. (la función está abajo) Link to comment
Bc# Posted February 25, 2015 Share Posted February 25, 2015 · Hidden Hidden Creo que así se hace. No estoy al 100% seguro si es así como se asigna una tabla en lua. function getGangs (key) local var = {} if key == 1332 then local x = exports.gang_system:getGangList() for k,gangs in ipairs(x) do triggerClientEvent("listingGangs", client, gangs.gang_name) outputChatBox(gangs.gang_name, root) var.k = gangs.gang_name end return var end end function _test (source, c, _) local x = {} local key = 1332 local x = getGangs(key) for k, gang in ipairs(x) do outputChatBox(tostring(gang), source, 255,255,255,true) end end addCommandHandler("/test", _test) addEvent("getGangs", true) addEventHandler("getGangs", root, getGangs) Link to comment
UserToDelete Posted February 27, 2015 Author Share Posted February 27, 2015 Tan simple es como: --return. function getGangs (key) if key == 1332 then local x = exports.gang_system:getGangList() for k,gangs in ipairs(x) do if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(client)), aclGetGroup("Admin")) then triggerClientEvent("listingGangs", client, gangs.gang_name) --outputChatBox(gangs.gang_name, client) --return gangs.gang_name end end end end Funciona perfecto Como bien dijo castillo, "return" corta el loop. Estas terminado el bucle al usar "return". Link to comment
Tomas Posted February 27, 2015 Share Posted February 27, 2015 Eso te triggeará el evento según cuantas gangs existan, lo cuál no es nada óptimo... Link to comment
Recommended Posts