Narutimmy Posted February 2, 2015 Share Posted February 2, 2015 hola intento hacer funcionar un top score... pero me da problemas me dice nil value en getAccounts cl function getPlayersSortByKills ( ) local players = { } for i, account in ipairs ( getAccounts( ) ) do if getAccountPlayer ( account ) then table.insert ( players, { element = account, kills = getAccountData ( account, "TK" ) or 0, deaths = getAccountData ( account, "TD" ) or 0, } ) end end table.sort ( players, function ( a, b ) return ( tonumber ( a.kills ) or 0 ) > ( tonumber ( b.kills ) or 0 ) end ) return players end Link to comment
Tomas Posted February 2, 2015 Share Posted February 2, 2015 function getPlayersSortByKills ( ) local players = { } for i, account in ipairs ( getAccounts( ) ) do if getAccountPlayer ( getAccount(getAccountName(account))) then table.insert ( players, { element = account, kills = getAccountData ( account, "TK" ) or 0, deaths = getAccountData ( account, "TD" ) or 0, } ) end end table.sort ( players, function ( a, b ) return ( tonumber ( a.kills ) or 0 ) > ( tonumber ( b.kills ) or 0 ) end ) return players end Link to comment
Castillo Posted February 2, 2015 Share Posted February 2, 2015 Seguramente pusiste el script como client side, y esas funciones son solo server side. Link to comment
Narutimmy Posted February 2, 2015 Author Share Posted February 2, 2015 Seguramente pusiste el script como client side, y esas funciones son solo server side. si de echo asi fue ya que en la wiki no me especifica si es client o server, pero igual probe lo use en server y me da otro error. --SERVER function top() todascuentas = getAccounts( ) local players = { } for i, account in ipairs ( todascuentas ) do if getAccountPlayer ( account ) then element = account kills = getAccountData ( account, "TK" ) or 0 deaths = getAccountData ( account, "TD" ) or 0 table.insert (players,{element,kills,deaths} ) triggerClientEvent (thePlayer,"top", players ) end end end addCommandHandler( 'top', top ) Me da Error en el triggerClientEvent argumento 3, algo de got table Link to comment
Castillo Posted February 2, 2015 Share Posted February 2, 2015 No te ofendas, pero debes estar ciego, ya que claramente dice "Server-only function". https://wiki.multitheftauto.com/wiki/GetAccounts Link to comment
Tomas Posted February 2, 2015 Share Posted February 2, 2015 Seguramente pusiste el script como client side, y esas funciones son solo server side. si de echo asi fue ya que en la wiki no me especifica si es client o server, pero igual probe lo use en server y me da otro error. --SERVER function top() todascuentas = getAccounts( ) local players = { } for i, account in ipairs ( todascuentas ) do if getAccountPlayer ( account ) then element = account kills = getAccountData ( account, "TK" ) or 0 deaths = getAccountData ( account, "TD" ) or 0 table.insert (players,{element,kills,deaths} ) triggerClientEvent (thePlayer,"top", players ) end end end addCommandHandler( 'top', top ) Me da Error en el triggerClientEvent argumento 3, algo de got table ¿Qué estás triggeando? thePlayer no existe en ese código... ¿y para qué loopeas la tabla para luego loopearla entera? Link to comment
Narutimmy Posted February 3, 2015 Author Share Posted February 3, 2015 No te ofendas, pero debes estar ciego, ya que claramente dice "Server-only function".https://wiki.multitheftauto.com/wiki/GetAccounts xDD... creo que si no lo habia visto, Gracias Link to comment
Narutimmy Posted February 3, 2015 Author Share Posted February 3, 2015 Seguramente pusiste el script como client side, y esas funciones son solo server side. si de echo asi fue ya que en la wiki no me especifica si es client o server, pero igual probe lo use en server y me da otro error. --SERVER function top() todascuentas = getAccounts( ) local players = { } for i, account in ipairs ( todascuentas ) do if getAccountPlayer ( account ) then element = account kills = getAccountData ( account, "TK" ) or 0 deaths = getAccountData ( account, "TD" ) or 0 table.insert (players,{element,kills,deaths} ) triggerClientEvent (thePlayer,"top", players ) end end end addCommandHandler( 'top', top ) Me da Error en el triggerClientEvent argumento 3, algo de got table ¿Qué estás triggeando? thePlayer no existe en ese código... ¿y para qué loopeas la tabla para luego loopearla entera? que debo usar en tonces? intente source... pero no me funciono, y sobre la tabla se muy poco, pero tengo todo el dia intentando que puedo hacer? Link to comment
Tomas Posted February 3, 2015 Share Posted February 3, 2015 Oh, recién noté que son dos tablas distintas ._. ¿Estás haciendo un top de kills o algo así verdad? Postea el client. Link to comment
Calculador Posted February 3, 2015 Share Posted February 3, 2015 que debo usar en tonces? intente source... pero no me funciono, y sobre la tabla se muy poco, pero tengo todo el dia intentando que puedo hacer? Puedes definir el argumento que quieras con getElementType Link to comment
Tomas Posted February 3, 2015 Share Posted February 3, 2015 que debo usar en tonces? intente source... pero no me funciono, y sobre la tabla se muy poco, pero tengo todo el dia intentando que puedo hacer? Puedes definir el argumento que quieras con getElementType ¿De qué le serviría eso? No existe ningún elemento, lol. Link to comment
Narutimmy Posted February 3, 2015 Author Share Posted February 3, 2015 Oh, recién noté que son dos tablas distintas ._. ¿Estás haciendo un top de kills o algo así verdad? Postea el client. Si de echo es un top kill, lo encontre en el foro, pero trato de adaptarlo, ya que funciona pero solo hace el top sobre los users conectados, la idea es que tome encuenta a todos los registrados. Para que el client? si el problema lo da al enviar la tabla del sv al cl? function getPlayersSortByKills (players) table.sort ( players, function ( a, b ) return ( tonumber ( a.kills ) or 0 ) > ( tonumber ( b.kills ) or 0 ) end ) return players end Link to comment
Tomas Posted February 3, 2015 Share Posted February 3, 2015 Nadie te robará tu script que sacaste de la comunidad, tranquilo... Necesito el client para ver de dónde llamas al servidor para luego triggear el mismo elemento al client. Link to comment
Narutimmy Posted February 3, 2015 Author Share Posted February 3, 2015 Nadie te robará tu script que sacaste de la comunidad, tranquilo... Necesito el client para ver de dónde llamas al servidor para luego triggear el mismo elemento al client. Eso que puse arriba es el CL, lo demas es solo el gui ._. Link to comment
Tomas Posted February 3, 2015 Share Posted February 3, 2015 Nadie te robará tu script que sacaste de la comunidad, tranquilo... Necesito el client para ver de dónde llamas al servidor para luego triggear el mismo elemento al client. Eso que puse arriba es el CL, lo demas es solo el gui ._. ¿Dónde triggeas para enviar la información? ... uff, que cuesta tanto entender x_x Link to comment
Calculador Posted February 4, 2015 Share Posted February 4, 2015 ¿De qué le serviría eso? No existe ningún elemento, lol. Lo sé, solo que el perguntaba algo sobre eso justo acá: que debo usar en tonces? intente source... pero no me funciono, y sobre la tabla se muy poco, pero tengo todo el dia intentando que puedo hacer? Lo siento de todas maneras. Por otra parte Narutimmy lo que te intenta decir Tomás es que muestres el codigo donde usas el evento "top", ya que eso es lo que te vota error... --SERVER function top() todascuentas = getAccounts( ) local players = { } for i, account in ipairs ( todascuentas ) do if getAccountPlayer ( account ) then element = account kills = getAccountData ( account, "TK" ) or 0 deaths = getAccountData ( account, "TD" ) or 0 table.insert (players,{element,kills,deaths} ) triggerClientEvent (thePlayer,"top", players ) end end end addCommandHandler( 'top', top ) Link to comment
Recommended Posts