NotaPublicado: 31 Jul 2010 04:27
por Franeg95
Bueno, antes que todo les quiero avisar que estoy conciente de que el Codigo este se encuentra ya en el foro. El problema es que no es funcional debido a que estaba alojado en un lugar donde no debia ir y ademas que se le asignaban dos cabezas diferentes y si salias, al logear nuevamente tenias otra cabeza (Ni la de la cirujia, tampoco la que ya tenian).

El codigo lo dejare tanto para 0.11.5 como para 0.11.2

Arrancamos con 0.11.5

Todo en el servidor:

Buscamos:



Y debajo colocamos:

  1. Case "/CIRUJIA"
  2.            
  3.                 If UserList(UserIndex).flags.Muerto = 1 Then
  4.                     Call SendData(SendTarget.ToIndex, UserIndex, 0, "||¡¡Estas muerto!!" & FONTTYPE_INFO)
  5.                 ElseIf UserList(UserIndex).flags.TargetNPC = 0 Then
  6.                     Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Primero tenes que seleccionar un personaje, hace click izquierdo sobre el." & FONTTYPE_INFO)
  7.                 ElseIf Distancia(Npclist(UserList(UserIndex).flags.TargetNPC).Pos, UserList(UserIndex).Pos) > 10 Then
  8.                     Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Estas demasiado lejos." & FONTTYPE_INFO)
  9.                 ElseIf Npclist(UserList(UserIndex).flags.TargetNPC).NPCtype <> eNPCType.Cirujano Then
  10.                     Exit Sub
  11.                 Else
  12.                 Call SendData(SendTarget.ToIndex, UserIndex, 0, "||" & vbWhite & "°" & "Espero que te guste tu nueva cara!" & "°" & str(Npclist(UserList(UserIndex).flags.TargetNPC).Char.CharIndex))
  13.                 End If
  14.  
  15.     Select Case UserList(UserIndex).Raza
  16.         Case "Humano"
  17.  
  18.         Select Case UserList(UserIndex).Genero
  19.  
  20.            
  21.             Case "Hombre"
  22.                 UserList(UserIndex).Char.Head = RandomNumber(1, 30)
  23.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
  24.                
  25.  
  26.  
  27.             Case "Mujer"
  28.                 UserList(UserIndex).Char.Head = RandomNumber(1, 7) + 69
  29.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head              
  30.         End Select
  31.  
  32.  
  33.  
  34.         Case "Elfo"
  35.        
  36.         Select Case UserList(UserIndex).Genero
  37.             Case "Hombre"
  38.                 UserList(UserIndex).Char.Head = RandomNumber(1, 13) + 100
  39.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
  40.                  
  41.             Case "Mujer"
  42.                 UserList(UserIndex).Char.Head = RandomNumber(1, 7) + 169
  43.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
  44.                
  45.         End Select
  46.        
  47.  
  48.  
  49.         Case "Elfo oscuro"
  50.        
  51.         Select Case UserList(UserIndex).Genero
  52.             Case "Hombre"
  53.                 UserList(UserIndex).Char.Head = RandomNumber(1, 8) + 201
  54.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
  55.  
  56.  
  57.  
  58.             Case "Mujer"
  59.                 UserList(UserIndex).Char.Head = RandomNumber(1, 11) + 269
  60.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
  61.          
  62.         End Select
  63.  
  64.        
  65.        
  66.         Case "Enano"
  67.        
  68.         Select Case UserList(UserIndex).Genero
  69.        
  70.             Case "Hombre"
  71.        
  72.                 UserList(UserIndex).Char.Head = RandomNumber(1, 5) + 300
  73.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
  74.                
  75.  
  76.             Case "Mujer"
  77.                 UserList(UserIndex).Char.Head = RandomNumber(1, 3) + 369
  78.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
  79.                
  80.         End Select
  81.  
  82.        
  83.         Case "Gnomo"
  84.        
  85.         Select Case UserList(UserIndex).Genero
  86.        
  87.             Case "Hombre"
  88.                 UserList(UserIndex).Char.Head = RandomNumber(1, 6) + 400
  89.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
  90.                
  91.  
  92.  
  93.             Case "Mujer"
  94.                 UserList(UserIndex).Char.Head = RandomNumber(1, 5) + 469
  95.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
  96.                
  97.         End Select
  98.     End Select
  99.  
  100. Call WriteVar(CharPath & UCase(UserList(UserIndex).name) & ".chr", "INIT", "Head", str(UserList(UserIndex).OrigChar.Head))
  101. Call ChangeUserChar(SendTarget.ToMap, 0, UserList(UserIndex).Pos.Map, UserIndex, UserList(UserIndex).Char.Body, UserList(UserIndex).Char.Head, UserList(UserIndex).Char.Heading, UserList(UserIndex).Char.WeaponAnim, UserList(UserIndex).Char.ShieldAnim, UserList(UserIndex).Char.CascoAnim)
  102.          
  103.  
  104. Exit Sub


Buscamos:



Y agregamos



(*) La X sera igual al ultimo que este dentro del enum +1. Ejemplo: El ultimo es Gobernador = 11 entonces X = 12 (Cirujano = 12)

Listo Terminado 0.11.5

Ahora 0.11.2

Buscamos:



Y le agregamos abajo:

  1. Case "/CIRUJIA"
  2.            
  3.                 If UserList(UserIndex).flags.Muerto = 1 Then
  4.                     Call SendData(ToIndex, UserIndex, 0, "||¡¡Estas muerto!!" & FONTTYPE_INFO)
  5.                 ElseIf UserList(UserIndex).flags.TargetNPC = 0 Then
  6.                     Call SendData(ToIndex, UserIndex, 0, "||Primero tenes que seleccionar un personaje, hace click izquierdo sobre el." & FONTTYPE_INFO)
  7.                 ElseIf Distancia(Npclist(UserList(UserIndex).flags.TargetNPC).Pos, UserList(UserIndex).Pos) > 10 Then
  8.                     Call SendData(ToIndex, UserIndex, 0, "||Estas demasiado lejos." & FONTTYPE_INFO)
  9.                 ElseIf Npclist(UserList(UserIndex).flags.TargetNPC).NPCtype <> eNPCType.Cirujano Then
  10.                     Exit Sub
  11.                 Else
  12.                 Call SendData(ToIndex, UserIndex, 0, "||" & vbWhite & "°" & "Espero que te guste tu nueva cara!" & "°" & str(Npclist(UserList(UserIndex).flags.TargetNPC).Char.charindex))
  13.                 End If
  14.  
  15.     Select Case UserList(UserIndex).Raza
  16.         Case "Humano"
  17.  
  18.         Select Case UserList(UserIndex).Genero
  19.  
  20.            
  21.             Case "Hombre"
  22.                 UserList(UserIndex).Char.Head = RandomNumber(1, 30)
  23.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
  24.                
  25.  
  26.  
  27.             Case "Mujer"
  28.                 UserList(UserIndex).Char.Head = RandomNumber(1, 7) + 69
  29.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
  30.         End Select
  31.  
  32.  
  33.  
  34.         Case "Elfo"
  35.        
  36.         Select Case UserList(UserIndex).Genero
  37.             Case "Hombre"
  38.                 UserList(UserIndex).Char.Head = RandomNumber(1, 13) + 100
  39.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
  40.                  
  41.             Case "Mujer"
  42.                 UserList(UserIndex).Char.Head = RandomNumber(1, 7) + 169
  43.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
  44.                
  45.         End Select
  46.        
  47.  
  48.  
  49.         Case "Elfo oscuro"
  50.        
  51.         Select Case UserList(UserIndex).Genero
  52.             Case "Hombre"
  53.                 UserList(UserIndex).Char.Head = RandomNumber(1, 8) + 201
  54.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
  55.  
  56.  
  57.  
  58.             Case "Mujer"
  59.                 UserList(UserIndex).Char.Head = RandomNumber(1, 11) + 269
  60.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
  61.          
  62.         End Select
  63.  
  64.        
  65.        
  66.         Case "Enano"
  67.        
  68.         Select Case UserList(UserIndex).Genero
  69.        
  70.             Case "Hombre"
  71.        
  72.                 UserList(UserIndex).Char.Head = RandomNumber(1, 5) + 300
  73.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
  74.                
  75.  
  76.             Case "Mujer"
  77.                 UserList(UserIndex).Char.Head = RandomNumber(1, 3) + 369
  78.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
  79.                
  80.         End Select
  81.  
  82.        
  83.         Case "Gnomo"
  84.        
  85.         Select Case UserList(UserIndex).Genero
  86.        
  87.             Case "Hombre"
  88.                 UserList(UserIndex).Char.Head = RandomNumber(1, 6) + 400
  89.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
  90.                
  91.  
  92.  
  93.             Case "Mujer"
  94.                 UserList(UserIndex).Char.Head = RandomNumber(1, 5) + 469
  95.                 UserList(UserIndex).OrigChar.Head = UserList(UserIndex).Char.Head
  96.                
  97.         End Select
  98.     End Select
  99.  
  100. Call WriteVar(CharPath & UCase(UserList(UserIndex).Name) & ".chr", "INIT", "Head", str(UserList(UserIndex).OrigChar.Head))
  101. Call ChangeUserChar(ToMap, 0, UserList(UserIndex).Pos.Map, UserIndex, UserList(UserIndex).Char.Body, UserList(UserIndex).Char.Head, UserList(UserIndex).Char.Heading, UserList(UserIndex).Char.WeaponAnim, UserList(UserIndex).Char.ShieldAnim, UserList(UserIndex).Char.CascoAnim)
  102.          
  103.  
  104. Exit Sub


Buscamos:



Y Debajo agregamos:



(*) X es igual al ultimo Tipo de NPC mas 1. En este caso seria 12

Terminamos 0.11.2

Ahora Vamos a crear el NPC:

Este paso es el mismo para ambas verciones.

NPC:

[NPCX]
Name=Cara
NpcType=12
Desc=Oye, tu cara es fea, hacete una cirujia. Escribe /CIRUJIA y yo escojere la mejor para ti
Head=11
Body=49
Heading=3
Attackable=0
Comercia=0
Hostile=0


Reemplazen la X por el ultimo NPC que tienen en el archivo NPC.dat y recuerden modificar el maximo de NPC...

Bueno eso es to, eso es to, eso es todo amigos!

Saludos!

NotaPublicado: 31 Jul 2010 04:41
por Samke
LLega a andar voy a tu casa y te ago un monumento.

Saludos.

EDIT: Anda joshaaaa sos un groso franeg gracias. ^^

NotaPublicado: 31 Jul 2010 12:48
por II XTREEM II
Lindo Aporte Franeg :D, gracias por arreglarlo :D...

Saludos...