Jump to content

  •  

Hideki

Member Since 11 Mar 2013
Offline Last Active Aug 27 2014 06:23 PM
-----

Topics I've Started

Ayuda con restricciones en NPC

06 August 2013 - 08:59 AM

Estoy trabajando con un npc y quiero que tenga ciertas restricciones pero aun no logro hacer que funcione de todo bien.

El pj que pueda acceder a cierto npc son pj nivel 99 hacia arriba y Advance job.

 

Aqui el ejemplo del script.

 


mes "Hola " + strcharinfo(0) + ", estas listo para la batalla?";
next;
switch( select("Claro que si!:Que es esto?:Fin de la conversacion") )
{
case 1:
mes "[Warp Especial]";
if((baselevel < 99) && (Job == 0 || Job == 1 || Job == 2 || Job == 3 || Job == 4 || Job == 5 || 
Job == 6 || Job == 7 || Job == 8 || Job == 9 || Job == 10 || Job == 11 || Job == 12 || 
Job == 14 || Job == 15 || Job == 16 || Job == 17 || Job == 18 || Job == 19 || Job == 20 ||
Job == 4001 || Job == 4002 || Job == 4003 || Job == 4004 || Job == 4005 || Job == 4006 || Job == 4007 || 
Job == 4023 || Job == 4024 || Job == 4025 || Job == 4026 || Job == 4027 || Job == 4028 || Job == 4029 || 
Job == 4030 || Job == 4031 || Job == 4032 || Job == 4033 || Job == 4034 || Job == 4035 || Job == 4037 || 
Job == 4038 || Job == 4039 || Job == 4040 || Job == 4041 || Job == 4042 || Job == 4043 || Job == 4045 ))
{
mes "Lo siento no cumples con los requisitos. Solo Advans Class pueden entrar y nivel base 99 hacia arriba.";
close;
}
mes "Buena suerte!";
close2;
warp "tontera",666,666;
end;

 

El problema es que si eres 99 y job novice si te deja entrar y yo no quiero que entren novices D:


[Material] Cliente Renewall de M45T3R v1.3 +543 paletas universales

06 May 2013 - 04:05 PM

[Material] Cliente Renewall de M45T3R v1.3
Realizado por: M45T3R y su gata.
Edición: M45T3R y Nya Hetfield.

Publicado y Adaptado: Hideki

Contiene:

  • 99 Hairstyles que pronto serán re-alineados y aumentados a 102 u mas.. sugerencias de ellos son aceptadas.
  • Contiene alrededor de 43 customs (alas) con descripciones interesantes xP 
  • Msgstringtable traducido hasta el sistema de Navegación (no 100% correcto)
  • Custom Mob exclusivo "Ryko" (MVP) Sprite por mi, diseño de la carta por Victor(Ryko)
  • 100% compatible con Kagerou/Oboro.
  • Bio Lab F5 (lhz_dun5)
  • Nueva Interfaz de Quests contiene traducciones hechas por mi, después continuare con el sistema de navegación.
  • Skin COMPLETAMENTE EN ESPAÑOL! hecha por mi, tomando idea de un skin que vi en Akay RO.
  • Reparaciones Hexadecimales 
  • Party Chat es azul enves de naranja
  • Paletas universales (543)



Hace un rato hice un cliente para un server que iba a abrir.. pero es tan estable.. almenos es de los mas estables.. que decidí compartirlo xP esta desencriptado.. lee el data folder y el EXE esta configurado para leer DATA.INI

Version 2 (reparada)

pueden modificar el titulo con PSPad o algun otro programa hexadecimal.. buscando la palabra Ragnarok Network es la mas cercana, notaran el titulo.. los customs enves de ir en los archivos de texto basicos van ahora en el folder System/ItemInfo.lub .. todo lo necesario va incluido ahí para que funcione, lo único necesario es extraer el archivo clientinfo.xml y modificar la IP a tu IP Local.. 127.0.0.1

Teniendo Hercules actualizad0 de su repositorio
https://github.com/HerculesWS/Hercules
lo configuramos para el cliente 2012 06 18

"src/common/mmo.h" configuren así:

 

#ifndef PACKETVER   #define PACKETVER 20120618

"ocupar este Packet en el caso de que salga algun tipo de error con el predeterminado"

después editar en "src/map/packets.h" buscamos esta linea //2012-06-18aRagexeRE

/*2012-06-18aRagexeRE*/#if PACKETVER >= 20120618		packet(0x01FD,15,clif->pRepairitem,2);		packet(0x023B,26,clif->pFriendslistadd,2);		packet(0x0361,5,clif->pHommenu,2:4);		packet(0x0819,36,clif->pStoragepassword,0);		packet(0x0288,-1,clif->pCashshopbuy,4:8);		packet(0x0802,26,clif->pPartyinvite2,2);		packet(0x022D,19,clif->pWanttoconnection,2:6:10:14:18);		packet(0x0369,7,clif->pActionrequest,2:6);		packet(0x083C,10,clif->pUseskilltoid,2:4:6);		packet(0x0439,8,clif->pUseitem,2:4);		packet(0x0281,-1,clif->pItemlistwindowselected,2:4:8);		packet(0x0815,-1,clif->pReqopenbuyingstore,2:4:8:9:89);		packet(0x0817,2,clif->pReqclosebuyingstore,0);		packet(0x0360,6,clif->pReqclickbuyingstore,2);		packet(0x0940,-1,clif->pReqtradebuyingstore,2:4:8:12);		packet(0x0811,-1,clif->pSearchstoreinfo,2:4:5:9:13:14:15);		packet(0x0835,2,clif->pSearchstoreinfonextpage,0);		packet(0x0838,12,clif->pSearchstoreinfolistitemclick,2:6:10);		packet(0x0437,5,clif->pWalktoxy,2);		packet(0x035F,6,clif->pTicksend,2);		packet(0x0202,5,clif->pChangedir,2:4);		packet(0x07E4,6,clif->pTakeitem,2);		packet(0x0362,6,clif->pDropitem,2:4);		packet(0x07EC,8,clif->pMovetokafra,2:4);		packet(0x0364,8,clif->pMovefromkafra,2:4);		packet(0x0438,10,clif->pUseskilltopos,2:4:6:8);		packet(0x0366,90,clif->pUseskilltoposinfo,2:4:6:8:10);		packet(0x096A,6,clif->pGetcharnamerequest,2);		packet(0x0368,6,clif->pSolvecharname,2);		packet(0x08E5,41,clif->pBookingregreq,2:4);/*Added to prevent disconnections*/		packet(0x08E6,4);		packet(0x08E7,10,clif->pBookingsearchreq,2);		packet(0x08E8,-1);		packet(0x08E9,2,clif->pBookingdelreq,2);		packet(0x08EA,4);		packet(0x08EB,39,clif->pBookingupdatereq,2);		packet(0x08EC,73);		packet(0x08ED,43);		packet(0x08EE,6);		packet(0x08EF,6,clif->pBookingignorereq,2);		packet(0x08F0,6);		packet(0x08F1,6,clif->pBookingjoinpartyreq,2);		packet(0x08F2,36);		packet(0x08F3,-1);		packet(0x08F4,6);		packet(0x08F5,-1,clif->pBookingsummonmember,2:4);		packet(0x08F6,22);		packet(0x08F7,3);		packet(0x08F8,7);		packet(0x08F9,6);		packet(0x08FA,6);		packet(0x08FB,6,clif->pBookingcanceljoinparty,2);		packet(0x0907,5,clif->pMoveitem,2:4);		packet(0x0908,5);		packet(0x08D7,28,clif->pDull,2:4); /*Added to prevent disconnections*/#endif

 

Después mejorare el Post y haré un cliente mas sencillo de utilizar :P yo tengo el derecho completo sobre ese instalador debido a que yo lo diseñe.

 

Favor notificar si sale algún error al compilar ya que aun esta en desarrollo este material.

[font="'comic sans ms', cursive;"]SI TIENEN WINDOWS 7, Vista u Otro con problemas de permisos administrativos asegurense de unas cosas:
1;Ejecutar como administrador
2;No instalar en "Archivos de Programa"
[/font]


 

::: [Mini FAQ] :::

- ¿Que son las paletas universales?

  • Como las paletas de la mayoría de los sprites son idénticas hay una edición hexadecimal en el cliente que permite compartir una sola paleta de color para todas las clases, reduciendo asi drasticamente el peso y tiempo de descompresión ademas de la fragmentacion de la data

- ¿Como añado customs?

  • [color=rgb(0,0,255);]En el archivo llamado ItemInfo.lub dentro del folder System, aun asi tienes que configurar los ViewID's[/color]

- ¿Porque el cliente y el post es tan feo?

  • [color=#0000ff]Mi gato lo programo, díselo a el.[/color]

bg_consume mapflag, "Battleground's items" that can only be used in BG

17 April 2013 - 04:21 AM

This source modification adds a new mapflag: bg_consume, and adds an NPC (Telma) 
that sells consumable items which can only be used on maps with the 'bg_consume' mapflag.

 

[font="Arial, Verdana, Tahoma, 'Trebuchet MS', sans-serif, Georgia, Courier, 'Times New Roman', serif;font-size:13px;background-color:rgb(239,241,243);"]Posted ImagePosted Image[/font]

  • download and apply this diff patch: Attached File  battlegroud.diff   13.46K   196 downloads

create a char named "Battleground"
First you should check if that name exists:- delete their char, then create a new one

  •  use a different name
  • use the existing char (WARNING: if they rename the char named "Battleground", it will rename the "Battleground's items" too! If they delete the char named "Battleground", they will become "Unknown's item".)


When you are ready to create the char named "Battleground", use this SQL query:

 

  • SQL
    [color=#0000FF;font-weight:bold;]INSERT[/color] INTO `char` (`name`) VALUES ([color=#FF0000]'Battleground'[/color]);
  • make note of the char_id (of the char named "Battleground")
    SQL
    [color=#0000FF;font-weight:bold;]SELECT[/color] char_id [color=#008000]FROM[/color] [color=#FFA500]`char`[/color] [color=#FFA500][color=#008000]WHERE[/color] [/color]`name`[color=#FFA500]=[/color][color=#FF0000]'Battleground'[/color];
    Write this down somewhere or remember it for the next steps.
     
  • edit source
    - open /src/map/battleground.h

    CODE
    #define BG_CHARID 165100 // char named "Battleground"
    #define BG_TRADE 91 // trade mask of BG consumables
    - set BG_CHARID to the char_id from step #3
    - set BG_TRADE to the trade mask (trade restrictions) you want for Battleground's consumables
    (trade bits are the same as /db/item_trade.txt)

    CODE
    // Trading mask values:
    // 1: Item can't be dropped
    // 2: Item can't be traded (nor vended)
    // 4: Wedded partner can override restriction 2.
    // 8: Item can't be sold to npcs
    // 16: Item can't be placed in the cart
    // 32: Item can't be placed in the storage
    // 64: Item can't be placed in the guild storage


    If you want BG potions to be ranked (ranked Condensed White Potions, ranked Blue Potions, etc.), 
    open /src/map/pc.c and uncomment this:

    CODE
    // else if(BG_CHARID == char_id)
    // return 5;
  • edit NPC script (Telma)
    - open /npc/battleground/bg_supplier.txt

    CODE
    set .@BG_CHARID, 165100; // character named "Battleground"
    - (line 43) set .@BG_CHARID to the char_id from step #3
    - (lines 25-39) edit the menu/prices to your liking
    - (line 88) add the 'bg_consume' mapflag to any other maps you want to allow "Battleground's consumables" to be used on

     
  • Save and close all files. Recompile.


 

 

 

Compatible Hercules/rAthena/eAthena

 

 

credits:
The original idea is from someone else, I'm just not sure who. It started in 2009 when a player showed us screenshots (from another server) of the Telma NPC and asked if we could implement something similar--Battleground's consumables that could only be used in BG. Based on the screenshots, I came up with this. Since then, several people have asked about it on eAthena but I was too lazy to update it so I just linked them to our old SVN/Trac. Finally I updated it, and here it is!

Thanks again to whoever came up with the idea!