Jump to content

JuanM27

Members
  • Posts

    180
  • Joined

  • Last visited

Everything posted by JuanM27

  1. hola a todos, hola tengo una pregunta bastante sencilla supongo.. yo tengo una tabla creada en el script, pero tengo la duda de como saber cuanto cuanto registro tengo en esa tabla. ejemplo yo tengo esta tabla... local levels = { [1]={1, "Level 1", 100}, [2]={2, "Level 2", 200}, [3]={3, "Level 3", 300}, [4]={4, "Level 4", 400}, [5]={5, "Level 5", 500}, [6]={6, "Level 6", 600}, [7]={7, "Level 7", 700}, [8]={8, "Level 8", 800}, [9]={9, "Level 9", 900}, [10]={10, "Level 10", 1000}, [11]={11, "Level 11", 1100}, [12]={12, "Level 12", 1200}, [13]={13, "Level 13", 1300}, [14]={14, "Level 14", 1400}, [15]={15, "Level 15", 1500}, } para saber la cantidad de registro de esa tabla tendria que usar #levels ? pregunto esto por que en varias partes del script tengo que estar verificando con if etc <= 15 then la idea seria que si yo borro o agrego algo a la tabla no tener que modificar todo y que en todo lados sea por medio por if etc <= #levels then es asi? o como seria, gracias de ante mano --------------------------------------- Editado: Listo Lo probe y era asi, pueden cerrar el tema. y disculpen por preguntar algo tan simple saludos
  2. supongo que queres hacer que gane dinero segun la exp es decir si tiene 20 de exp que gane $2000, pero si tiene 50 de exp que gane $5000 ? si es asi, tendrias que obtener la exp que tiene el jugador, y hay hacer las condiciones
  3. gracias por las respuestas, voy a ver si logro hacerlo parece facil, cualquier duda o error que tenga al intentarlo hacer respondo el tema. saludos y gracias
  4. gracias solidsnake funciona, pero no como yo tenia pensado... mira me explico, para que ande el cursor tiene que estar visible. como tendria que hacer para que funcione sin hacer visible el cursor. yo tenia pensado usar algo asi para comprobar que este cerca del vehiculo local x, y, z = getElementPosition( player ) if getDistanceBetweenPoints3D( x, y, z, getElementPosition( source ) ) < 5 and --aca el mensaje por que hay un auto cerca else --aca el aviso que no hay vehiculo cercas. end como tendria que usar ese evento para no estar haciendo visible el cursor. serviria poner el cursor visible al instante de hacer click y luego se ponga invisible solo?
  5. hola Solidsnake14 si con secundario me refiero al boton derecho. por casualidad el evento es onClientGUIClick? por que en el script que estoy haciendo no uso gui, sino que es para que cuando haces click con el boton derecho cerca de un vehiculo, te diga el dueño del vehiculo en el chat... osea nose cual evento usar me dirias si ese es el evento a usar? muchas gracias
  6. hola buenas tardes, ando haciendo un script bastante sencillo pero me tope con un pequeño problema, no se como se llama el evento que se activa cuando un player hace click secundario... alguien sabe como se llama ese evento, asi veo en la wiki como usarlo. bueno muchas gracias
  7. hola buenos dias. estoy haciendo un sistema de turf desde hace tiempo, y por varios meses lo use asi, pero me decidi en tratar de arreglarlo, pero me sigo trabando como antes. bueno le comento, en el sistema de turf que yo tengo, lo gana bien. pero tengo 2 problemas que talvez sea una pabada y yo no me dio cuenta... les cuentos los 2 problemas que tengo.... 1º no defiende. 2º si entran a defender, deja de contar el timer del atacante. le dejo el script de 1 turf de como lo tengo PD: uso un sistema de gans creado por mi mismo el cual anda bien. y uso MySQL para obtener todos los datos.... aca dejo el script es todo server-side ya que lo unico que hace el cliente-side es mostrar el texto de la probocacion, desafio de guerra etc.. link1 = dbConnect( "mysql", "dbname=CLGCommunity;host=127.0.0.1", "root", "", "share=0" ) local Turf2 = createColRectangle ( 1838.3730, 1464.1499, 200, 250 ) local Turfs2 = createRadarArea ( 1838.3730, 1464.1499, 200, 250, 0, 255, 0, 175 ) local Turf2Due = {} local Turf2Spawm = {1080.6954345703, 1036.0864257813, 10.5} local Turf2MinutosPro = 0 local Turf2MinutosDef = 0 local ProbocaTimer2 = {} local DefensaTimer2 = {} local robbersTable2 = {} local MinimoInTurf2 = 1 local Turf2PlayerEne = 0 local Turf2Defensa = 0 local EstaAtacando2 = false local GuildAtacante2 = {} local DefensaTable = {} local robbersTable = {} local C1 = 0 local C2 = 0 local C3 = 0 function Pinta() money0 = dbQuery(link1, "SELECT * FROM Turf") local queryResult0 = dbPoll ( money0 , -1 ) local Due2 = queryResult0[1]['Turf2'] local Color1 = dbQuery(link1, "SELECT Color1 FROM clanes WHERE NombreClan='".. Due2 .."'") local queryResultC1 = dbPoll ( Color1 , -1 ) C1 = queryResultC1[1]['Color1'] local Color2 = dbQuery(link1, "SELECT Color2 FROM clanes WHERE NombreClan='".. Due2 .."'") local queryResultC2 = dbPoll ( Color2 , -1 ) C2 = queryResultC2[1]['Color2'] local Color3 = dbQuery(link1, "SELECT Color3 FROM clanes WHERE NombreClan='".. Due2 .."'") local queryResultC3 = dbPoll ( Color3 , -1 ) C3 = queryResultC3[1]['Color3'] setRadarAreaColor ( Turfs2, C1, C2, C3, 175 ) end addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), Pinta) function EntraTurf2 ( thePlayer, matchingDimension ) local account = getPlayerAccount(thePlayer) local accountName = getAccountName(account) if (getElementType(thePlayer) == "player") then money0 = dbQuery(link1, "SELECT * FROM Turf") local queryResult0 = dbPoll ( money0 , -1 ) local Due1 = queryResult0[1]['Turf2'] Turf2Due = Due1 money = dbQuery(link1, "SELECT usuario FROM clanmiembros WHERE usuario='".. accountName .."'") local queryResult = dbPoll ( money , -1 ) if queryResult[1]['usuario'] == accountName then money1 = dbQuery(link1, "SELECT clan FROM clanmiembros WHERE usuario='".. accountName .."'") local queryResult1 = dbPoll ( money1 , -1 ) local Guild = queryResult1[1]['clan'] GuildAtacante2 = Guild if (Turf2Due ~= Guild) then triggerClientEvent(thePlayer,"Entraste",thePlayer,Turf2Due) ProbocaTimer2 = setTimer ( function ( ) csInRBM = getCriminalsInMarker2 ( source ) if #csInRBM >= tonumber(MinimoInTurf2) then if ( Turf2MinutosPro == 0 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Probocacion", cInRBM, 0 ) end elseif ( Turf2MinutosPro == 1 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Probocacion", cInRBM, 1 ) end elseif ( Turf2MinutosPro == 2 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Probocacion", cInRBM, 2 ) end elseif ( Turf2MinutosPro == 3 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Probocacion", cInRBM, 3 ) end elseif ( Turf2MinutosPro == 4 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Probocacion", cInRBM, 4 ) end elseif ( Turf2MinutosPro == 5 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Probocacion", cInRBM, 5 ) end elseif ( Turf2MinutosPro == 6 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Probocacion", cInRBM, 6 ) end elseif ( Turf2MinutosPro == 7 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Probocacion", cInRBM, 7 ) end elseif ( Turf2MinutosPro == 8 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Probocacion", cInRBM, 8 ) end elseif ( Turf2MinutosPro == 9 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Probocacion", cInRBM, 9 ) end elseif ( Turf2MinutosPro == 10 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Probocacion", cInRBM, 10 ) end elseif ( Turf2MinutosPro == 11 ) then for index, cInRBM in ipairs ( csInRBM ) do setRadarAreaFlashing ( Turfs2, true ) end elseif ( Turf2MinutosPro == 12 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Declara", cInRBM, Turf2Due ) end local master = dbQuery ( link1, "SELECT usuario FROM clanmiembros WHERE clan='".. Turf2Due .."'" ) local queryResult = dbPoll ( master , -1 ) if ( queryResult ~= nil ) then local players = getElementsByType("player") for i,v in ipairs(queryResult) do local Us = v [ "usuario" ] local test = getAccountPlayer(getAccount(Us)) triggerClientEvent(test,"TeLoRoban",test,Guild) EstaAtacando2 = true --ponemos que lo estan atacando! end end elseif ( Turf2MinutosPro == 13 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Guerra", cInRBM, 0 ) end elseif ( Turf2MinutosPro == 14 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Guerra", cInRBM, 1 ) end elseif ( Turf2MinutosPro == 15 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Guerra", cInRBM, 2 ) end elseif ( Turf2MinutosPro == 16 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Guerra", cInRBM, 3 ) end elseif ( Turf2MinutosPro == 17 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Guerra", cInRBM, 4 ) end elseif ( Turf2MinutosPro == 18 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Guerra", cInRBM, 5 ) end elseif ( Turf2MinutosPro == 19 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Guerra", cInRBM, 6 ) end elseif ( Turf2MinutosPro == 20 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Guerra", cInRBM, 7 ) end elseif ( Turf2MinutosPro == 21 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Guerra", cInRBM, 8 ) end elseif ( Turf2MinutosPro == 22 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Guerra", cInRBM, 9 ) end elseif ( Turf2MinutosPro == 23 ) then for index, cInRBM in ipairs ( csInRBM ) do triggerClientEvent ( cInRBM, "Guerra", cInRBM, 10 ) end elseif ( Turf2MinutosPro == 24 ) then local Color1 = dbQuery(link1, "SELECT Color1 FROM clanes WHERE NombreClan='".. Guild .."'") local queryResultC1 = dbPoll ( Color1 , -1 ) local C1 = queryResultC1[1]['Color1'] local Color2 = dbQuery(link1, "SELECT Color2 FROM clanes WHERE NombreClan='".. Guild .."'") local queryResultC2 = dbPoll ( Color2 , -1 ) local C2 = queryResultC2[1]['Color2'] local Color3 = dbQuery(link1, "SELECT Color3 FROM clanes WHERE NombreClan='".. Guild .."'") local queryResultC3 = dbPoll ( Color3 , -1 ) local C3 = queryResultC3[1]['Color3'] for index, cInRBM in ipairs ( csInRBM ) do givePlayerMoney ( cInRBM, 3000 )--aca le paga a los ganadores. EstaAtacando2 = false triggerClientEvent ( cInRBM, "GanasteTurf", cInRBM,C1,C2,C3 ) Turf2MinutosPro = 0 if (isTimer(ProbocaTimer2)) then killTimer (ProbocaTimer2) end end setRadarAreaColor ( Turfs2, C1, C2, C3, 175 ) setRadarAreaFlashing ( Turfs2, false ) local GuardaNuevoDue = dbQuery ( link1, "UPDATE turf SET Turf2 =?", Guild) end Turf2MinutosPro = Turf2MinutosPro + 1 end end ,10000, 25 --60000 ) else triggerClientEvent ( thePlayer, "MiTurf", thePlayer ) if EstaAtacando2 == true then --aca esta atacando! por lo que intentamos defender. DefensaTimer2 = setTimer ( function ( ) csInRBM = getCriminalsInMarkerDefensa2 ( source ) if #csInRBM >= tonumber(MinimoInTurf2) then if ( Turf2MinutosDef == 0 ) then outputChatBox ( "Congratulations, #FFFF00 defendiendo 0!", csInRBM, 0, 255, 0, true ) elseif ( Turf2MinutosDef == 1 ) then outputChatBox ( "Congratulations, #FFFF00 defendiendo 1!", csInRBM, 0, 255, 0, true ) elseif ( Turf2MinutosDef == 2 ) then outputChatBox ( "Congratulations, #FFFF00 defendiendo 2!", csInRBM, 0, 255, 0, true ) elseif ( Turf2MinutosDef == 3 ) then for index, cInRBM in ipairs ( csInRBM ) do if (isTimer(ProbocaTimer2)) then killTimer (ProbocaTimer2) end setRadarAreaFlashing ( Turfs2, false ) --ponemos el turf normal. for index, cInRBM in ipairs ( csInRBM ) do givePlayerMoney ( cInRBM, 2000 )--aca le pagamos por defender. Turf2MinutosPro = 0 --ponemos los minutos de probacacion en 0 Turf2MinutosDef = 0 --ponemos los minutos de defensa en 0 EstaAtacando2 = false --ponemos que no lo atacan mas. end end end Turf2MinutosDef = Turf2MinutosDef + 1 end end ,15000, 3 ) -- end end end end end end addEventHandler ( "onColShapeHit", Turf2, EntraTurf2 ) function SaleTurf2 ( thePlayer, matchingDimension ) local account = getPlayerAccount(thePlayer) local accountName = getAccountName(account) if getPlayerTeam ( thePlayer ) == getTeamFromName ( "Criminal" ) then --Aca que compruebe que sea del guild atacante.! money = dbQuery(link1, "SELECT usuario FROM clanmiembros WHERE usuario='".. accountName .."'") local queryResult = dbPoll ( money , -1 ) if queryResult[1]['usuario'] == accountName then money1 = dbQuery(link1, "SELECT clan FROM clanmiembros WHERE usuario='".. accountName .."'") local queryResult1 = dbPoll ( money1 , -1 ) local Guild = queryResult1[1]['clan'] if (Guild == GuildAtacante2 ) then csInRBM = getCriminalsInMarker2
  8. JuanM27

    Numeros

    agregas una funcion... function aClientEditChanged () if ( guiGetText ( editBox ) ~= "" ) then --editBox es la caja de Texto. local input = tonumber ( guiGetText ( editBox ) ) if ( not input ) then guiSetText ( editBox, string.gsub ( guiGetText ( editBox ), "[^%d]", "" ) ) elseif ( input > 9999 ) then guiSetText ( editBox, "9999" ) elseif ( input < 0 ) then guiSetText ( editBox, "0" ) end end return end y agregas el evento.. ejemplo addEventHandler ( "onClientGUIChanged", theWindow, aClientEditChanged ) el evento lo puedes poner en el menushow por ejemplo.... etc.
  9. https://community.multitheftauto.com/index.php?p=resources&s=details&id=5674 Script CLG stolen from my server which I copied it as is. even changed the name to the file and well I would like to denounce this action for several reasons 1º Recursos the original (mine) is private. 2º those who download this script will say that is wrong 3º give a bad name to my server 4º published something of mine, completely without permission. DONE
  10. buenas a todos, bueno le cuento, estoy empesando a utilizar archivos xml, yo tengo un archivo xml con estos datos "Antena 1" URL="http://173.192.70.157:7150" /> "Rock Radio" URL="http://176.31.235.147:8000" /> y en el client side tengo. MisRadios = { name = { } , url = { } } y las funciones que lee el archivo xml function loadRadios( ) local file_root = xmlLoadFile( "streams.xml" ) local sub_node = xmlFindChild( file_root, "radio", 0 ) local i = 1 while sub_node do MisRadios.name[ i ] = xmlNodeGetAttribute( sub_node, "Name" ) MisRadios.url[ i ] = xmlNodeGetAttribute( sub_node, "URL" ) sub_node = xmlFindChild( file_root, "radio", i ) i = i + 1 end end bueno hasta aca viene bien el script. pero el problema es en esta funcion function cargaRadios() for id, RadiosName in ipairs(MisRadios.name) do rowR = guiGridListAddRow ( ListaRadios ) guiGridListSetItemText ( ListaRadios, rowR, columnRadios, RadiosName, false, false ) guiGridListSetItemColor ( ListaRadios, rowR, columnRadios, 0, 255, 0 ) end end hasta hay me pone los nombre de las radios en la lista, eso viene bien, pero se me complico cuando intente ponerle el guiGridListSetItemData con las urls alguien me puede explicar por favor? pd: intente haciendo un for do con MisRadios.url pero no me anda. necesito hacer eso para luego obtener la url cuando le hacen click bueno saludos
  11. CLG 2.0 es un server RPG con una gran veridad de jobs la Jugabilidad es muy buena entre los players activos, no hay peleas, ni isultos y eso es lo bueno de un servidor donde no hay discuciones, en server para decir verdad esta inspirado al gran servidor del cit, pero con la gran diferencia de que no somos racista, como dicho server, en clg los administradores no de tan mute por escribir en el chat en idioma ingles o español el servidor aun sigue con algunas fallas minimas pero dia a dia lo vamos mejorando y ya llebamos mas de 8 meses programandolo, pero tan solo 1 mes abierto al publico saludos
  12. ah no me di cuenta. bueno hay funciona, muchas gracias solid
  13. ah listo hay lo modifique y (anda) pero con un error. cuando escribo algo en el edit la lista de player se vacia, y en debugscript me dice lo siguiente Bad argument @ 'guiGridListSetItemText' [Expedted number at argument 2, got nil] ah debido a que sale ese waning?
  14. Celular2 = guiCreateStaticImage( 450,0,350,1000, "imagenes/ipad.png", false) info20 = guiCreateLabel(0.40,0.13,0.9,0.3,"Marcar Players",true,Celular2) guiLabelSetColor(info20, 0, 255, 0) BuscaPlayer = guiCreateEdit(0.13, 0.17, 0.50, 0.06, "", true, Celular2) Find = guiCreateStaticImage( 250,115,20,20, "imagenes/search.png", false, Celular2) Players = guiCreateGridList(0.12, 0.25, 0.76, 0.50, true, Celular2) column = guiGridListAddColumn( Players, "Players", 0.93, true, Celular2 ) function cargaplayer() for id, player in ipairs(getElementsByType("player")) do local row = guiGridListAddRow ( Players ) guiGridListSetItemText ( Players, row, column, getPlayerName ( player ), false, false ) end end function guiClick1 (button, state, absoluteX, absoluteY) if (source == PlayerBl) then -- Para player blips. guiGridListClear ( Players ) cargaplayer() addEventHandler ( "onClientGUIChanged", Celular2, BuscaPlayer ) guiSetVisible ( Celular2, true ) guiSetVisible ( Celular, false ) end end addEventHandler ("onClientGUIClick", getRootElement(), guiClick1) ese es el codigo que hice, si hace falta pongo la otra parte de codigo que es del menu del cecular que estoy haciendo.
  15. hola que tal, tengo un problema. hice una gui con un Texto (guiCreateEdit), y una lista que carga todos los players. hasta hay vamos bien. lo que pasa es que no me funciona el evento onClientGUIChanged (porque seguramente lo hice mal) bueno en el evento puse lo siguente. function BuscaPlayer () if ( source == BuscaPlayer ) then -- el editbox guiGridListClear ( Players ) local text = guiGetText ( BuscaPlayer ) if ( text == "" ) then for id, player in ipairs(getElementsByType("player")) do local row = guiGridListAddRow ( Players ) guiGridListSetItemText ( Players, row, column, getPlayerName ( player ), false, false ) end else for id, player in ipairs ( getElementsByType ( "player" ) ) do if ( string.find ( string.upper ( getPlayerName ( player ) ), string.upper ( text ), 1, true ) ) then guiGridListSetItemText ( Players, row, column, getPlayerName ( player ), false, false ) end end end end end pero no lo hace, y en el debugscript no me sale ningun error, ni warning, por que sera? saludos
  16. ah listo gracias solid. yo sabia del getPlayerFromName. pero no del isElement.
  17. hola que tal bueno tengo una duda, no se si existe alguna funcion para saber si algun jugador este conectado, es decir por ejemplo que devuelva un true si esta conectado o un false si no lo esta. nose si me explique bien de lo que ando buscando. bueno saludos
  18. Si eres principiante mejor empieza con cosas mas simples... Tengo todo los job de trabajo y lo de la tienda solo me falta el Turf. si queres hacer las guerras de clanes. entonces te faltaria hacer primero lo clanes (gans) ya que las guerras de turf es clan vs clan
  19. puedes crear la cuenta en una base de datos, y cuando abres el main que verifique si la direcion de email y la pass son validas. lo mismo puedes guardar los email enviados en la base de datos, y luego que sean visible por el cliente que esta viendo su email si es a eso a lo que te refieres
  20. function apuertap () local equipo = getPlayerTeam ( source ) --obtienes el team del player if (equipo == "Policias") then --el policia es el tean a comprobar que sea el player outputChatBox("hola", source) --si es policia le dice hola else outputChatBox("No eres policia", source) --si no es policia le dice que no es... end end addCommandHandler ("app", apuertap)
  21. claro como lo estoy haciendo, bueno gracias y saludos
  22. Buenas tardas a todos tengo una duda de si es posible y como, hacer un interior en especial tengo audio. yo lo estoy haciendo con playSound3D, pero asi se lo tengo que enviar a todos los user que entren a ese interior. y me gustaria saber si existe alguna otra forma para que ese interior tenga sonido, y no estar mandaselo a todos los players.. tal ves me di de expresar mal. espero que me entiendan. saludos
  23. ah, tenia mal echo el Paquete con el setElementData hay me funciona bien Muchas Gracias Solid.
  24. pregunto aca para no hacer todo tema. por que no me anda esto, si no estoy en el int y dim 0? es decir yo estoy en una casa y no me crea el pickup pero si estoy afuera si. local x, y, z = getElementPosition(source) local int = getElementInterior(source) local dim = getElementDimension(source) outputChatBox("estas en el int " .. int .. " y en la dim " .. dim, source, 0, 255, 0 ) local Paquete = setElementData(createPickup(x - 1.5, y - 1.5 , z, 3, 1279), "Drup2", input) setElementDimension(Paquete, dim) setElementInterior(Paquete, int) en debugscript me sale estos warnings Bad Argument @ 'setElementInterior' y lo mismo con setElementDimension
×
×
  • Create New...