Ayuda con programación npc

Topic created · 3 Mensajes · 294 Visitas
  • Bueno quise hacer un npc banco, y si, lo admito, guiandome un poco al principio con el de DjZed xD.
    El caso es que uso un npc cualquiera, y le meto la opcion de banco. Cuando le doy a esa opción, no sale nada, lo que quiere decir que el código está mal, pero no se en dónde.

    Aquí el código:

    say_title ( "Bienvenido al Banco de metin" )
    say ( "Que tipo de consulta quieres hacer?" )
    local a = select ( "Dipositar yang","Retirar yang","Como funciona?","Nada gracias" )
    if a == 1 then
    say ( "Cuanto quieres dipositar?" )
    local b = select ( "1kkk","500kk","250kk","Cancelar" )
    if b == 1 then
    if pc . gold >= 1000000000 then
    pc . changegold ( - 1000000000 )
    pc . give_item2 ( "30082" , 1 )
    say ( "Has dispositado los 1kk satisfactoriamente!" )
    say ( "Vuelve cuando quieras." )
    else
    say ( "No tienes 1kkk de yang" )
    say ( "vuelve cuando lo tengas." )
    return
    end
    elseif b == 2 then
    if pc . gold >= 500000000 then
    pc . changegold ( - 500000000 )
    pc . give_item2 ( "30082" , 1 )
    say ( "Vuelve cuando quieras." )
    else
    say ( "No tienes 500kk de yang," )
    say ( "vuelve cuando lo tengas." )
    return
    end
    elseif b == 3 then
    if pc . gold >= 250000000 then
    pc . changegold ( - 250000000 )
    pc . give_item2 ( "9493" , 1 )
    say ( "Has dispositado los 250kk satisfactoriamente!" )
    say ("Vuelve cuando quieras.")
    else
    say( "No tienes 250kk de yang," )
    say( "vuelve cuando lo tengas." )
    return
    end
    elseif b == 4 then
    end
    elseif a == 2 then
    say( "Cuanto deseas retirar?" )
    local c = select ( "1kk","500kk","250kk","Cancelar" )
    if c == 1 then
    if pc . count_item ( 9491 ) >= 1 then
    pc . remove_item ( 9491 , 1 )
    pc . changegold ( 1000000000 )
    say ( "Se han retirado los 1kkk satisfactoriamente!" )
    say ( "Vuelve cuando quieras." )
    else
    say ( "No tienes el cheque correspondiente." )
    return
    end
    elseif c == 2 then
    if pc . count_item ( 9492 ) >= 1 then
    pc . remove_item ( 9492 , 1 )
    pc . changegold ( 500000000 )
    say ( "Se han retirado los 500kk satisfactoriamente!" )
    say ( "Vuelve cuando quieras." )
    else
    say ( "No tienes el cheque correspondiente." )
    return
    end
    elseif c == 3 then
    if pc . count_item ( 9493 ) >= 1 then
    pc . remove_item ( 9493 , 1 )
    pc . changegold ( 250000000 )
    say ( "Se han retirado los 250kk satisfactoriamente!" )
    say ( "Vuelve cuando quieras." )
    else
    say ( "No tienes el cheque correspondiente." )
    return
    end
    elseif c == 4 then
    end
    elseif a == 3 then
    say_title ( "Banco Metin2" )
    say ( "Este es el banco de mi servidor.")
    say ( "Cuando tengas demasiado yang en tu inventario, por seguridad" )
    say ( "puedes cambiar este por cheques equivalentes a esa cantidad." )
    say ( "Cuando quieras el dinero de vuelta, solo tienes que retirar" )
    say ( "el dinero mediante el cheque." )
    return
    end
    elseif a == 4
    return
    end
    

    Si lo he posteado en el lugar inadecuado, mover el post donde haga falta.
    Saludos

  • man pero eso como lo as añadido?? dentro de la carpeta object o dentro de la carpeta quest??

    no se explicate mejor....

    en un principio lo tienes que crear a la carpeta quest....

  • Immatable, la verdad es que si que he dado pocas explicaciones xD.
    Haber, he aprovechado el npc que sube el karma. He entrado en quest/object/20067/chat y le he agregado otra opción.

    Como?

    He visto que para cada opción hay un archivo .arg, un archivo .script y otro .when.
    Archivo .arg : hay el nombre de la opcion que te sale al darle chat al npc.
    Archivo .script : hay el programa que realizará una vez dado al nombre de la opción anterior.
    Archivo .when : vacío xD

    Por lo tanto he añadido otros 3 archivos (cambiando el 0 o 1, por el 2, de tercera opcion posible) y los he modificado apropiadamente. En el .arg he puesto "Banco" y si, eso al menos me sale al hablar con el npc xD. El problema está en el .script, que la sintaxis del programa no debe ser la correcta, pk cuando le doy a la opción no sale nada. Ese programa es el posteado anteriormente.

    Y ese método de por si, sí que funciona, porque en este mismo npc he añadido ya otra opción, y ésta funciona (namás faltaría, es un sencillo programa que te da un 5 bonus xD).

    Espero haberme explicado mejor que antes.

    Saludos