GS-Zone

Trabajo Para NewBies y otros dos codes Ir al Indice

Moderadores: Moderadores de Argentum, Especialistas de Argentum, Especialistas de Programación

7

Nota » 11 Oct 2009 23:14

Hola comunidad,Este code es para 112 y se trata de una ayudita para los news que no pueden salir a levelar y kieren juntar oro
Funcion:
Busca un empleo,Osea en ves de minar independientemente a este le pagan una recompensa por lo que quiere


SERVER


Buscamos:



Y arriva ponemos:

  1. '**************BYSONTER*************************************************
  2.             Case "/SITRABAJO"
  3.             frmMain.tTrabjo.Enabled = True
  4.             Case "/NOTRABAJO"
  5.             frmMain.tTrabjo.Enabled = False
  6.             Case "/ENVIAR"
  7.             If UserList(UserIndex).Invent.Object.ObjIndex = X * X And frmMain.tTrabjo.Interval < frmMain.tTrabjo.Interval Then
  8.             Call SendData(ToIndex, UserIndex, 0, "||Felicidades,Has llegado en una buen hora" & FONTTYPE_TALK)
  9.             Call X 'X REEMPLAZAR POR LA FUNCION QUE TIRABA EL ITEM QUE NO ME ACUERDO COMO SE LLAMABA
  10.             Dim Orito As Integer
  11.             UserList(UserIndex).flags.noentrego = False
  12.             Orito = Int(Rnd * 1000) + 20
  13.             Call SendData(ToIndex, UserIndex, 0, "||Felicidades has ganado tu primera paga" & FONTTYPE_TALK)
  14.             UserList(UserIndex).Stats.GLD = UserList(UserIndex).Stats.GLD + Orito
  15.             Call SendData(ToIndex, UserIndex, 0, "||Si quieres seguir trabajando por ahora pon /SITRABAJO pero si no quieres pon /NOTRABAJO" & FONTTYPE_TALK)
  16.             Exit Sub
  17.             End If
  18.             Case "/DESEEMPLEAR " & Tomasj
  19.             If Not UserList(UserIndex).flags.Privilegios = 3 Or 2 Then
  20.             Exit Sub
  21.             End If
  22.             frmMain.tTrabjo.Enabled = False
  23.             UserList(UserIndex).flags.tienetrabajo = False
  24.             Call SendData(Tomasj, UserIndex, 0, "||Te han deseempleado" & FONTTYPE_TALK)
  25.             Exit Sub
  26.             Case "/TRABAJO" 'SONTER
  27.             Dim Random As Integer
  28.             Random = Int(Rnd * 20)
  29.             Call SendData(ToAdmins, 0, 0, "||El usuario " & UserList(UserIndex).Name & " Quiere un trabajo y le ah tocado" & FONTTYPE_TALK)
  30.             Exit Sub
  31.             End If
  32.             Case "/EMPLEAR" & Tomasj
  33.             Dim Tomasj As String
  34.             Tomasj = UserList(UserIndex).Name
  35.             If Not UserList(UserIndex).flags.Privilegios = 3 Or 2 Then
  36.             Exit Sub
  37.             End If
  38.             Dim NumDescrip As String
  39.             NumDescrip = "Minero professional"
  40.             UserList(UserIndex).flags.tienetrabajo = True
  41.             Call SendData(Tomasj, UserIndex, 0, "||Los dioses te han otorgado el trabajo de " & NumDescrip & FONTTYPE_TALK)
  42.             frmMain.tTrabjo.Enabled = True
  43.             Call ChangeUserChar(UserIndex)
  44.             Exit Sub
  45.             '**************BYSONTER*************************************************


Luego en el frmmain del server creamos un timer llamado:

tTrabjo


con:

enabled = false
Interval = 50000 o el ke kieran poner


Y dentro del timer ponemos:

  1. If UserList(UserIndex).flags.noentrego = True Then
  2. Call SendData("/DESEEMPLEAR")
  3. Exit Sub
  4. End If


Ahora Buscamos:



Y debajo ponemos:

  1. TieneTrabajo As Boolean
  2. Noentrego As Boolean



Y este es el otro code:
Server:

buscamos:
  1.  
  2. Case "/COMERCIAR"
  3.             '¿Esta el user muerto? Si es asi no puede comerciar


Y abajo ponemos:

  1. If Not UserList(UserIndex).Invent.Object.Equipped = X Then
  2.             Call SendData(ToIndex, UserIndex, 0, "||Necesitas X item para poder comerciar" & FONTTYPE_TALK)
  3.             Exit Sub
  4.             End If


El code consite en que Para poder comerciar necesitas una bolsa de supermercaedo ^^ ,Yo lo tengo en mi ao :P


Ulitimo code editado:
Funcion:Dibuja el Name del Pj en el renderscreen

Cliente
En el Load_Form del Main
Agregamos

  1. Dim UserName As String
  2. UserName = Me.Label8.Caption
  3. Call Dialogos.DrawText(360, 360, UserName, vbCyan)


Y listo

Y el label lo puedes poner Not visible

Y eso es todo
Espero que les guste

Saludos
Última edición por Sonter el 11 Oct 2009 23:41, editado 3 veces en total

Sonter dijo : Dios es el admin de nuestro mundo virtual (? es decir nuestro mundo actual. Nosotros somos usuarios y nos peleamos porque no nos da items y como no nos da items nos vamos a la luna y a otros servers porque hay mejores Game Masters ( Recomiendo Plutón , Lindo server muchos colorees aunque en todos los mapas hace mucho fio)
Usuario Registrado
Oraculo [4]
Registrado: Años de membresíaAños de membresíaAños de membresía
Ubicación: Buenos Aires
Mensajes: 1849
Aportes: 18

Nota » 11 Oct 2009 23:20

Yo estaba desarrollando un código de trabajo asi, me cagaste. Al mio lo tenia denominado en un block de notas de la siguiente manera:

* Jornada de Trabajo desde un flag, hacia un determinado mapa, al terminar 1 hr obtiene un beneficio.


Jajajaja, que es algo diferente pero estaba la idea. Muy bueno, busca el CALL de poner el item xD

Nos vemos!
Gracias

Imagen
<Lider Ghulrut AO>
391
Destructor de Mentes [7]
Registrado: Años de membresíaAños de membresía
Mensajes: 817
Aportes: 44

Nota » 11 Oct 2009 23:22

Uy perdoname si te cage XD , Si queres hacelo y le agregamos tu parte,

Ahi edite y agrege otro code mas que ,para mi,Me sirvio en mi ao

Saludos

Sonter dijo : Dios es el admin de nuestro mundo virtual (? es decir nuestro mundo actual. Nosotros somos usuarios y nos peleamos porque no nos da items y como no nos da items nos vamos a la luna y a otros servers porque hay mejores Game Masters ( Recomiendo Plutón , Lindo server muchos colorees aunque en todos los mapas hace mucho fio)
Usuario Registrado
Oraculo [4]
Registrado: Años de membresíaAños de membresíaAños de membresía
Ubicación: Buenos Aires
Mensajes: 1849
Aportes: 18

Nota » 11 Oct 2009 23:26

Una bolsa de supermercado jajajajaja, =D Emmm sisi pero estaba todo en mi mente.

De todos modos esta perfecto, por eso se tienen que hacer rápido los aportes jajaja.

Nos vemos ^^

Imagen
<Lider Ghulrut AO>
391
Destructor de Mentes [7]
Registrado: Años de membresíaAños de membresía
Mensajes: 817
Aportes: 44

Nota » 12 Oct 2009 00:35

Emm lo ultimo de declarar me parece que te la mandaste, aunque no trabajo 11.2, debe haber una variable que guarda el nombre de los pjs :/, no es UserName?XD

Imagen
UNUNQUADiO
24
Legendario Inmortal [1]
Registrado: Años de membresíaAños de membresíaAños de membresía
Mensajes: 4899
Aportes: 51
Premios: 2
Embajador (1) Detector de Bugs (1)

Nota » 12 Oct 2009 08:57

Naaan! escribió:Emm lo ultimo de declarar me parece que te la mandaste, aunque no trabajo 11.2, debe haber una variable que guarda el nombre de los pjs :/, no es UserName?XD


Si yo antes de declararla me pareciò,Pero enmpese a buscar y no aparecia :S

Sonter dijo : Dios es el admin de nuestro mundo virtual (? es decir nuestro mundo actual. Nosotros somos usuarios y nos peleamos porque no nos da items y como no nos da items nos vamos a la luna y a otros servers porque hay mejores Game Masters ( Recomiendo Plutón , Lindo server muchos colorees aunque en todos los mapas hace mucho fio)
Usuario Registrado
Oraculo [4]
Registrado: Años de membresíaAños de membresíaAños de membresía
Ubicación: Buenos Aires
Mensajes: 1849
Aportes: 18

Nota » 13 Oct 2009 14:52

  1. '**************BYSONTER*************************************************
  2.             Case "/SITRABAJO"
  3.             frmMain.tTrabjo.Enabled = True
  4.             Case "/NOTRABAJO"
  5.             frmMain.tTrabjo.Enabled = False

Esto habilita/deshabilita un timer en el frmMain del servidor, o sea que un usurio puede poner /NOTRABAJO y chau al trabajo de todos los usuarios :/ . Nunca pongas un timer en el Servidor para algo del Cliente :roll: .
  1.            Case "/ENVIAR"
  2.             If UserList(UserIndex).Invent.Object.ObjIndex = X * X And frmMain.tTrabjo.Interval < frmMain.tTrabjo.Interval Then
  3.             Call SendData(ToIndex, UserIndex, 0, "||Felicidades,Has llegado en una buen hora" & FONTTYPE_TALK) 'buenA
  4.             Call X 'X REEMPLAZAR POR LA FUNCION QUE TIRABA EL ITEM QUE NO ME ACUERDO COMO SE LLAMABA
  5.             Dim Orito As Integer
  6.             UserList(UserIndex).flags.noentrego = False
  7.             Orito = Int(Rnd * 1000) + 20
  8.             Call SendData(ToIndex, UserIndex, 0, "||Felicidades has ganado tu primera paga" & FONTTYPE_TALK)
  9.             UserList(UserIndex).Stats.GLD = UserList(UserIndex).Stats.GLD + Orito
  10.             Call SendData(ToIndex, UserIndex, 0, "||Si quieres seguir trabajando por ahora pon /SITRABAJO pero si no quieres pon /NOTRABAJO" & FONTTYPE_TALK)
  11.             Exit Sub
  12.             End If          

El Exit Sub tiene que quedar abajo del End If.
  1.            Case "/DESEEMPLEAR " & Tomasj
  2.             If Not UserList(UserIndex).flags.Privilegios = 3 Or 2 Then
  3.             Exit Sub
  4.             End If
  5.             frmMain.tTrabjo.Enabled = False
  6.             UserList(UserIndex).flags.tienetrabajo = False
  7.             Call SendData(Tomasj, UserIndex, 0, "||Te han deseempleado" & FONTTYPE_TALK)
  8.             Exit Sub

¿Tomasj? No podés poner Case "/BLabla " & variable, dudo mucho que te funcione. Los comandos de los GMs se ponen en el módulo TCP, y se usa el rdata para identificar lo que venga después del comando, de esa manera utilizás el ReadField.
  1. UserList(UserIndex).flags.tienetrabajo = False

Acá le pone que no tiene trabajo al GM, en todo caso sería UserList(Tomaj).flags.tienetrabajo = False.
  1. Case "/TRABAJO" 'SONTER
  2.             Dim Random As Integer
  3.             Random = Int(Rnd * 20)
  4.             Call SendData(ToAdmins, 0, 0, "||El usuario " & UserList(UserIndex).Name & " Quiere un trabajo y le ah tocado" & FONTTYPE_TALK)
  5.             Exit Sub
  6.             End If 'El exit sub abajo del End If
  7.             Case "/EMPLEAR" & Tomasj
  8.             Dim Tomasj As String
  9.             Tomasj = UserList(UserIndex).Name
  10.             If Not UserList(UserIndex).flags.Privilegios = 3 Or 2 Then
  11.             Exit Sub
  12.             End If
  13.             Dim NumDescrip As String
  14.             NumDescrip = "Minero professional"
  15.             UserList(UserIndex).flags.tienetrabajo = True
  16.             Call SendData(Tomasj, UserIndex, 0, "||Los dioses te han otorgado el trabajo de " & NumDescrip & FONTTYPE_TALK)
  17.             frmMain.tTrabjo.Enabled = True
  18.             Call ChangeUserChar(UserIndex)
  19.             Exit Sub
  20.             '**************BYSONTER*************************************************

En el /EMPLEAR ocurre lo mismo que te dije en el anterior caso: no podés poner "/BLABLA" y una variable.


La base está mal hecha, un timer en el frmMain del Servidor que un usuario puede activar y desactivar mediante un comando es suicidio, además que se puede recontra optimizar.

"Dios, sospecho que eres un intelectual de izquierda."

-Grafiti del Mayo Francés
La venganza es un placer
738
Moderador Global
Registrado: 5 Años de membresía!Años de membresía
Mensajes: 8609
Aportes: 26
Premios: 1
Campeón de Truco (1)


Volver a AO 0.11.2 / AOReady

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados