BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

Script De Crystal

Script De Crystal

#1 Script De Crystal el Miér Oct 16, 2013 11:07 pm

God Jacob


Miembro
Hola, Buenas noches blacktibia.
Les Vengo A Pedir que me ayuden,
Quiero Un Script, Que al darle cklik a un crytal o a "X" item, Te Mande a Otro Lugar

Osea, ejemplo: Que Al Darle Klik Derecho A Una Stone O A Una Estatua O Algo, Que Me Lleve A Otro Lugar
Y Otro Script, Que Al Jalar Una Palanca Se Active Algo,

Los Ocupo Para Una Quest, Doy +rep :3

#2 Re: Script De Crystal el Jue Oct 17, 2013 12:58 am

zima


Novato
Para la estatua o item que te teletransporte:
Código:
function onUse(cid, item, frompos, item2, topos)
    local levelreq = 100
    if getPlayerLevel(cid) >= levelreq and
getPlayerItemCount(cid,8300,5) then ----- En este lugar pondremos el numero de item que nos pedira para el teleport
doPlayerRemoveItem(cid,8300,5) ----- Aqui el mismo item, quitando esta linea no te borraria el item.
doPlayerSendTextMessage(cid, 22, 'Bienvenido.') ----- Este  es el mensaje que aparece al ser mandado.
doTeleportThing(cid,{x = 16753, y = 16511, z = 7}) ----- Estas son las coordenadas a donde te mandara la estatua.
doSendMagicEffect({x = 16753, y = 16511, z = 7},10) ----- Las mismas coordenadas, para que de un efecto magico.
else
doPlayerSendTextMessage(cid, 22, 'No tienes cierto item.') ----- Mensaje si no tienes el item.
end
end

#3 Re: Script De Crystal el Jue Oct 17, 2013 1:31 am

God Jacob


Miembro
okeii y me puedes decir eso donde va??
y que pongo en Xml???

#4 Re: Script De Crystal el Jue Oct 17, 2013 9:33 am

Belerofonte


Administrador
@Up, va en el Data/Actions/Scripts... copias un archivo.lua cualquiera de los que haya
y lo pegas en esa misma carpeta, le cambias el nombre que tenga por el de tp_item,
lo abres & sutituyes todo lo que tenga a cambio de lo que puso zima.

Luego te vas a Data/Actions/Actions.xml y en una de las líneas pegas la siguiente dependiendo de cual se adapte más a lo que deseas realizar:
Si quieres que se pueda realizar con todos los objetos que tengan un mismo ID:
Código:
<action itemid="XXXX" event="script" value="tp_item.lua"/>
XXXX = ID del objeto.

Si quieres que sólo sea posible con un sólo objeto en concreto:
Código:
<action uniqueid="XXXX" event="script" value="tp_item.lua"/>
XXXX = UniqueID del objeto el cual también se lo pondrás en el Remeres (2º clíc o doble-clíc) y propiedades para editarle el UniqueID.

Si quieres que sea posible con varios objetos de distinto ID:
Código:
<action actionid="XXXX" event="script" value="tp_item.lua"/>
XXXX = ActionID del objeto el cual también se lo pondrás en el Remeres (2º clíc o doble-clíc) y propiedades para editarle el ActionID.

(ovbiamente le puedes poner el nombre que quieras al archivo.lua, siempre que también lo pongas en su correspondiente línea del Actions.xml)

Es que no concretas mucho S:
¿podrías explicarte más detalladamente respecto al de la palanca?
Como que: ¿qué "activará" o "desactivará"?, ¿qué le ocurrirá a esa cosa cuando se "active" & "desactive"?, ¿si sólo podrá usarse la palanca una sóla vez o más veces, o en un X intervalo de tiempo?; etc, etc...

@zima, el usuario nunca pidió que haya un requerimiento de nivel para poder usarlo ;D
Código:
local levelreq = 100
    if getPlayerLevel(cid) >= levelreq



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]

#5 Re: Script De Crystal el Jue Oct 24, 2013 9:54 am

God Jacob


Miembro
beleforonte, mira, el de la palanca sera asi tipo arena.
osea: supongamos que estoy con un chavo, que quiero duelear con el, y al jalar la palanca
nos lleve ami y al otro a la arena, y si se puede que salga en publico ejemplo:
**Arena Guerreros**
>>>*Lola Vs Lolo*<<<
o algo por el estilo.
y gracias por lo del crystal me sirvio mucho xD

#6 Re: Script De Crystal el Vie Oct 25, 2013 11:19 am

Belerofonte


Administrador
@Up, pues para eso podrías usar este excelente script de [Tienes que estar registrado y conectado para ver este vínculo]: [Tienes que estar registrado y conectado para ver este vínculo]

Que el cual editado con las cositas que querías sería algo así:
Código:
   function onUse(cid, item, frompos, itemEx, topos) -- script by xafterin
     local actID = 7100 -- Actionid de la palanca
     -- functions--
     local coord = {
     x = {946, 947}, -- {pos X dela primera esquina SUPERIOR IZQUIERDA, pos X de la otra esquina INFERIOR DERECHA.}
     y = {1052, 1053}, ---- {pos Y dela primera esquina SUPERIOR IZQUIERDA, pos Y de la otra esquina INFERIOR DERECHA.}
     z = 7 -- Posicion Z PISO o PLANTA en la que se haye.
     }
    function checkp()
     for areax = coord.x[1], coord.x[2] do
          for areay = coord.y[1], coord.y[2] do
             local area = {x = areax, y = areay, z = coord.z, stackpos = 253}
             if isPlayer(getThingFromPos(area).uid) then
          return true
          end
          end
       end
       return false
    end
    -- end functions --
    
   local t = { -- Configuración
    lvlReq = 1, -- Nivel requerido para poder entrar en la arena de pelea.
    msg = "Go fight!", -- Mensaje que aparecerá al entrar en la arena. (sólo a ambos jugadores)
    player1 = {{x = 949, y = 1053, z = 7, stackpos = 253}, -- {posicion requerida del player1, (FUERA del ring)
 {x = 947, y = 1053, z = 7}}, -- Posición a la que será teletransportado el player1}}, (DENTRO del ring)
    player2 = {{x = 944, y = 1053, z = 7, stackpos = 253}, -- {posicion requerida del player2 , (FUERA del ring)
 {x = 946, y = 1053, z = 7}}, -- Posición a la que será teletransportado el player2}}, (DENTRO del ring)
    effects = {CONST_ME_TELEPORT} -- Número ó término del efecto mágico que aparecerá en el lugar donde se hayan teletransportado.
    }
     local s = { -- No tocar.
     p1 = getThingFromPos(t.player1[1]).uid,
     p2 = getThingFromPos(t.player2[1]).uid
    }
    if item.actionid == actID then
             if not checkp() then
                      if isPlayer(s.p1) and isPlayer(s.p2) then
                               if getPlayerLevel(s.p1) >= t.lvlReq and getPlayerLevel(s.p2) >= t.lvlReq then
                                     doTeleportThing(s.p1, t.player1[2])
                                     doTeleportThing(s.p2, t.player2[2])
                                     doSendMagicEffect(t.player1[2], t.effects[1])
                                     doSendMagicEffect(t.player2[2], t.effects[1])
                                     doPlayerSendTextMessage(s.p1,22,t.msg)
                                     doPlayerSendTextMessage(s.p2,22,t.msg)
 doBroadcastMessage("(``•.¸(``•.¸Arena Guerreros¸.•´´)¸.•´´) (¸.•´´" .. getCreatureName(s.p1) .. " Vs " .. getCreatureName(s.p2) .. "``•.¸)", MESSAGE_INFO_DESCR)
                               else
                                     doPlayerSendCancel(cid, "Alguno de los dos no es lo suficientemente fuerte, se necesita nivel ("..t.lvlReq..").")
                               end      
                      else
                            doPlayerSendCancel(cid, "Ambos valientes han de posicionarse en cada extremo!")
                      end
             else
                   doPlayerSendCancel(cid, "No es posible entrar cuando una pelea ya esta teniendo lugar!")
             end
          end
       return true
    end
Ya a la hora de salir de la arena no lo tengo tan claro, tal vez te funcione con: [Tienes que estar registrado y conectado para ver este vínculo]

Editándo esto:
Código:
local arena = {
frompos = {x=xxxx, y=xxxx, z=xxxx}, <--- Coordenada de la esquina Superior Izquierda de la Arena.
topos = {x=xxxx, y=xxxx, z=xxxx}, <--- Coordenada de la esquina Inferior Derecha de la Arena.
exit = {x=xxxx, y=xxxx, z=xxxx} <-- Coordenada de donde aparecerá un teleport dentro de la Arena cuando uno haya matado a otro(?)
}



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]

#7 Re: Script De Crystal Hoy a las 2:20 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 .