[Aportes indexados] Codigo para contruir casa con carpinteria.

Estado
Cerrado para nuevas respuestas.

Lorwik

Destructor Lvl 4
Ex-Staff
Khalem: Lod ejamos más entendible...

bueno esto lo ebcontre en el foro de un amigo

en el cliente

Busquen en mod_tcp del cliente esto:

Código:
Case "NENE" ' >>>>> Nro de Personajes :: NENE
y debajo de eso o encima pongan:

Código:
'[NeoSefirot] 
Case "CASA" 
Rdata = Right$(Rdata, Len(Rdata) - 4) 
X = Val(ReadField(1, Rdata, 45)) 
Y = Val(ReadField(2, Rdata, 45)) 
Call InitGrh(MapData(X, Y - 3).Graphic(3), Val(ReadField(4, Rdata, 45))) 
Call InitGrh(MapData(X, Y + 3).Graphic(3), Val(ReadField(6, Rdata, 45))) 
Call InitGrh(MapData(X, Y + 2).Graphic(3), Val(ReadField(5, Rdata, 45))) 
Call InitGrh(MapData(X, Y + 1).Graphic(4), Val(ReadField(3, Rdata, 45))) 
Slot = 0 
loopc = 1 
For k = 1 To 5 
For i = 1 To 7 
Call InitGrh(MapData(X - 4 + i, Y - 3 + k).Graphic(1), 5500 + loopc + Slot) 
MapData(X - 4 + i, Y - 3 + k).Trigger = 4 
loopc = loopc + 1 
If loopc >= 2 Then loopc = 0 
Next i 
loopc = 1 
Slot = Slot + 2 
If Slot >= 4 Then Slot = 0 
Next k 
For i = 0 To 8 
MapData(X - 4 + i, Y - 3).Blocked = 1 
Next i 
For i = 0 To 8 
MapData(X - 4 + i, Y + 2).Blocked = 1 
Next i 
For i = 1 To 5 
MapData(X - 4, Y - 3 + i).Blocked = 1 
Next i 
For i = 1 To 5 
MapData(X - 4 + 8, Y - 3 + i).Blocked = 1 
Next i 
MapData(X - 4 + 7, Y + 3).Blocked = 1 
MapData(X - 4 + 1, Y + 3).Blocked = 1 
MapData(X - 4 + 2, Y + 3).Blocked = 1 
MapData(X - 4 + 3, Y + 3).Blocked = 1 
'[/neosefirot]
bueno en el cliente ya terminamos o eso creo si tienen algun fallo o funciona mal avisenme.

ahora en el server

E ADJUNTADO EL MODCASAS.BAS LO AGREGAN AL PROYECTO Y LISTO, SIGAMOS:


en server.ini debajo de serverip añadan esto

Código:
NumCasas=0


en el modulo ES(fileio.bas) busken

Código:
ArmaduraCaos1 = val(GetVar(IniPath & "Server.ini", "INIT", "ArmaduraCaos1"))
y encima de esto pongan

Código:
'[neo] 
NumCasas = val(GetVar(IniPath & "Server.ini", "INIT", "NumCasas")) 
'[neo]
en usuarios.bas

BUSQUEN EL Sub UpdateUserMap BUENO ESTO ES MEDIO LIOSO PERO AVER COMO LO APAÑO,BUENO COPIEN EL SUB ENTERO YO USO EL DE LA 99Z NO SE SI EN LA 0112 O 3 AÑADIERON ALGO A ESE SUB ESPERO K NO SI LO AÑADIERON APAÑENSE EN ARREGLARLO , SORRY :p

Código:
Sub UpdateUserMap(ByVal UserIndex As Integer)
 
Dim Map As Integer 
Dim x As Integer 
Dim y As Integer 
 
Map = UserList(UserIndex).Pos.Map 
Call DiaNocheUS(UserIndex, False, EnCueva(UserIndex)) 
For y = YMinMapSize To YMaxMapSize 
For x = XMinMapSize To XMaxMapSize 
If MapData(Map, x, y).UserIndex > 0 And UserIndex <> MapData(Map, x, y).UserIndex Then 
Call MakeUserChar(ToIndex, UserIndex, 0, MapData(Map, x, y).UserIndex, Map, x, y) 
If UserList(MapData(Map, x, y).UserIndex).flags.Invisible = 1 Then Call SendData(ToIndex, UserIndex, 0, "NOVER" & UserList(MapData(Map, x, y).UserIndex).Char.CharIndex & ",1") 
End If 
If MapData(Map, x, y).NpcIndex > 0 Then 
Call MakeNPCChar(ToIndex, UserIndex, 0, MapData(Map, x, y).NpcIndex, Map, x, y) 
End If 
If MapData(Map, x, y).OBJInfo.ObjIndex > 0 Then 
'[neo]
 
If MapData(Map, x, y).OBJInfo.ObjIndex = 838 Or MapData(Map, x, y).OBJInfo.ObjIndex = 843 Or MapData(Map, x, y).OBJInfo.ObjIndex = 844 Then 
Dim CTecho As Integer, CArriba As Integer, CMedio As Integer, CAbajo As Integer 
Select Case ObjData(MapData(Map, x, y).OBJInfo.ObjIndex).SubTipo 
Case 1 'CASA NORMAL 
CTecho = 5591 
CArriba = 5590 
CMedio = 5589 
CAbajo = 5588 
Case 2 'AGREGAR OTRA CASA!!! estos son los Grh 
CTecho = 5591 
CArriba = 5590 
CMedio = 5589 
CAbajo = 5588 
Case 3 'AGREGAR OTRA CASA!!! estos son los Grh 
CTecho = 5591 
CArriba = 5590 
CMedio = 5589 
CAbajo = 5588 
 
Case Else 
CTecho = 5591 
CArriba = 5590 
CMedio = 5589 
CAbajo = 5588 
End Select 
Call SendData(ToMap, 0, Map, "CASA" & x & "-" & y & "-" & CTecho & "-" & CArriba & "-" & CMedio & "-" & CAbajo) 
End If 
Call MakeObj(ToIndex, UserIndex, 0, MapData(Map, x, y).OBJInfo, Map, x, y) 
 
If ObjData(MapData(Map, x, y).OBJInfo.ObjIndex).ObjType = OBJTYPE_PUERTAS Then 
Call Bloquear(ToIndex, UserIndex, 0, Map, x, y, MapData(Map, x, y).Blocked) 
Call Bloquear(ToIndex, UserIndex, 0, Map, x - 1, y, MapData(Map, x - 1, y).Blocked) 
End If 
End If 
Next x 
Next y 
End Sub
EL 838 ESE ES EL NUMERO DEL OBJ.DAT DEL OBJETO DE DECORACION AL IGUAL K EL 843 Y 844 ESTO TMB ME REFIERO EN EL MODCASAS.BAS K TMB ESTA LO MISMO

SIGAMOS

Código:
If UCase$(Left$(rdata, 7)) = "/CONSTR" Then 
Call ConstruirCasa(UserIndex, UserList(UserIndex).Pos, 1) 
End If

COMANDO PARA QUE LOS GMS DIOSES CONSTRUYAN LA CASA SIN NECESITAR MATERIALES

AHORA EN INVUSUARIO.BAS VAYAN A: Case OBJTYPE_GUITA

Y AÑADAN

Código:
Case 46 
'[neo] 
If UserList(UserIndex).flags.Muerto = 1 Then 
Call SendData(ToIndex, UserIndex, 0, "||¡¡Estas muerto!! Solo podes usar items cuando estas vivo. " & FONTTYPE_INFO) 
Exit Sub 
End If 
 
If ConstruirCasa(UserIndex, UserList(UserIndex).Pos, Obj.SubTipo) Then 
 
Call SendData(ToIndex, UserIndex, 0, "||¡¡Hás construido una casa!!" & FONTTYPE_INFO) 
'Quitamos del inv el item 
Call QuitarUserInvItem(UserIndex, Slot, 1) 
End If
EN EL OBJ.DAT EL OBJ TYPE 46 CON LAS KASAS

[OBJ838]
Name=Mueble rustico
Info=Mueble
GrhIndex=593
Objtype=20
valor=500
Agarrable=1


[OBJ839]
Name=Plataforma para construir casas
Info=Aqui podrás construir una casa
GrhIndex=593
Objtype=20
Agarrable=1
valor=300000
SkCarpinteria=100
Madera=40000

[OBJ840]
Name=Kit de Casa Marron
Info=Para hacer casas
GrhIndex=593
Objtype=46
SubTipo=1
valor=300000
SkCarpinteria=100
Madera=40000

[OBJ841]
Name=Kit de Casa Azul
Info=Para hacer casas
GrhIndex=593
Objtype=46
SubTipo=2
valor=300000
SkCarpinteria=100
Madera=40000

[OBJ842]
Name=Kit de Casa Roja
Info=Para hacer casas
GrhIndex=593
Objtype=46
SubTipo=3
valor=300000
SkCarpinteria=100
Madera=40000


ESTOS SON LOS DATS OBLIGATORIOS TIENEN KE AÑADIR A CARPINTERIA PARA HACER UN KIT DE KASA LUEGO PARA HACER UNA CASA CUANDO TENGAS EL KIT TE VAS A UN MAPA NO SEGURO I DODNE AYA UN CIMIENTO EN EL SUELO SE PONEN ENCIMA Y USAN EL KIT Y SE CREARA UNA CASA ACE MUCHO TIEMPO K NO TOKO ESTE CODIGO Y NO SE SI SE PUSO BIEN AHORA PASO A EXPLICAR OTRAS COSITAS, EN EL MODCASAS.BAS AI K CAMBIAR LOS NUMEROS DE ESOS OBJ.DAT PARA K LOS LEA CON LOS NUMEROS K USTEDES KIERAN,

Código:
Case 1 
MiObj.ObjIndex = 838'ES EL OBJ DECORATIVO K KERES K APAREZCA DENTRO LA KASA 
Case 2 
MiObj.ObjIndex = 843'OTRO OBJETO DECORATIVO YO PONDRIA EL MISMO SIEMPRE 
Case 3 
MiObj.ObjIndex = 844' ESTO LO MISMO K EL DE ARRIBA 
Case Else 
MiObj.ObjIndex = 838'Y ESTE ES POR SI FALLA K PONGA ESTE <!-- sXD --><img src=\"{SMILIES_PATH}/icon_xd.gif\" alt=\"XD\" title=\"XD\" /><!-- sXD -->

TMB EN EL MODKASAS.BAS ARRIBA EN UNA LINEA

Código:
If MapData(Pos.Map, Pos.x, Pos.y).OBJInfo.ObjIndex <> 839 Then 
Call SendData(ToIndex, UserIndex, 0, "||Aqui no puedes construir una casa, para eso debes ir a un lugar residencial." & FONTTYPE_INFO) 
Exit Function 
End If
VIERON ESE 839 ES EL OBJ PLATAFORMA O CIMIENTO K DEBE ESTAR EN EL PISO DE UN MAPA PARA PODER ACER LA KASA USTEDES PONGAN EL NUMERO DE SU CIMIENTO DEL OBJ.DAT K TENGAN Y YA ESTA , POSIBLEMENTE PONGA MAS CODIGOS SI TENGO GANAS :p YA K NO USO NINGUN CODIGO KE POSTEAN XK PUEOD HACERLO YO O EL YIND :p PERO MUY BUENO EL FORO Y ACUERDATE LO K TE DIJE MR MAN XD

FIJAROS EN LOS DATS QUE PUSE DE LOS KITS 2 Y 3 KE SON SUBTIPO=1 Y 2 ESO ES POR SI METEIS OTROS GRAFICOS DE KASAS EN EL MODCASAS.BAS I EN EL OTOR LADO DONDE TMB ESTA

Bueno Lo Que Hace Este Code Es Tu Con Tu Talador Talas La Madera Que Le Pongas Para Hacer Un Kit De Kasa Con Carpintero Creas Tu Kit Vas A Un Mapa Zona Residencial Osea Un Mapa No Seguro Ke Ayas Mapeado Vos Especialmente Para Colocar Cimientos Con El Editor Vas Con Tu Pj I El Kit De Kasa Te Posas Encima Del Cimiento Y Usas Tu Kit Automaticamente Se Crea La Casa Entera Con Su Propia Llave K Se Va A Tu Inv O Al Piso Si No Tienes Espacio I Crea Un Mueble De Adorno xD Esa Kasa Es Como Las De Nix Y Dsi Tas Dentro No Te Poden Atacar Bueno Lo Que Hace Es Mirar El Obj.dat El Numobj=x I Crea Los Datos De Kada Casa A Partir Del Numero Ultimo De Obj K Aiuga I Las Llaves Las Crea Apartir De La Clavbe=1000 Adelante Y Otra Cosita La Llave 10 De La Kasa De Bander Tiene El Mismo Clave= Ke La Boveda De Bander No Se Si Savian Este Bug Lo Digo Para Ke Lo Cambien Asi Ningun Vivo Con La Llave 10 De Bander Roba La Boveda De Bander
 

Shura

Dragón Ancestral Lvl 2
si pones lo que reparastes vos gs del cargar backup npc funciona creo si no no funciona xD
 
A

Anonymous

Invitado
Puede ser que funcione, al menos en aoyinf funciona xD, si el codigo se copio bien "teoricamente" tendria que andar.

Atte. Mr Man
 

Shura

Dragón Ancestral Lvl 2
pero lo copio neosefiroth no el yind xD, asiq si no funciona echenle la culpa a el xD no a aoyind =P
 
A

Anonymous

Invitado
me asegure de copiarlo bienademas a parte de slk y en el foro de un amigo tambien esta en el manual que puso GS en su web tendria que andar
 

rubio93

It's Time For Plan B
Ex-Staff
Ultimo mensaje: Dom Abr 23, 2006
Tuyo ( GaMeouT ): Sab Ago 04, 2007


Nunca revivas asi !

Crea un tema en todo caso. Saludos
 

CHOTS

Director LapsusAO
Desde mi punto de vista (sin tomar el reglamento), es preferible revivir post antes q citarlo en un tema nuevo....

Con respecto a tu error, nose q puede pasar, fijate para q version es...
 
Estado
Cerrado para nuevas respuestas.
Arriba