Jump to content

Dextrok

Quest Master
  • Content Count

    111
  • Joined

  • Last visited

  • Days Won

    4

Dextrok last won the day on September 28 2013

Dextrok had the most liked content!

About Dextrok

  • Rank
    Interesado
  • Birthday 12/08/1993

Recent Profile Visitors

1,490 profile views
  1. Segun lo que has puesto y lo que entiendo este sería tu resultado, pero ni siquiera explicas que es categoria, y que debería de hacer exactamente el programa. items = {--ID_categoria, ID_item, vnum, cantidad, precio, itemCostType, attr1, val1, attr2, val2, attr3, val3, attr4, val4, attr5, val5, attr6, val6, attr7, val7, sock1, sock2, sock3, Descripcion{1, 1, 149, 1, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "Espada Batalla +9"},{1, 2, 19, 1, 200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "Espada +9"}}local categoria = input(cmdchat("GetISBuyID")) --- esto devuelve 1 valor a la questlocal id = input(cmdchat("GetISBuyID2")) --- esto devuelve 1 valor a la questchat("categoria: "..categoria.." id: "..id)if categoria == items[1][1] and id == items[2][1] then chat("categoria:"..items[1].." y id "..items[2]) mysql_query("UPDATE account.account SET coins = coins-"..items[5].." WHERE id = "..pc.get_account_id().." LIMIT 1;") pc.give_item2(items[3], items[4])end
  2. Si pero como dijiste arriba se va a los 10 minutos el efecto de cada bono.
  3. quest two_uses begin state start begin when 715689.use with pc.getqf("two_uses") < 2 begin affect.add_collect(apply.ATT_BONUS_TO_MONSTER,10,60*10) affect.add_collect(apply.ATT_GRADE_BONUS, 100, 60*10) affect.add_collect(apply.DEF_GRADE_BONUS, 100, 60*10) affect.add_collect(apply.MAX_HP, 1000, 60*10) pc.setqf("two_uses", pc.getqf("two_uses")+1) end endend Aca esta, con eso solo se podrá usar por 10 minutos, les ajuste a todos los bonos un efecto de 10 minutos.
  4. Ah no Yori, el error fue mio lo que pasa que ayer no había probado la app con items que tenían bonos pero podrías agergarle el yang del personaje, en caso de que tuvieras pensado sacar una nueva versión, pero de todas maneras está perfecta.
  5. Yori muy buena iniciativa el unico detalle que le veo a la aplicación es que te da muy pocos datos de los items, si ampliaras eso fuera un exito total la app.
  6. quest reiniciar_habilidades begin state start begin when iditem.use begin pc.set_skill_group(0) end endendquest reiniciar_estado begin state start begin when iditem.use begin pc.clear_skill() end endend
  7. quest myexp begin state start begin when kill with not npc.is_pc() and pc.getqf("block_exp") == 1 begin pc.give_exp(-pc.get_next_exp() + pc.get_exp()) end when iditem.use begin if pc.getqf("block_exp") == 1 then pc.setqf("block_exp", 0) else pc.setqf("block_exp", 1) end end endend
  8. Bueno, luego de investigar un poco estuve buscando la de Mijago y es esta: function select2(tab,...) arg.n = nil if type(tab) ~= "table" and type(tab) == 'number' then table.insert(arg,1,tab) tab = arg elseif type(tab) ~= "table" and type(tab) == 'string' then table.insert(arg,1,tab) table.insert(arg,1,8) tab = arg elseif type(tab) == "table" and type(tab[1]) == 'string' then table.insert(tab,1,8) end local max = tab[1]; table.remove(tab,1) local tablen,outputstr,outputcount,nextc,incit = table.getn(tab),"",0,0,0 table.foreach(tab, function(i,l) outputcount = outputcount + 1 if outputcount == 1 then outputstr=outputstr..'sel = select("'..l..'"' elseif outputcount == max and tablen > outputcount+incit then if tablen ~= outputcount+incit+1 then outputstr=outputstr..',"'..l..'","Nächste Seite") + '..incit..' ' if nextc > 0 then outputstr = outputstr..'end ' end outputstr=outputstr..'; if sel == '..(incit+max+1)..' then ' -- Anfangen der neuen Abfrage nextc, outputcount, incit= nextc+1,0,incit+max else outputstr=outputstr..',"'..l..'"' end else outputstr=outputstr..',"'..l..'"' end end ) outputstr = outputstr..') + '..incit if nextc > 0 then outputstr = outputstr..' end' end outputstr= outputstr.. '; return sel' print(outputstr) local sel = assert(loadstring(outputstr))() tablen,outputstr,outputcount,nextc,incit = nil,nil,nil,nil,nil -- Speicher freimachen return selend
  9. Me disculpan si esta función tiene coincidencia IDENTICA con otras, tal vez estuvo mal de mi parte no haberme informado sobre la existencia de estas en otros lugares, pero la verdad no la había visto antes, por eso me decidí a crearla.
  10. Buenas Metineros, muchas veces nosotros queremos hacer menus bien grandes y nos resulta un problema como este: Por lo que en el código nos vemos limitados a algo como esto: local r = select("valor1", "valor2", "valor3", "valor4", "valor5", "Ay ya no cabe mas") Y la solución que le damos es crear menus anidados: local r = select("valor1", "valor2", "valor3", "valor4", "valor5", "Más")if r == 6 then local otromenu = select("valor6", "valor7", "valor8", "valor9", "valor10", "Más") if otromenu == 6 then local otromenumas = select("valor11", "valor12", "valor13", "valor14", "valor15", "Más") endend Lo cuál resulta muy tedioso y casi nadie lo hace. Yo he creado una función de ayuda tremenda para hacer estas cosas (no se si sea el único que vea esta necesidad) pero bueno. consiste en lo siguiente: local x = select2(5, "valor1", "valor2", "valor3", "valor4", "valor5", "valor6", "valor7","valor8", "valor9", "valor10", "valor11", "valor12", "valor13", "valor14", "valor15", "valor16","valor17", "valor18", "valor19", "valor20", "valor21", "valor22", "valor23", "valor24", "valor25","valor26", "valor27") --etc etc etc El primer valor, SIEMPRE va a ser la limitación de cuantos quieres que te aparezcan cada vez, o sea en este caso los valores se van a mostarar de 5 en 5, no importa la cantidad que les pongas, si cambias el 5 por un 3 se van a mostarr de 3 en 3 y así sucesivamente. Fijense bien. Si seleccionan "valor1" , x = 1 Si seleccionan "valor2", x = 2 Si seleccionan "valor15", x = 15 Lo cuál quedaría algo así, pero ya la verán con más detalle cuando la prueben: Y finalmente con ustedes dejamos la mágica: --Do not change this is magic function select2(limit, ...) if limit < 1 then limit = 1 end local cicle, val = 0, 0 local next, cancel = "Mas", "Cancelar" while true do t = {} for i = 1, limit do if arg[1] ~= nil then table.insert(t, arg[1]) table.remove(arg, 1) end end if arg[1] ~= nil then table.insert(t, next) end table.insert(t, cancel) val = select_table(t) if val == table.getn(t) then break elseif val == table.getn(t) - 1 and arg[1] ~= nil then cicle = cicle + limit else return (cicle+val) end val = 0 endend Esa es la función, la colocan dentro del questlib, y ya en todas sus quest la podrán utilizar, llamandola como en el ejemplo de arriba.
  11. Dextrok

    Quest atraer mobs

    Interesante, Interesante. Esta función es útil para quitar el cabo, y colocar esta quest en un item. La ventaja que veo en esto es que se pueden limitar los mapas en los que quieres que se utilicen los cabos.
  12. quest gm_list begin state start begin when letter begin send_letter("GM Quest") end when button or info begin local GM_LIST = { "GM1", "GM2", "GM3", "GM4" } for i = 1, table.getn(GM_LIST) do if game.get_event_flag(GM_LIST[i]) == 1 then say("GM " .. GM_LIST[i] .. " is Online") else say("GM " .. GM_LIST[i] .. " is Offline") end end end when login with pc.is_gm() begin game.set_event_flag(pc.get_name(), 1) end when logout with pc.is_gm() begin game.set_event_flag(pc.get_name(), 0) end endend
×
×
  • Create New...