Enviar respuesta 
 
Calificación:
  • 1 votos - 5 Media
  • 1
  • 2
  • 3
  • 4
  • 5
[Moog] Tile Destructible Para Siempre!
11-02-2012, 06:22 PM (Este mensaje fue modificado por última vez en: 11-02-2012 06:23 PM por canido.)
Mensaje: #1
[Moog] Tile Destructible Para Siempre!

Autor: Canido
Dificultad: Media
Funcionalidad: Sin Comprobar (la version que tengo en mi main fue comprobada y anda la que posteo aqui no la he comprobado la modificacion que le hice fue ponerle variables para que sea mas facil editarlo nada mas.)
Version: [1.0] Quisas aya una nueva version con getvar
Funcion: Este Scripts lo que haces es la posibilidad de poner tiles que sean destructibles 1 sola vez en todo el server jamas vuelve a parecer el tile, Es lo que yo entendi de la peticion de juguito08. si enrealidad querian que solo lo destruya el personaje y solo pase el personaje tambien lo puedo hacer...

Introducion:
Cita:Bueno este Scripts es apedido de Juguito08 no me pregunten por que no lo postie en el tema que hiso el por que no se la respuesta quizas por que en ese foro se pierden los scripts y nadie los ve entonses se vuelven a pedir una y otra vez

En algun lugar del main como por ejemplo:
HotScript o atravez de comando Colocamos esto, la funcion de esto es generar el Atributo en la pocision en la que estamos parados!
Cita:If GetPlayerGuildAccess(Index) = 5 then
Vida = 100
TileCase = 1
Mapa = GetplayerMap(index)
X = GetPlayerX(index)
Y = GetPlayerY(index)
Call SetAttribute(Mapa, X, Y, 19,TileCase, 0, 0, ""&Vida, "", "")
Call PlayerMsg(Index, "Haz colocado el Atributo del tile Destructible.", 11)
End if

Aca podemos hacer algunos Cambios.
El 100 significa la vida del tile
El 5 Significa el rango que podra colocar este atributo
El 1 es la case del tile si ya tienen la case 1 utilizada pues deberan cambiarla


Al final del Main colocar esto:
Cita:Sub Atacar(index)
Mapa = GetplayerMap(index)
X = GetPlayerX(index)
Y = GetPlayerY(index)
Tile = 0
TileX= 2
TileY= 3
Daño= 50
TileCase = 1
Animacion = 10
Select Case GetPlayerDir(Index)
Case 0
Vida = GetTileString1(mapa,X,Y-1)
VidaX = Vida - Daño
If GetAttribute(mapa,X,Y-1) = 19 then
If GetTileData1(mapa,X,Y-1) = TileCase then
if Vida = 0 then
Else
Call SetAttribute(Mapa, X, Y-1, 19, TileCase, 0, 0, ""&VidaX, "", "")
Call SpellAnim(Animacion,Mapa,X,Y-1)
Call PlayerMsg(Index, "le haz decho daño a la roca.", WHITE)
End if
if VidaX = 0 then
call SetBlank(mapa,X,Y-1)
Call SetTile(mapa,X,Y-1,TileX,TileY,Tile,1)
End if
End if
End if
Case 1
Vida = GetTileString1(mapa,X,Y+1)
VidaX = Vida - Daño
If GetAttribute(mapa,X,Y+1) = 19 then
If GetTileData1(mapa,X,Y+1) = TileCase then
If Vida = 0 then
Else
Call SetAttribute(Mapa, X, Y+1, 19, TileCase, 0, 0, ""&VidaX, "", "")
Call SpellAnim(Animacion,Mapa,X,Y+1)
Call PlayerMsg(Index, "le haz decho daño a la roca.", WHITE)
End if
if VidaX = 0 then
call SetBlank(mapa,X,Y+1)
call SetTile(mapa,X,Y+1,TileX,TileY,Tile,1)
End if
End if
End if
Case 2
Vida = GetTileString1(mapa,X-1,Y)
VidaX = Vida - Daño
If GetAttribute(mapa,X-1,Y) = 19 then
If GetTileData1(mapa,X-1,Y) = TileCase then
if Vida = 0 then
Else
Call SetAttribute(Mapa, X-1, Y, 19, TileCase, 0, 0, ""&VidaX, "", "")
Call SpellAnim(Animacion,Mapa,X-1,Y)
Call PlayerMsg(Index, "le haz decho daño a la roca.", WHITE)
End if
if VidaX = 0 then
call SetBlank(mapa,X-1,Y)
call SetTile(mapa,X-1,Y-1,TileX,TileY,Tile,1)
End if
End if
End if
Case 3
Vida = GetTileString1(mapa,X+1,Y)
VidaX = Vida - Daño
If GetAttribute(mapa,X+1,Y) = 19 then
If GetTileData1(mapa,X+1,Y) = TileCase then
if Vida = 0 then
Else
Call SetAttribute(Mapa,X+1,Y, 19, TileCase, 0, 0, ""&VidaX, "", "")
Call SpellAnim(Animacion,Mapa,X+1,Y)
Call PlayerMsg(Index, "le haz decho daño a la roca.", WHITE)
End if
If VidaX = 0 then
call SetBlank(mapa,X+1,Y)
Call SetTile(mapa,X+1,TileX,TileY,Tile,1)
End if
End if
End if
End Select
Call SendPlayerData(index)
End sub

Aca podemos hacer algunos Cambios.
Tile = 0 Es el numero del tile donde estara la imagen del tile destruido (una roca, una puerta abierta etc)
TileX= 2 Es la cordenada X de la imagen basandose en el tile
TileY= 3 Es la cordenada Y de la imagen basandose en el tile
Daño= 50 Es la vida que le sacara al tile cada vez que sea golpeado
TileCase = 1 es la Case del tile la misma que modificamos arriba
Animacion = 10 es la animacion q se reproducira al golpear el tile

Ahora para poder atacar al tile debemos elegir alguna tecla en HotScript o en algun hechizo.
Cita:Call Atacar(index)

Ahora debemos colocar la funcion que no nos dejara pasar si el tile aun posee vida para eso vamos a Sub ScriptedTile(Index, Script)
el numero de Case debe de ser igual a las case selecionadas arriba la TileCase
Cita:Case 1
Call Destructible(index)
Exit Sub

[Imagen: logonohjh.png]
[Imagen: c93ca326a24eecd92b30d421587aa7f5o.png]
Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
 Agradecimiento dado por iki141 Facundoellink jugito08 judoka kanbrelozz nickitolas
12-02-2012, 02:48 PM
Mensaje: #2
RE: [Moog] Tile Destructible Para Siempre!

Primero que nada gracias por atender mi pedido Big Grin
Despues de eso te quiero preguntar bien como es que se coloca un tile, es que no logro entender muy bien el script ya que es demaciado largo. Un administrador puede colocar tiles in-game o se ajusta desde un ini? Y lo del rango a que se refiere?

[Imagen: theworld.png]
Visita su sitio web Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
12-02-2012, 03:22 PM
Mensaje: #3
RE: [Moog] Tile Destructible Para Siempre!

El rango es el rango de acesso solo ese rango podra colocar el Atributo en el mapa,

para colocar un tile se hace dependiendo donde coloques esta funcion

Cita:If GetPlayerGuildAccess(Index) = 5 then
Vida = 100
TileCase = 1
Mapa = GetplayerMap(index)
X = GetPlayerX(index)
Y = GetPlayerY(index)
Call SetAttribute(Mapa, X, Y, 19,TileCase, 0, 0, ""&Vida, "", "")
Call PlayerMsg(Index, "Haz colocado el Atributo del tile Destructible.", 11)
End if

por que se tiene que hacer haci? x que guarda una variable que al editar el mapa y colocar el atributo no podrias guardar esa variable la variables es la vida del tile!

[Imagen: logonohjh.png]
[Imagen: c93ca326a24eecd92b30d421587aa7f5o.png]
Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
12-02-2012, 04:43 PM
Mensaje: #4
RE: [Moog] Tile Destructible Para Siempre!

Es muy buena alternativa a lo del NPC, lo había pensado pero no sabía como hacer el "Check", ahora veo que te ingeniaste bastante bien con el uso de HotKey, te felicito... y Jugito por si te interesa que vi que pusiste en otro post no saber como "editar atributos y tiles", el SetTile y el SetAtributte son los dos comandos que hacen eso.

Salu2 loko

[Imagen: f33c4b9af6b5c54732734a06bd2136b7o.png]

Los invitados no pueden ver los enlaces. Por favor registrate AQUI para ver los enlaces.
Visita su sitio web Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
12-02-2012, 07:22 PM
Mensaje: #5
RE: [Moog] Tile Destructible Para Siempre!

Esta muy bueno, el script demuestra que sabes usar muy bien a los comandos de tiles, pero te quieor hacer una pregunta,
Los ultimos 3 valores del SetAttribute son extras que se usan por el que lo usa, no son obligatorios?

[Imagen: itachi1.png]
[Imagen: ichigoqvq.png]
--- Te gustan mis firmas?? pasate por mi post: Los invitados no pueden ver los enlaces. Por favor registrate AQUI para ver los enlaces. ---
Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
12-02-2012, 07:28 PM
Mensaje: #6
RE: [Moog] Tile Destructible Para Siempre!

(12-02-2012 03:22 PM)canido escribió: Los invitados no pueden ver los enlaces. Por favor registrate AQUI para ver los enlaces.El rango es el rango de acesso solo ese rango podra colocar el Atributo en el mapa,

para colocar un tile se hace dependiendo donde coloques esta funcion

Cita:If GetPlayerGuildAccess(Index) = 5 then
Vida = 100
TileCase = 1
Mapa = GetplayerMap(index)
X = GetPlayerX(index)
Y = GetPlayerY(index)
Call SetAttribute(Mapa, X, Y, 19,TileCase, 0, 0, ""&Vida, "", "")
Call PlayerMsg(Index, "Haz colocado el Atributo del tile Destructible.", 11)
End if

por que se tiene que hacer haci? x que guarda una variable que al editar el mapa y colocar el atributo no podrias guardar esa variable la variables es la vida del tile!
Ahhhh rango de acceso LOL no me avive xD
Listo ya entendi todo, gracias :B

[Imagen: theworld.png]
Visita su sitio web Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
12-02-2012, 08:12 PM
Mensaje: #7
RE: [Moog] Tile Destructible Para Siempre!

niki son datos que guarda el tile por ejemplo puede guardar el nombre de la ultima persona que lo piso por haci decirlo! si vos ves el source de un engine lo entenderias mas facil.

[Imagen: logonohjh.png]
[Imagen: c93ca326a24eecd92b30d421587aa7f5o.png]
Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
12-02-2012, 10:17 PM
Mensaje: #8
RE: [Moog] Tile Destructible Para Siempre!

Pero lo que pregunto es si es un valor extra para un uso del usuario unicamente, no se si me explico.

[Imagen: itachi1.png]
[Imagen: ichigoqvq.png]
--- Te gustan mis firmas?? pasate por mi post: Los invitados no pueden ver los enlaces. Por favor registrate AQUI para ver los enlaces. ---
Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
12-02-2012, 10:47 PM
Mensaje: #9
RE: [Moog] Tile Destructible Para Siempre!

No usa variables globales y por lo que veo tampoco PutVar ni GetVar así que al menos yo sobreentendería que cada jugador mide individualmente la vida del Tile si a eso te referís Nickitolas.

[Imagen: f33c4b9af6b5c54732734a06bd2136b7o.png]

Los invitados no pueden ver los enlaces. Por favor registrate AQUI para ver los enlaces.
Visita su sitio web Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
13-02-2012, 02:59 AM
Mensaje: #10
RE: [Moog] Tile Destructible Para Siempre!

el uso es global el tile tiene su vida si yo voy le pego un golpe y le redujo la vida en 50 y luego viene otra persona le golpea y le saca otros 50 pts de vida se le resta a lo que el jugador anterior le habia dejado!

[Imagen: logonohjh.png]
[Imagen: c93ca326a24eecd92b30d421587aa7f5o.png]
Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
Enviar respuesta 


Posibles temas similares...
Tema: Autor Respuestas: Vistas: Último mensaje
  Item scripteado para subir 10 niveles Drake 10 268 09-05-2012 04:27 PM
Último mensaje: madavzcore
  [Datos para S] Sub HotScript piofran 8 263 23-03-2012 05:53 PM
Último mensaje: piofran
  [Script] Item para mascotas(solo para 1) nickitolas 7 834 11-03-2012 03:02 PM
Último mensaje: ZEROX123
  Comando para Spaw objeto en el mapa! canido 6 194 09-03-2012 06:32 PM
Último mensaje: piofran
  Sub para Bloqueo de Jugador sin recargar mapa Drake 11 212 07-02-2012 04:19 PM
Último mensaje: Drake

Salto de foro:


Usuario(s) navegando en este tema: 4 invitado(s)
ContáctanosAlterEngineVolver arribaVolver al contenidoArchivo (Modo simple)Sindicación RSS