Comparte
Ver el tema anteriorIr abajoVer el tema siguiente
avatar
Miembro
Mensajes Mensajes : 13
Ver perfil de usuario

[Lua] Peaje, (Sistema de)

el Dom Mayo 20, 2012 10:01 pm
¡Buenas!

intente hacer/conseguirme un sistema de peaje que cuando tiras una palanca, te cobre una determinada cantidad de oro, te teletransporte al otro lado (de un puente, por ejemplo) y genere otras cantidades de oro en otras coordenadas, y obtuve finalmente esto:

Código:

local t = {
   [1001] = {
      cost = 50,
      pos = {
         {x = 100, y = 100, z = 7}, -- where the player goes.
         {x = 100, y = 100, z = 7}, -- where the gold is created (spot 1).
         {x = 100, y = 100, z = 7} -- where the gold is created (spot 2).
      }
   }
}
 
function onUse(cid, item, fromPosition, itemEx, toPosition)
   local v, k = t[item.actionid], item.itemid == 1945
   if(v and k) then
      if(not doPlayerRemoveMoney(cid, v.cost)) then
         return doPlayerSendCancel(cid, "You do not have enough money."), doSendMagicEffect(getThingPosition(cid, CONST_ME_POFF)
      else
         local b, c = getTileItemById(v.pos[2], 2148), getTileItemById(v.pos[3], 2148)
         if(b.type > 0 or c.type > 0) then
            doRemoveItem(b.uid)
            doRemoveItem(c.uid)
         end
 
         doTeleportThing(cid, v.pos[1], false)
         doCreateItem(2148, math.random(10, v.cost), v.pos[2])
         doCreateItem(2148, math.random(10, v.cost), v.pos[3])
         doSendMagicEffect(v.pos[1], CONST_ME_TELEPORT)
         doSendMagicEffect(v.pos[2], CONST_ME_ENERGYAREA)
         doSendMagicEffect(v.pos[3], CONST_ME_ENERGYAREA)
              end
         end
   return doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
      end
end

El asunto es que intenté hacerlo, pero no funciono por lo cual me consegui uno por allí que está hecho a pedido, pero el problema es que esta malo, le faltaba un "end" y no funcionaba, así que se lo agrege, y ¿que creen?, pués sigue sin funcionar. xD

¿Creen que podrían revisarlo y ver si pueden arreglarlo/crearlo y dejarlo funcionando?

trate de agregar dicho "end" al final del script para arreglarlo, pero incluso después de ponerlo el script no se arreglo, el problema especifico del script es (Según la consola) las lineas 15 y 16:

y no se como arreglarlo pues no sé como cerrar o terminar un return :S

Código:

(...)
if(not doPlayerRemoveMoney(cid, v.cost)) then -- line 15
         return doPlayerSendCancel(cid, "You do not have enough money."), doSendMagicEffect(getThingPosition(cid, CONST_ME_POFF) -- line 16
      else
         local b, c = getTileItemById(v.pos[2], 2148), getTileItemById(v.pos[3], 2148)
         if(b.type > 0 or c.type > 0) then
            doRemoveItem(b.uid)
            doRemoveItem(c.uid)
         end
 
         doTeleportThing(cid, v.pos[1], false)
         doCreateItem(2148, math.random(1, v.cost), v.pos[2])
         doCreateItem(2148, math.random(1, v.cost), v.pos[3])
         doSendMagicEffect(v.pos[1], CONST_ME_TELEPORT)
         doSendMagicEffect(v.pos[2], CONST_ME_ENERGYAREA)
         doSendMagicEffect(v.pos[3], CONST_ME_ENERGYAREA)
      end
   end -- end line 15
(...)

Este es el error como se ve en la consola.



¿Crees que puedas ayudarme con esto?

Voy a postearlo en otra sección también, pues no se muy bien donde postearlo

¡Bendiciones, Alegrías y Gracias de antemano!
(Y)(Y)


-Obsdark-
avatar
Administrador
Mensajes Mensajes : 350
Ver perfil de usuariohttp://www.othispano.net

Re: [Lua] Peaje, (Sistema de)

el Dom Mayo 20, 2012 10:29 pm
Ver el tema anteriorVolver arribaVer el tema siguiente
Permisos de este foro:
No puedes responder a temas en este foro.