Jump to content

DanielArt

Members
  • Posts

    58
  • Joined

  • Last visited

Posts posted by DanielArt

  1. Ponlo así:
     

    getcastledata .@Castle$,"Agit#" + .@Castle$ + "::OnRecvCastle";
    

    getcastledata solo lleva dos valores.
    setcastledata lleva 3 valores, si fuera setcastledata estaría correcto quitándole ese feo ,;


    Vamos leyendo scripts commands  /ok 
     

    *getcastledata("<map name>",<type of data>)

    *setcastledata "<map name>",<type of data>,<value>;
     
    This function returns the castle ownership information for the castle referred 
    to by its map name. Castle information is stored in `guild_castle` SQL table.
     
    Types of data correspond to `guild_castle` table columns:
     
     1 - `guild_id`   - Guild ID.
     2 - `economy`    - Castle Economy score.
     3 - `defense`    - Castle Defense score.
     4 - `triggerE`   - Number of times the economy was invested in today.
     5 - `triggerD`   - Number of times the defense was invested in today.
     6 - `nextTime`   - unused
     7 - `payTime`    - unused
     8 - `createTime` - unused
     9 - `visibleC`   - Is 1 if a Kafra was hired for this castle, 0 otherwise.
    10 - `visibleG0`  - Is 1 if the 1st guardian is present (Soldier Guardian)
    11 - `visibleG1`  - Is 1 if the 2nd guardian is present (Soldier Guardian)
    12 - `visibleG2`  - Is 1 if the 3rd guardian is present (Soldier Guardian)
    13 - `visibleG3`  - Is 1 if the 4th guardian is present (Archer Guardian)
    14 - `visibleG4`  - Is 1 if the 5th guardian is present (Archer Guardian)
    15 - `visibleG5`  - Is 1 if the 6th guardian is present (Knight Guardian)
    16 - `visibleG6`  - Is 1 if the 7th guardian is present (Knight Guardian)
    17 - `visibleG7`  - Is 1 if the 8th guardian is present (Knight Guardian)
     
    All types of data have their meaning determined by War of Emperium scripts, 
    with exception of:
     - `guild_id` that is always considered ID of the guild that owns the castle,
     - `defense` that is used in Guardians & Emperium HP calculations,
     - `visibleG` that is always considered to hold guardian presence bits.
     
    The 'setcastledata' command will behave identically, but instead of returning 
    values for the specified types of accessible data, it will alter them and cause 
    them to be sent to the char-server for storage.
     
    Changing Guild ID or Castle Defense will trigger additional actions, like 
    recalculating guardians' HP.
  2. Nombre Real: Rodrigo Montor Velis  /kis2 
    Nick: DanielArt
    Edad: 24
    Profesión: Maestría en Educación e Innovación Tecnológica Educativa.
    Nacionalidad: Mexicana
    Contacto: www.danielart.com.mx, [email protected], [email protected], AlaudeArt (Twitter), danielart_ (Skype)
    Sobre Mi:
    Dentro del mundo de Ragnarok, soy un programador de scripts de rAthena y edición de source, me considero excelente en mi trabajo que hago sin albur a nada, razones por la cual mi trabajo no es conocido es porque lo hago generalmente de modo privado en servidores o proyectos que hago y voy almacenando todo, solo mis amigos más cercanos tienen acceso a toda mi información elaborada, actualmente tengo programadas todas las instancias hasta el episodio 15.1, totalmente funcionales, así como sistemas únicos creados por mí para que Ragnarok Online sea un juego muy divertido.
    He desarrollado recientemente mi propio GameGuard llamado HamsterGuard que se dedica a la verificación de datos reales, encriptación de Grf, se evitan modifcaciones al EXE y cualquier programa externo no autorizado, así como un anti-bot y anti-wpe.
    Mi vida en Ragnarok se remonta ya casi a una década, y agradezco en infinidad a Rokimoki ya que gracias a él me motivé y comencé mis primeros baby steps como scripter y me formé a lo que soy ahora, donde tengo un libre albedrío dentro de Ragnarok, logrando programar lo que por mi cabeza pase, de la forma en que quiero.
    Adoro crear objetos 'customs' pero nunca overpowered, si no, objetos que se adapten a la jugabilidad, yo lo llamo oficiales no oficiales ya que los hago parecer oficiales, pero por ello mismo, adoro incluir contenido a mis juegos totalmente.
    En el 2015 comencé uno de los proyectos que más realce al tenido en mi vida, que es IGN.do, una comunidad gaming, donde su administrador me buscó para impulsar un servidor de Ragnarok que actualmente se encuentra online, y donde se pueden ver mis mejores trabajos aplicados, con una apertura del 4 de marzo del 2016.
    Soy muy envidioso con mi trabajo, si miro que alguien hace pasar mi trabajo por trabajo suyo, es de las cosas más insultates que me pueden hacer, todos tienen la libertad de utilizar mis sistemas en su juego, pero siempre darme crédito, ya que como compañeros scripter comprenderán, no es un trabajo de una hora, en mi caso, programar una sola instancia a la perfección, me toma 1 día cada 800 líneas totalmente funcionales, y el segundo día lo utilizo para añadir cutin, diálogos, sistemas de interferencia con el usuario, como lo son acceso, compatibilidad y amistía dentro de la historia.
    Me considero alguien sumamente respetuoso, llevadero y amistoso, no me fío de la gente facilmente, y respeto mucho a la gente que ha tenido grandes logros dentro de su vida, ya sea virtual o física, adoro mucho a los que me apoyan y no me abandonan, que son fieles a mis trabajos sea donde sea, y me siguen hasta el fin del mundo por gozar de momentos de diversión, calidad, en una aventura interminable de Ragnarok Online.
    Lo que acabo de describir, es en resumen, mis sentimientos por éste juego y lo que significa para mí, si haz leído todo, muchas gracias  /lv 

    Son libres de contactarme a mi correo que pueden verlo en mi página web.
     

  3. I do this:

    		sd->roulette.prizeStage = stage;
    		sd->roulette.prizeIdx = rnd()%rd.items[stage];
    
    		if (rd.flag[stage][sd->roulette.prizeIdx]&1 || (rand()%8 >= stage)) {
    			clif_roulette_generate_ack(sd,GENERATE_ROULETTE_LOSING,stage,sd->roulette.prizeIdx,0);
    			clif_roulette_getitem(sd);
    			clif_roulette_recvitem_ack(sd, RECV_ITEM_SUCCESS);
    			return;
    		}
    
  4. Al parecer debe de ser un inicio automático sin tocar al player, porque si fuera el OnTouch obtendría el ID del personaje, pero allí le marca que no.

    Busca que la ejecución de la línea donde te manda el error de la variable de cuenta # tenga una interacción directa con el personaje, de no ser así, nunca se podrá setear el # porque sería un evento en el 'aire' sin tener a disposición un personaje de cuenta al cual darle el valor de la variable solicitada en el script.

    Saludos.

  5. Intenta creando un script para el inicio del evento, horarios y todo eso, y utiliza un donpcevent para callear el evento en otro script, que sería el que tiene el contenido de los mobs, el OnMobKill:, etcétera.

    Así siempre hago mis scripts de eventos automáticos y nunca he tenido problemas.

  6. Las dinamic shop están algo obsoletas cuando lo único que quieres es item x item.

     

    Usa el siguiente script command:
     

    -%TAB%itemshop%TAB%<NPC Name>%TAB%<sprite id>,<costitemid>{:<discount>},<itemid>:<price>{,<itemid>:<price>...}
    <map name>,<x>,<y>,<facing>%TAB%itemshop%TAB%<NPC Name>%TAB%<sprite id>,<costitemid>{:<discount>},<itemid>:<price>{,<itemid>:<price>...}
    

    Donde lo que tendrías que poner es:

    mapa,x,y,z	itemshop	Nombre Del NPC	Sprite,ITEMSOLICITADO:0,ID1:PRECIO1,ID2:PRECIO2...
    

    Por ejemplo para comprar Red Potion con Gold Coin.
     

    prontera,150,180,4	itemshop	Red Potion Shop	969,671:0,501:10
    

    Y me pediría 10 Gold Coin por 1 Red Potion.

×
×
  • Create New...