BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

Script random

Script random

#1 Script random el Miér Abr 29, 2015 10:52 pm

rodowood


Estudiante
Como se pone en un script un resultado random... por ejemplo

Código:
f getPokemonName(item2.uid) == "Eevee" then

      local eevee = ""

      if item.itemid == thunder then
         eevee = "Jolteon"
      elseif item.itemid == water then
         eevee = "Vaporeon"
      elseif item.itemid == fire then
         eevee = "Flareon"
      elseif item.itemid == enigma and allEvolutionsCanBeInduzedByStone then
         eevee = "Espeon"
      elseif item.itemid == dark and allEvolutionsCanBeInduzedByStone then
         eevee = "Umbreon"
      else

Lo que quiero es que cierta stone, de una evolucion al asar de entre 3, sobre agregar la stone, sprite y eso no ahi problema solo al escribir el resultado random.. y si se puede con probabilidad mejor por ejemplo "jolteon 30%" "vaporen 50%" "Espeon 20%" algo asi

de antemano gracias

#2 Re: Script random el Jue Abr 30, 2015 7:58 pm

rodowood


Estudiante
@up

#3 Re: Script random el Vie Mayo 01, 2015 6:05 pm

ArcaniaOnline


Miembro
Código:
math.random(1,5)

#4 Re: Script random el Vie Mayo 01, 2015 11:25 pm

rodowood


Estudiante
y en que partese pondria?

#5 Re: Script random el Sáb Mayo 02, 2015 5:38 am

Belerofonte


Administrador
1. ¿Querrás que se conserve el otro script de las piedras para transformar a Eevee a una evolución en concreto?, ¿o será sustituido por esta forma random que pides?.

2. ¿Lo quiéres también para los Shiny Eevee?

3. Pásame el script que tengas ubicado en tu Servidor/Data/Actions/Scripts/... en el archivo.lua llamado evolution.



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

#6 Re: Script random el Dom Mayo 03, 2015 3:40 pm

rodowood


Estudiante
Lo que quiero es una piedra item xxx.. con evolucion random para eevee.. una piedra mas.. ya la tengo agregada solo me falta la funcion de evolucion al azar en eevee

#7 Re: Script random el Lun Mayo 04, 2015 7:23 am

Belerofonte


Administrador
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Lo que quiero es una piedra item xxx.. con evolucion random para eevee.. una piedra mas.. ya la tengo agregada solo me  falta la funcion de evolucion al azar en eevee
Valep. Sí, lo otro del random lo entendí con tu primer post, y ya lo tengo hecho.

Pero necesitaba que me respondieras a las otras 2 preguntas, para saber si implementarlo en los Shiny Eevee, y la otra para unirlo a tu script de evolution de stones normales para no tener que repetir esas mismas funciones y ahorrar espacio, pero bueno...

Servidor/Data/Actions/... Actions.xml
Código:
<action itemid="2556" event="script" value="evo random.lua" allowfaruse="1"/>
Ahí pones el ID de la stone que gustes.

Servidor/Data/Actions/Scripts/... evo random.lua
Código:
local prob = {
    Jolteon = 30,
    Vaporeon = 20,
    Flareon = 35,
    Espeon = 25,
    Umbreon = 40,
  }

  local special = specialevo
function onUse(cid, item, frompos, item2, topos)
  local pokeball = getPlayerSlotItem(cid, 8)

    if not isMonster(item2.uid) or not isSummon(item2.uid) or #getCreatureSummons(cid) > 1 then   --alterado v2.9
      return true
    end

    if getCreatureCondition(item2.uid, CONDITION_INVISIBLE) then return true end
      local pevo = poevo[getCreatureName(item2.uid)]

    if not isInArray(specialevo, getCreatureName(item2.uid)) then
        if not pevo then
            doPlayerSendCancel(cid, "This pokemon can't evolve.")
          return true
        end

        if pevo.level ~= 1 and not allEvolutionsCanBeInduzedByStone then
            doPlayerSendCancel(cid, "This pokemon doesn't evolve using stones.")
          return true
        end

        if not isPlayer(getCreatureMaster(item2.uid)) or getCreatureMaster(item2.uid) ~= cid then
            doPlayerSendCancel(cid, "You can only use stones on pokemons you own.")
          return true
        end

        if pevo.stoneid ~= item.itemid and pevo.stoneid2 ~= item.itemid then
            doPlayerSendCancel(cid, "This isn't the needed stone to evolve this pokemon.")
          return true
        end
    end

  local minlevel = 0

    if getPokemonName(item2.uid) == "Eevee" then
      local eevee = ""

      local d = {
    --[{min%, max%}] = {"Evo"},
        [{1, prob.Jolteon}] = {"Jolteon"},
        [{prob.Jolteon, prob.Vaporeon + prob.Vaporeon}] = {"Vaporeon"},
        [{prob.Vaporeon + prob.Vaporeon, prob.Vaporeon + prob.Vaporeon + prob.Flareon}] = {"Flareon"},
        [{prob.Vaporeon + prob.Vaporeon + prob.Flareon, prob.Vaporeon + prob.Vaporeon + prob.Flareon + prob.Espeon}] = {"Espeon"},
        [{prob.Vaporeon + prob.Vaporeon + prob.Flareon + prob.Espeon, prob.Vaporeon + prob.Vaporeon + prob.Flareon + prob.Espeon + prob.Umbreon}] = {"Umbreon"},
      }

      local azar = math.random(1, prob.Jolteon + prob.Vaporeon + prob.Flareon + prob.Espeon + prob.Umbreon)
        for k, v in pairs(d) do
            if azar >= k[1] and azar <= k[2] then
                eevee = v[1]
              --print('\nMínimo = ' .. k[1] .. '\nazar = ' .. azar .. '\nMáximo = ' .. k[2] .. '\nEevee = ' .. eevee)
              break
            end
        end

      minlevel = pokes[eevee].level
        if getPlayerLevel(cid) < minlevel then
            doPlayerSendCancel(cid, "You don't have enough level to evolve this pokemon ("..minlevel..").")
          return true
        end

        if getPokemonLevel(item2.uid) < 20 then
          return doPlayerSendCancel(cid, "Sorry, your pokemon doesn't have the required level to evolve (20).")
        end

        doRemoveItem(item.uid, 1)
        doEvolvePokemon(cid, item2, eevee, 0, 0)
    end

  return true
end

Zona (básica) a editar:
local prob = {
   Jolteon = 30,
   Vaporeon = 20,
   Flareon = 35,
   Espeon = 25,
   Umbreon = 40,
 }

Ahí editas las probabilidades de que aparezca cada pokémon, respecto a las de los demás.

Aunque no va por tanto por ciento %. No me sale >.< ando oxidado en esto de los scripts. Sino por probabilidades, es decir, por ejemplo. Jolteon:

Tiene 30 de las 150 probabilidades de aparecer.
30 = Jolteon. 150 = La suma de todas las probabilidades (30 + 20 + 35 + 25 + 40).



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

#8 Re: Script random el Dom Mayo 17, 2015 9:54 pm

rodowood


Estudiante
Genial .. andava ausente gracias por tu ayuda amigo

#9 Re: Script random Hoy a las 2:25 pm

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.

 

¿Quién está en línea?

En total hay 0 usuarios en línea: 0 Registrados, 0 Ocultos y 0 Invitado

Usuarios navegando en este foro: Ninguno

Forum Statistics

Nuestros miembros han públicado un total de posts en temas.
Actualmente hay miembros registrados.
Démosle la bienvenida al miembro más reciente,
La mayor cantidad de usuarios en línea ha sido de .