Autor
|
Tema: [Consulta] [Android] Programando YUGIOH Efecto de Cartas (Leído 9,576 veces)
|
s00rk
Desconectado
Mensajes: 195
|
Bueno pues hago este tema ya que estoy estancado en una parte en el codigo que es en los efectos de monstruos y cartas(Esto claro lo entenderan ls que sabn del juego hehe), puesto que lo que hago es obtener los datos de todas las cartas desde http://www.yugiohcardguide.com/card_list.html en donde no tengo ningun problema haciendo simples parse y obtienendos los datos tales como nombre del deck, nombre de la carta, tipo, atributo y demas, el problema viene cuando son cartas de efecto, puesto que por ahora no se me ocurre nada para poderlo hacer automatizado (no quiero andar programandole cada efecto a cada carta -.-, o eso es lo que trato de lograr) y ahi puedo leer el efecto pero imposible poder desde el texto de la carta saber lo que hara hehe, por eso vengo a preguntar o ver si alguno de ustedes tiene alguna idea sobre que seria lo mas factible para hacerlo. Tambien me he puesto a leer un poco sobre YUGIOH Phoenix, que es un programa para PC para jugar YUGIOH en linea el cual todos los efectos y demas de los monstruos estan contenidos en archivos LUA, el cual si lo conozco mas nunca lo he manejado, ademas de que no entiendo como el programa en sí, los lee o como los maneja, o si alguno conoce ya mejor como hacerlo seria de gran ayuda hehehe, ya que lo que deseo es hacer este juego para Android y que sea Online(Esto es lo de menos, para esto ya tengo la idea de como lo hare, e hice pequeñas pruebas sobre Ataque y demas hehe) Aqui uno de ellos, bueno esto lo dejo por si puede servir d algo nose: --リミット·リバース function c27551.initial_effect(c) --Activate local e1=Effect.CreateEffect(c) e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetCode(EVENT_FREE_CHAIN) e1:SetHintTiming(0,TIMING_END_PHASE+TIMING_ATTACK) e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetTarget(c27551.target) e1:SetOperation(c27551.operation) c:RegisterEffect(e1) --Destroy local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE) e2:SetCode(EVENT_LEAVE_FIELD) e2:SetOperation(c27551.desop) c:RegisterEffect(e2) --Destroy2 local e3=Effect.CreateEffect(c) e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e3:SetRange(LOCATION_SZONE) e3:SetCode(EVENT_LEAVE_FIELD) e3:SetCondition(c27551.descon2) e3:SetOperation(c27551.desop2) c:RegisterEffect(e3) --Destroy3 local e4=Effect.CreateEffect(c) e4:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e4:SetRange(LOCATION_SZONE) e4:SetCode(EVENT_CHANGE_POS) e4:SetCondition(c27551.descon3) e4:SetOperation(c27551.desop3) c:RegisterEffect(e4) end function c27551.filter(c,e,tp) return c:IsAttackBelow(1000) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end function c27551.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c27551.filter(chkc,e,tp) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingTarget(c27551.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) local g=Duel.SelectTarget(tp,c27551.filter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0) end function c27551.operation(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() local tc=Duel.GetFirstTarget() if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) then if Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP_ATTACK)==0 then return end c:SetCardTarget(tc) end end function c27551.desop(e,tp,eg,ep,ev,re,r,rp) local tc=e:GetHandler():GetFirstCardTarget() if tc and tc:IsLocation(LOCATION_MZONE) then Duel.Destroy(tc,REASON_EFFECT) end end function c27551.descon2(e,tp,eg,ep,ev,re,r,rp) local tc=e:GetHandler():GetFirstCardTarget() return tc and eg:IsContains(tc) and tc:IsReason(REASON_DESTROY) end function c27551.desop2(e,tp,eg,ep,ev,re,r,rp) Duel.Destroy(e:GetHandler(),REASON_EFFECT) end function c27551.descon3(e,tp,eg,ep,ev,re,r,rp) local tc=e:GetHandler():GetFirstCardTarget() return tc and eg:IsContains(tc) and tc:IsDefencePos() end function c27551.desop3(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() local tc=c:GetFirstCardTarget() local g=Group.FromCards(tc,c) Duel.Destroy(g,REASON_EFFECT) end
Bueno cualquier sugerencia o duda u opinion pues es bien recibida hehe. Tambien vi este tema: http://foro.elhacker.net/empty-t319083.0.html el cual me sorprendio bastante y se ve muy bien la verdad hehehe haber como me va o como es que el maneja los efectos ... xP
|
|
|
En línea
|
|
|
|
rommel89
Desconectado
Mensajes: 22
|
ese es el script de la carta trampa llamada Limet Reverse
|
|
|
En línea
|
|
|
|
s00rk
Desconectado
Mensajes: 195
|
Si eso lo entiendo hehe, pero lo que queria ver era si podia utilizar tales script para realizar el codigo para android, aunque bueno para ello tendria que entender como el ejecutable de YUGIOH Pro utiliza tales codigos o sus llamadas ya que el nombre de las variables que muestra ahi no me da ni una pista si acaso me doy ideas de que hace cada parte pero aun asi no puedo hacer mucho si no entiendo como lo maneja el ejecutable.
Aun asi hablando con un compañer de aqui del foro que hizo su servidor pero para PC me dijo que el tuvo que hacer cada efecto carta por carta y al parecer eso es lo que tendre que hacer aunque por el momento estoy en otro proyecto asi que terminandolo, retomare este e intentare checar mejor el ejecutable de yugioh pro aver que saco >__<! xD
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
Si no mal recuerdo el chavo programo cada carta... no tengo idea si actualmente es así... Aun así yo en lo personal PARSE TODOS los datos de una web wiki en un .ini... (lo automatice no estoy loco para hacerlo manualmente) por ejemplo: imagen: Black Brutdrago.jpg Configuración; Black Brutdrago.jpg.ini Contenido del .ini. cardname = Black Brutdrago Card Category = Monster Cards ATK = 3000 DEF = 2600 Level = 8 Card Type = Synchro Monsters Card Number = 96029574 Spanish Name = Atributos = FIRE Actions = Discards for cost Anti-Support = No Entry Archetype Related = No Entry Archetypes Support = No Entry Attack = No Entry Counters = No Entry Effect type = Ignition Monster Effects Effect type = Trigger Monster Effects Types = Dragon Types = Synchro Types = Effect Type = Dragon Synchro Material = No Entry Stats = No Entry Archetype Related = No Entry Archetypes = No Entry Archetypes Support = No Entry Life Points = No Entry MonsterSpellTrap = Destroys Spell Cards MonsterSpellTrap = Destroys Trap Cards RFP = No Entry Summoning = Special Summons from your Graveyard Fusion Material = No Entry Descripcion: = 1 Tuner + 1 or more non-Tuner [[Gemini … 1 Tuner + 1 or more non-Tuner Gemini monstersOnce per turn, you can send 1 Gemini monster from your hand to the Graveyard to select and destroy 1 Spell or Trap Card your opponent controls. When this card is destroyed and sent to the Graveyard, you can select 1 Gemini monster in your Graveyard and Special Summon it. The Special Summoned Gemini monster is treated as an Effect Monster, and gains its effect. Effect Monster, and gains its effect.
Ahora con solo esos datos solo tendría que programar cada efecto según parámetros... En esta carta hay dos efectos: Effect type = Ignition Monster Effects Effect type = Trigger Monster Effects Afectando según a esto: MonsterSpellTrap = Destroys Spell Cards MonsterSpellTrap = Destroys Trap Cards y aun dice que su acción tiene un costo: Actions = Discards for cost * PERO CLARO aun así se necesitan mas detalles... puesto que el efecto implica a ciertas cartas que no están especificas... Dulces Lunas!¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
neyper
Desconectado
Mensajes: 1
|
hola amigo quisiera que me ayudaras en algo porfavor
|
|
|
En línea
|
|
|
|
s00rk
Desconectado
Mensajes: 195
|
Si no mal recuerdo el chavo programo cada carta... no tengo idea si actualmente es así... Aun así yo en lo personal PARSE TODOS los datos de una web wiki en un .ini... (lo automatice no estoy loco para hacerlo manualmente) por ejemplo: imagen: Black Brutdrago.jpg Configuración; Black Brutdrago.jpg.ini Contenido del .ini. cardname = Black Brutdrago Card Category = Monster Cards ATK = 3000 DEF = 2600 Level = 8 Card Type = Synchro Monsters Card Number = 96029574 Spanish Name = Atributos = FIRE Actions = Discards for cost Anti-Support = No Entry Archetype Related = No Entry Archetypes Support = No Entry Attack = No Entry Counters = No Entry Effect type = Ignition Monster Effects Effect type = Trigger Monster Effects Types = Dragon Types = Synchro Types = Effect Type = Dragon Synchro Material = No Entry Stats = No Entry Archetype Related = No Entry Archetypes = No Entry Archetypes Support = No Entry Life Points = No Entry MonsterSpellTrap = Destroys Spell Cards MonsterSpellTrap = Destroys Trap Cards RFP = No Entry Summoning = Special Summons from your Graveyard Fusion Material = No Entry Descripcion: = 1 Tuner + 1 or more non-Tuner [[Gemini … 1 Tuner + 1 or more non-Tuner Gemini monstersOnce per turn, you can send 1 Gemini monster from your hand to the Graveyard to select and destroy 1 Spell or Trap Card your opponent controls. When this card is destroyed and sent to the Graveyard, you can select 1 Gemini monster in your Graveyard and Special Summon it. The Special Summoned Gemini monster is treated as an Effect Monster, and gains its effect. Effect Monster, and gains its effect.
Ahora con solo esos datos solo tendría que programar cada efecto según parámetros... En esta carta hay dos efectos: Effect type = Ignition Monster Effects Effect type = Trigger Monster Effects Afectando según a esto: MonsterSpellTrap = Destroys Spell Cards MonsterSpellTrap = Destroys Trap Cards y aun dice que su acción tiene un costo: Actions = Discards for cost * PERO CLARO aun así se necesitan mas detalles... puesto que el efecto implica a ciertas cartas que no están especificas... Dulces Lunas!¡. Si yo tambien lo saque toda la info posible parseando una wiki de Yugi, lo malo pues era eso sobre los eff de cartas y demas, yo pues queria intentar ver si podia ver como funciona el de Yugioh phoenix que toda la info la trabaja mediantes archivos LUA y el ejecutable solo se encarga de usarlos ya sea los effectos asi como sus valores de atack y def hehe Pero pues ahi luego seguire lo deje igual como tu dices aunque yo os puse en formato xml :B
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
Una vez cargados solo hay que aplicar una lógica a llamadas de funciones como ya te mencione... siempre tendremos que meterle mano a los archivos de configuración nos guste o no... Pero pues ahi luego seguire lo deje igual como tu dices aunque yo os puse en formato xml :B
No importa el formato yo preferí el .ini, bueno ni es de formato ini de hecho solo son lineas que lo puedo programar de una manera tan simple como un .ini... leer linea a linea... Dulces Lunas¡¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Yugioh! Power Of Chaos - JTP Mod 2009! !
Juegos y Consolas
|
Danielito27
|
0
|
5,022
|
24 Junio 2009, 01:45 am
por Danielito27
|
|
|
Consulta:tablet pc con SO android, ¿apad2 o irobot?
Android
|
Unnamed
|
0
|
5,241
|
21 Enero 2011, 17:15 pm
por Unnamed
|
|
|
Android, consulta, procesos
Java
|
_FLAKO_
|
0
|
1,819
|
26 Mayo 2012, 07:53 am
por _FLAKO_
|
|
|
programando en android???
Android
|
holamega12
|
4
|
4,631
|
29 Marzo 2013, 05:30 am
por Red Mx
|
|
|
Una consulta sobre una app para Android.
Foro Libre
|
chocola
|
2
|
1,848
|
22 Diciembre 2013, 17:16 pm
por Kami
|
|