Jump to content

[QUEST]Quest de Cofres


Tiico™

Recommended Posts

Holaaa , hace unas horas estaba mirando unas quest , etc y vi el  "math.random" donde puse a prueba mi conocimiento :c y les hice esta quest que va de lujo , Se trata de que cada cofre te da un item tiene 1 % de 6 % de prob.

quest sistema_de_cofres begin	state start begin		when 50137.use begin			say_title("Cofre Amarillo:")			say("Hola "..pc.get_name().."")			say("Este es un cofre muy maravilloso,")			say("El cual si lo abres te dara items realmente")			say("Buenisimos  .")			say("Para Abrir el cofre , es necesario tener")			say("La llave amarilla:")			say_item_vnum(50155)			wait()			say("Bueno como ves , tienes que tener")			say("Esa llave.")			say_reward("Deseas abrir el cofre?")			local s = select ("Si","No")							if s == 2 then				return				end				if s == 1 then									if pc.count_item(50155) == 0 then						say_title("Cofre Amarillo:")						say("No tienes ninguna llave para")						say("abrir el Cofre Amarillo.")					end										say_title("Cofre Amarillo:")					say("Bien , por haber abrido el cofre")					say("Se te ha dado una recompensa , fijate.")					local premio = {12345,12341,12345,12346,12575,12396}					pc.give_item2(premio[math.random(1,6)])				end		end	endend

Espero mis +1 porfis ..

Link to comment
Share on other sites

  • 1 year later...

No revivas post antiguos,feo xD

ya me di cuenta xD

 

Pero me funciono.

con un pequeño error.

quest sistema_de_cofres begin	
state start begin		
when 50137.use begin			
say_title("Cofre Amarillo:")			
say("Hola "..pc.get_name().."")			
say("Este es un cofre muy maravilloso,")			
say("El cual si lo abres te dara items realmente")			
say("Buenisimos  .")			
say("Para Abrir el cofre , es necesario tener")			
say("La llave amarilla:")			
say_item_vnum(50155)			
wait()			
say("Bueno como ves , tienes que tener")			
say("Esa llave.")			
say_reward("Deseas abrir el cofre?")			
local s = select ("Si","No")							
if s == 2 then				
return				
end				
if s == 1 then									
if pc.count_item(50155) == 0 then						
say_title("Cofre Amarillo:")						
say("No tienes ninguna llave para")						
say("abrir el Cofre Amarillo.")					
end										
say_title("Cofre Amarillo:")					
say("Bien , por haber abrido el cofre")					
say("Se te ha dado una recompensa , fijate.")					
local premio = {10,11,12,13,14,15,16,17,18,19}					
pc.give_item2(premio[math.random(1,9)])
pc.remove_item(50155)
pc.remove_item(50137)	
end		
end	
end
end

Cuando Le das click al  Cofre,  aun que no tengas las llave auna si de da

El item

Link to comment
Share on other sites

  • 4 years later...
En 29/5/2015 a las 14:24, PENTAGRAMA dijo:

ya me di cuenta xD

 

Pero me funciono.

con un pequeño error.


quest sistema_de_cofres begin	
state start begin		
when 50137.use begin			
say_title("Cofre Amarillo:")			
say("Hola "..pc.get_name().."")			
say("Este es un cofre muy maravilloso,")			
say("El cual si lo abres te dara items realmente")			
say("Buenisimos  .")			
say("Para Abrir el cofre , es necesario tener")			
say("La llave amarilla:")			
say_item_vnum(50155)			
wait()			
say("Bueno como ves , tienes que tener")			
say("Esa llave.")			
say_reward("Deseas abrir el cofre?")			
local s = select ("Si","No")							
if s == 2 then				
return				
end				
if s == 1 then									
if pc.count_item(50155) == 0 then						
say_title("Cofre Amarillo:")						
say("No tienes ninguna llave para")						
say("abrir el Cofre Amarillo.")					
end										
say_title("Cofre Amarillo:")					
say("Bien , por haber abrido el cofre")					
say("Se te ha dado una recompensa , fijate.")					
local premio = {10,11,12,13,14,15,16,17,18,19}					
pc.give_item2(premio[math.random(1,9)])
pc.remove_item(50155)
pc.remove_item(50137)	
end		
end	
end
end

Cuando Le das click al  Cofre,  aun que no tengas las llave auna si de da

El item

cual seria la solucion? 

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 year later...

Caanmasu este que tal?

quest regalo_navidad begin
    state start begin
        when 50137.use begin
            say_title("Regalo de Navidad")
            say("Te lo has ganado"..pc.get_name().."")
            say("Este es un regalo muy maravilloso,")
            say("si lo abres te dara")
            say("items realmente buenisimos.")
            say_reward("Deseas abrir el cofre?")
            local s = select ("Si","No")
                if s == 2 then
                    return
            elseif s == 1 then
            say("Bien, has recibido este magnifico regalo") 
            local premio = {11,12,13,14,15,16,17,18,19}
            pc.give_item2(premio[math.random(1,9)])
            pc.remove_item(50137)
        end
    end

Seria random, sin pedir otro objeto?

Ahora esta arreglada

En 22/8/2019 a las 11:05, caanmasu dijo:

Poner un else en el if

if pc.count_item(50155) == 0 then

else

%%abrir premios

end

%%resto de ends

 

 

 

Link to comment
Share on other sites

En 22/8/2019 a las 11:05, caanmasu dijo:

Poner un else en el if

if pc.count_item(50155) == 0 then

else

%%abrir premios

end

%%resto de ends

 

Maestro, me puedes decir como va todo en la carpeta object, es que mi ./qc no funciona y libs estan mal

asi que voy cargando todo a mano en stat button info login y todos los numeros de object para que mis quest funcionen

y ahora no se donde va la 'math.random'

 

Me ayudaria mucho si pones la ubicacion de algunas funciones mas de la quest que van a object y en sus subcarpetas que en tu tutorial no he visto

como lo de los baules que ahora encontre va en otra carpeta tambien o los objetos que van en 50000 mas o menos u otros ID

 

Link to comment
Share on other sites

Tienes un lio montao con tu object tio... que ahi no tienes que editar nada, creo que ya comente otro post yo...  dale permisos 0777 a tu ./qc y listo, cargas tu quest normales

en algunos casos seria asi:

cd /usr/game/share/locale/germany/quest     (esta es una ruta, no necesariamente todos tienen la misma)

./qc  eventos.quest  

Link to comment
Share on other sites

Para que el sistema agarre un objeto al azar dinámicamente debes hacer esto:

local items = {19, 29, 39, 49, 59} --lista de vnum de ítems
pc.give_item2(items[number(1, table.getn(items))])

Si te enredaste, míralo de esta forma, que es lo mismo:

local items = {19, 29, 39, 49, 59} --lista de vnum de ítems
local cant_items = table.getn(items) --table.getn arroja la cantidad de elementos que hay en la tabla enviada
local item_elegido = number(1, cant_items) --en este caso number elige un número al azar entre 1 y la cantidad de elementos...
pc.give_item2(items[item_elegido])

number es lo mismo que math.random

Link to comment
Share on other sites

hace 8 horas, Freddy Di Maria dijo:

Maestro, me puedes decir como va todo en la carpeta object, es que mi ./qc no funciona y libs estan mal

asi que voy cargando todo a mano en stat button info login y todos los numeros de object para que mis quest funcionen

y ahora no se donde va la 'math.random'

 

Me ayudaria mucho si pones la ubicacion de algunas funciones mas de la quest que van a object y en sus subcarpetas que en tu tutorial no he visto

como lo de los baules que ahora encontre va en otra carpeta tambien o los objetos que van en 50000 mas o menos u otros ID

 

Intenta lo que te dice Zauron, clic en Propiedades al archivo qc, le pones en Permisos el 777. E intenta ejecutarlo de nuevo. Si no funciona, escríbeme al Discord

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...