[Aporte] Trabajo De Lechero - Versión: ALPHA -[PZ - FZ - OZ]

Moderador: Ayudantes

Reglas del Foro
  • Si tu código es corto, no crees un tema nuevo para liberarlo, publica un mensaje en el tema [Funciones] ¡Publica tu código aquí!.
  • Si creas una guía, debes explicar el código claramente. Evita poner la explicación en forma de comentarios dentro del mismo y no olvides utilizar el BBCode correspondiente: [Pawn]Código aquí[/Pawn].
  • No postear códigos sin probar. Publicar códigos con errores (que impidan compilar el script para el cual está destinado) en este apartado es motivo de sanción.
  • Si tu código necesita plugins, includes u otros códigos adicionales para funcionar, debes mencionarlo en el mensaje.
  • Si has utilizado códigos de otros autores, recuerda colocar los créditos correspondientes. (El plagio es motivo de sanción).
  • El título del tema debe contener el nombre del GameMode al cual está destinado el código (puedes utilizar abreviaturas o tags). Por ejemplo: "[ZC] Menú para 24/7".
Responder
Avatar de Usuario
Alejandro44
Aprendiz
Aprendiz
Mensajes: 138
Registrado: 30 Ago 2017 07:07
Ubicación: Venezuela
Contactar:
Reputación: 6

27 Sep 2018 13:11

Buenos Dias/Tarde/Noche

Hoy les traigo un aporte de un trabajo, echo desde cero por mi.

El trabajo consiste en sacarle la leche a las vaca y procesarla por una maquina.

Versión: Alpha

Creditos: Alejandro44

Bueno iniciemos... -grin

Primero que nada vamos a poner // Habilidades / Experiencia
 Codigo Pawno:
1
2

pExpLechero,
	pNivelLechero,
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2
Vamos hacia LimpiarCuenta(playerid)
 Codigo Pawno:
1
2
3

SetPVarInt(playerid, "Lechero", 0);
PlayerInfo[playerid][pExpLechero] = 0;
PlayerInfo[playerid][pNivelLechero] = 0;
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 3
Esto va en sus stock(playerid)
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169

stock ExpLechero(playerid)
{
    SetPVarInt(playerid, "Lechero", 0);
	switch(PlayerInfo[playerid][pNivelLechero])
	{
		case 1:
		{
			if(PlayerInfo[playerid][pExpLechero] < 49)
			{
				if(PlayerInfo[playerid][vip] == 1)
				{
					new pago = random(3);
					switch(pago)
					{
						case 0:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 1:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 2:
						{
							PlayerInfo[playerid][pExpLechero]+= 2;
							SCM(playerid,0x0080C2FF,"Has aumentado +2 puntos de habilidad como lechero");
						}
					}
				}
				else
				{
					PlayerInfo[playerid][pExpLechero]++;
					SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
				}
			}
			else if(PlayerInfo[playerid][pNivelLechero] == 1 && PlayerInfo[playerid][pExpLechero] >= 49)
			{
				PlayerInfo[playerid][pNivelLechero]++;
				PlayerInfo[playerid][pExpLechero] = 0;
				SCM(playerid,-1,"¡Felicidades!, has subido un nivel en tu trabajo de lechero");
			}
			 DarDinero(playerid, 8000);
			 SendClientMessage(playerid, BLANCO, "{FFFFFF}Procesaste la leche y te pagaron {E38100}$8000 {FFFFFF}.");
		}
		case 2:
		{
			if(PlayerInfo[playerid][pExpLechero] < 49)
			{
				if(PlayerInfo[playerid][vip] == 1)
				{
					new pago = random(3);
					switch(pago)
					{
						case 0:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 1:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 2:
						{
							PlayerInfo[playerid][pExpLechero]+= 2;
							SCM(playerid,0x0080C2FF,"Has aumentado +2 puntos de habilidad como lechero");
						}
					}
				}
				else
				{
					PlayerInfo[playerid][pExpLechero]++;
					SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
				}
			}
			else if(PlayerInfo[playerid][pExpLechero] >= 49)
			{
				PlayerInfo[playerid][pNivelLechero]++;
				PlayerInfo[playerid][pExpLechero] = 0;
				SCM(playerid,-1,"¡Felicidades!, has subido un nivel en tu trabajo de lechero");
			}
			 DarDinero(playerid, 7000);
			 SendClientMessage(playerid, BLANCO, "{FFFFFF}Procesaste la leche y te pagaron {E38100}$7000 {FFFFFF}.");
		}
		case 3:
		{
			if(PlayerInfo[playerid][pExpLechero] < 49)
			{
				if(PlayerInfo[playerid][vip] == 1)
				{
					new pago = random(3);
					switch(pago)
					{
						case 0:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 1:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 2:
						{
							PlayerInfo[playerid][pExpLechero]+= 2;
							SCM(playerid,0x0080C2FF,"Has aumentado +2 puntos de habilidad como lechero");
						}
					}
				}
				else
				{
					PlayerInfo[playerid][pExpLechero]++;
					SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
				}
			}
			else if(PlayerInfo[playerid][pExpLechero] >= 49)
			{
				PlayerInfo[playerid][pNivelLechero]++;
				PlayerInfo[playerid][pExpLechero] = 0;
				SCM(playerid,-1,"¡Felicidades!, has subido un nivel en tu trabajo");
			}
			 DarDinero(playerid, 7000);
			 SendClientMessage(playerid, BLANCO, "{FFFFFF}Procesaste la leche y te pagaron {E38100}$7000 {FFFFFF}.");
		}
		case 4:
		{
			if(PlayerInfo[playerid][pExpLechero] < 49)
			{
				if(PlayerInfo[playerid][vip] == 1)
				{
					new pago = random(3);
					switch(pago)
					{
						case 0:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 1:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 2:
						{
							PlayerInfo[playerid][pExpLechero]+= 2;
							SCM(playerid,0x0080C2FF,"Has aumentado +2 puntos de habilidad como lechero");
						}
					}
				}
				else
				{
					PlayerInfo[playerid][pExpLechero]++;
					SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
				}
			}
			else if(PlayerInfo[playerid][pExpLechero] >= 49)
			{
				SCM(playerid,0x0080C2FF,"Has llegado al nivel máximo actual de este trabajo.");
			}
			 DarDinero(playerid, 10000);
			 SendClientMessage(playerid, BLANCO, "{FFFFFF}Procesaste la leche y te pagaron {E38100}$10000 {FFFFFF}.");
		}
	}
}
  Cantidad de llaves: Abiertas(50)-Cerradas(50) | Lineas Totales: 169
Esto va en el forward GuardarCuenta(playerid);
 Codigo Pawno:
1
2

`NivelLechero`='%d',`ExpLechero`='%d'
PlayerInfo[playerid][pNivelLechero],PlayerInfo[playerid][pExpLechero]
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2
Esto va en el stock Habilidad(playerid)
 Codigo Pawno:
1

	format(item,sizeof(item),"%s\nTrabajo de {878A8B}Lechero{FFFFFF} (Nivel: %d | Progreso %d/50)\n",item,	            PlayerInfo[playerid][pNivelLechero],	    PlayerInfo[playerid][pExpLechero]);
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 1
Esto va en el stock Habilidad2(playerid)
 Codigo Pawno:
1

	format(item,sizeof(item),"%s\nTrabajo de {878A8B}Lechero{FFFFFF} (Nivel: %d | Progreso %d/50)\n",item,	            PlayerInfo[ID][pNivelLechero],	    PlayerInfo[ID][pExpLechero]);
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 1

esto va en el stock, stock NombreTrabajo(trabajo)
 Codigo Pawno:
1

if (trabajo == 13)  format(rango, sizeof(rango), "Lechero");
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
Vamos a case GPS:
 Codigo Pawno:
1

\nLechero
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
Vamos a case GPS3:
 Codigo Pawno:
1
2
3
4
5
6

}
case 13:
{
SendClientMessage(playerid, -1, "Se ha marcado en el radar la ubicación que solicitaste");
SetPlayerCheckpoint(playerid, 77.7377,93.3610,2.2167, 3.0);
return 1;
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 6
Vamos a case TRABAJOS:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9

case 13:  // Lechero
					{
						format(string, sizeof(string), "Requisitos:\nTener, 1 hora de juego\n\n");
						format(string, sizeof(string), "%sInformacion:\nEste trabajo consiste en sacarle la leche a las vaca.\n",string);
						format(string, sizeof(string), "%sSolo debes conseguir el trabajo y empiezas a sacar leche\n",string);
						format(string, sizeof(string), "%sPodrás ganar dinero + baldes o tal vez solo dinero, varia.\n",string);
						ShowPlayerDialog(playerid, INFOCOSE, DIALOG_STYLE_MSGBOX, "Ayuda sobre el trabajo Lechero", string, "Aceptar","");
						return 1;
					}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 9
Creamos un actor
 Codigo Pawno:
1

CreateActor(236, 78.1364,93.9755,2.2475,147.6490);    // LECHERO
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1



Creamos los CreateDynamic3DTextLabel
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10

// LECHERO //
   	CreateDynamic3DTextLabel("{FFFF00}Trabajo Lechero{FFFFFF}\nPara trabajar de lechero\nUtiliza {FFFF00}/unirse lechero",AMARILLO,77.7377,93.3610,2.2167, 4.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID);
    CreateDynamic3DTextLabel("{FFFF00}¿No Puedes Subir?\n{FFFFFF}Para brincar usa,{FFFF00} /brincar",0xFFFFFFFC,11.6536,72.5580,3.1172,5.0); // BRINCAR
    CreateDynamic3DTextLabel("{FFFF00}¿No Puedes Subir?\n{FFFFFF}Para saltar usa,{FFFF00} /saltar",0xFFFFFFFC,-38.4791,-28.9609,3.1172,5.0); // SALTAR
	CreateDynamic3DTextLabel("{FFFF00}Vaca De Leche {FFFF00}Nivel 1\n{FFFFFF}Para sacarle la leche a la vaca usa,{FFFF00} /leche",0xFFFFFFFC,-75.6570,-71.0853,3.1172,5.0); // NIVEL 1
    CreateDynamic3DTextLabel("{FFFF00}Procesadora De Leche {FFFF00}Nivel 1\n{FFFFFF}Para procesar la leche usa,{FFFF00} /procesar",0xFFFFFFFC,-42.5740,-51.4288,9.8754,5.0); // NIVEL 1
    CreateDynamic3DTextLabel("{FFFF00}Vaca De Leche {FFFF00}Nivel 2\n{FFFFFF}Para sacarle la leche a la vaca usa,{FFFF00} /leche",0xFFFFFFFC,23.1143,84.6661,3.1172,5.0); // NIVEL 2
    CreateDynamic3DTextLabel("{FFFF00}Procesadora De Leche {FFFF00}Nivel 2\n{FFFFFF}Para procesar la leche usa,{FFFF00} /procesar",0xFFFFFFFC,-0.8823,43.4789,10.4910,5.0); // NIVEL 2
    CreateDynamic3DTextLabel("{FFFF00}Vaca De Leche {FFFF00}Nivel 3\n{FFFFFF}Para sacarle la leche a la vaca usa,{FFFF00} /leche",0xFFFFFFFC,117.7199,-10.1502,1.2504,5.0); // NIVEL 3
    CreateDynamic3DTextLabel("{FFFF00}Procesadora De Leche {FFFF00}Nivel 3\n{FFFFFF}Para procesar la leche usa,{FFFF00} /procesar",0xFFFFFFFC,118.7668,-27.5311,8.0991,5.0); // NIVEL 3
  Cantidad de llaves: Abiertas(33)-Cerradas(33) | Lineas Totales: 10


Creamos los pickups
 Codigo Pawno:
1
2

CreatePickup(1239,0,11.6536,72.5580,3.1172,0);                                  // BRINCAR LECHERO
CreatePickup(1239,0,-38.4791,-28.9609,3.1172,0);                                  // SALTAR LECHERO
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2
Creamos los iconos del mapa
 Codigo Pawno:
1
2
3
4

CreateDynamicMapIcon(77.7377,93.3610,2.2167, 60, 0, 0, 0, -1, 300.0);               // TRABAJO DE LECHERO
	CreateDynamicMapIcon(117.7199,-10.1502,1.2504, 56, 0, 0, 0, -1, 300.0);               // VACA LECHERO LVL 3
	CreateDynamicMapIcon(23.1143,84.6661,3.1172, 56, 0, 0, 0, -1, 300.0);                // VACA LECHERO LVL 2
	CreateDynamicMapIcon(-75.6570,-71.0853,3.1172, 56, 0, 0, 0, -1, 300.0);               // VACA LECHERO LVL 1
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 4

Ponemos esto en el comando /recibir stats
 Codigo Pawno:
1

PlayerInfo[playerid][pNivelLechero] = 1; // EL NIVEL QUE LE QUIERAN DAR AL RECIBIR STATS
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1


Creamos los comandos en lo ultimo de todo
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

CMD:leche(playerid, params[])
{
	if(IsPlayerInRangeOfPoint(playerid, 2.0, -75.6570,-71.0853,3.1172))
	{
		if(PlayerInfo[playerid][pNivelLechero] < 1) return SendClientMessage(playerid, -1, "No tienes suficiente nivel para sacar leche a esta vaca.");
	}

	if(IsPlayerInRangeOfPoint(playerid, 2.0, 23.1143,84.6661,3.1172))
	{
	    if(PlayerInfo[playerid][pNivelLechero] < 2) return SendClientMessage(playerid, -1, "No tienes suficiente nivel para sacar leche a esta vaca.");
	}

	if(IsPlayerInRangeOfPoint(playerid, 2.0, 117.7199,-10.1502,1.2504))
	{
	    if(PlayerInfo[playerid][pNivelLechero] < 3) return SendClientMessage(playerid, -1, "No tienes suficiente nivel para sacar leche a esta vaca.");
	}
	SendClientMessage(playerid, COLOR_BLANCO, "Se está sacando la leche de la vaca, espera por favor..");
	TogglePlayerControllable(playerid, 0);
	SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
	if(Muriendo[playerid] == 1 || Consumible[playerid] == 1 || VariableCaido[playerid] == 1 || Esposando[playerid] == 2 || recogiendo[playerid] > 0) return 1;
	ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 1, 1, 0,0);
	SetTimerEx("SacarLeche", 4000, false, "u", playerid);
	return 1;
}

CMD:procesar(playerid, params[])
{
	if(IsPlayerInRangeOfPoint(playerid, 2.0, -42.5740,-51.4288,9.8754))
	{
		if(PlayerInfo[playerid][pNivelLechero] < 1) return SendClientMessage(playerid, -1, "No tienes suficiente nivel para procesar leche en esta procesadora.");
	}

	if(IsPlayerInRangeOfPoint(playerid, 2.0, -0.8823,43.4789,10.4910))
	{
	    if(PlayerInfo[playerid][pNivelLechero] < 2) return SendClientMessage(playerid, -1, "No tienes suficiente nivel para procesar leche en esta procesadora.");
	}

	if(IsPlayerInRangeOfPoint(playerid, 2.0, 118.7668,-27.5311,8.0991))
	{
	    if(PlayerInfo[playerid][pNivelLechero] < 3) return SendClientMessage(playerid, -1, "No tienes suficiente nivel para procesar leche en esta procesadora.");
	}
	SendClientMessage(playerid, COLOR_BLANCO, "Se está procesando la leche espera porfavor..");
	TogglePlayerControllable(playerid, 0);
	SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
	if(Muriendo[playerid] == 1 || Consumible[playerid] == 1 || VariableCaido[playerid] == 1 || Esposando[playerid] == 2 || recogiendo[playerid] > 0) return 1;
	ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 1, 1, 0,0);
	SetTimerEx("ProcesoLeche", 3000, false, "u", playerid);
	return 1;
}
  Cantidad de llaves: Abiertas(8)-Cerradas(8) | Lineas Totales: 49
Vamos el comando CMD:trabajo
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

else if(strcmp(item, "lechero", true) == 0)
		{

			if(PlayerInfo[playerid][jJob] == 0)
			{


				if(IsPlayerInRangeOfPoint(playerid, 5.0, 77.7377,93.3610,2.2167))
				{


					SendClientMessage(playerid, COLOR_WHITE, "Ahora eres lechero! Puedes usar {F4FA58}/ayuda trabajos{FFFFFF} para ver los comandos disponibles.");
					PlayerInfo[playerid][jJob] = 13;
					return 1;
				}
			}
			else if(PlayerInfo[playerid][jJob] != 0 && PlayerInfo[playerid][vipjob] == 0 && PlayerInfo[playerid][vip] == 1)
			{


				if(IsPlayerInRangeOfPoint(playerid, 5.0, 77.7377,93.3610,2.2167))
				{


					SendClientMessage(playerid, COLOR_WHITE, "Ahora eres lechero! Puedes usar {F4FA58}/ayuda trabajos{FFFFFF} para ver los comandos disponibles.");
					PlayerInfo[playerid][vipjob] = 13;
					return 1;
				}
			}
			else if(PlayerInfo[playerid][vipjob] != 0) return SendClientMessage(playerid, 0xFFFFFFFF, "Ya tienes 2 trabajos, renuncia a uno");
		}
  Cantidad de llaves: Abiertas(9)-Cerradas(9) | Lineas Totales: 31

Vamos el comando CMD:dejar trabajo
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

if(strcmp(item, "trabajo",true)==0)
		{

			switch(PlayerInfo[playerid][jJob])
			{
				case 13: { Trabajo = 13; }
            }
			switch(PlayerInfo[playerid][vipjob])
			{
				case 13: { TrabajoVip = 13; }
			}
			switch(PlayerInfo[playerid][jJob])
			{
				case 13: { TrabajoN = "Lechero"; }
			}
			switch(PlayerInfo[playerid][vipjob])
			{

				case 13: { TrabajoVipN = "Lechero"; }
			}
  Cantidad de llaves: Abiertas(9)-Cerradas(8) | Lineas Totales: 20
Vamos al comando CMD:pstat
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

CMD:pstat(playerid, params[])
{
	new szMessage[250];
	if(PlayerInfo[playerid][jAdminNvl] < 5) return 0;
	if(sscanf(params, "ddd", params[0],params[1],params[2]))
	{
		SCM(playerid, -1, "[Nivel Lechero 16]");
		return 1;
	}
	else if (!IsPlayerConnected(params[0])) SendClientMessage(playerid,COLOR_WHITE,"Jugador no conectado");
	else
	{
		switch(params[1])
		{
			case 1:
			{
				PlayerInfo[params[0]][pNivelLechero] = params[2];
				format(szMessage, sizeof(szMessage),"%s usaste el comando /pstat con %s - Nivel Lechero: %d.", NombreJugador(playerid),NombreJugador(params[0]),params[2]);
				SendClientMessage(playerid,-1, szMessage);
				Log("logs/pstat.log", szMessage);
			}
			default: SendClientMessage(playerid, -1, "Código inválido!");
		}
	}
	return 1;
}
  Cantidad de llaves: Abiertas(5)-Cerradas(5) | Lineas Totales: 26
Creamos unos Forward
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

forward SacarLeche(playerid);
public SacarLeche(playerid)
{
	// Balde 19468
	BaldeAgua[playerid] = 1;
	Objeto[playerid] = 9003;
	TogglePlayerControllable(playerid, 1);
	StopAudioStreamForPlayer(playerid);
	SendClientMessage(playerid, -1, "Has oldeñado la vaca, sube a la procesadora y usa {DBED15}/procesar{FFFFFF} y dejalo segun corresponde tu nivel.");
	SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
	SetPlayerAttachedObject(playerid, 2, 19468, 5, 0.126999,-0.089000,0.127998,101.199981,-164.499847,82.999900,1.032001,0.972000,1.002997);
	return 1;
}

forward ProcesoLeche(playerid);
public ProcesoLeche(playerid)
{
    RemovePlayerAttachedObject(playerid,2);
	Objeto[playerid] = 9003;
	if(Muriendo[playerid] == 1 || Consumible[playerid] == 1 || VariableCaido[playerid] == 1 || Esposando[playerid] == 2 || recogiendo[playerid] > 0) return 1;
	if(IsPlayerInAnyVehicle(playerid)) return 1;
	ClearAnimations(playerid);
	SetPlayerSpecialAction(playerid, 0);
	ApplyAnimation(playerid, "CARRY", "crry_prtial", 1.0, 0, 0, 0, 0, 0);
	ExpLechero(playerid);
	DescongelarEx(playerid);
	return 1;
}
  Cantidad de llaves: Abiertas(4)-Cerradas(4) | Lineas Totales: 28


Y por ultimo vamos a el cmd CMD:ayuda - else if(strcmp(item,"trabajos",true) ==0)
 Codigo Pawno:
1

format(string, 250, "\nLechero");
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1


Ponemos el CMDBRINCAR
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12

CMD:brincar(playerid, params[])
{
	if(IsPlayerInRangeOfPoint(playerid,2.5, 11.6536,72.5580,3.1172))
	{
        new pName[32], string[128];
		GetPlayerName(playerid, pName, 32);
		SetPosEx(playerid,11.0162,71.7283,3.9962,0,0,0);
		format(string,256,"%s brinca hacia la plataforma.",pName);
		ProxDetector(15.0, playerid, string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
	}
	return 1;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 12
Ponemos el CMDSALTAR
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12

CMD:saltar(playerid, params[])
{
	if(IsPlayerInRangeOfPoint(playerid,2.5, -38.4791,-28.9609,3.1172))
	{
        new pName[32], string[128];
		GetPlayerName(playerid, pName, 32);
		SetPosEx(playerid,-36.8505,-29.6648,3.1172,0,0,0);
		format(string,256,"%s brinca el muro.",pName);
		ProxDetector(15.0, playerid, string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
	}
	return 1;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 12
Ponemos el MAPEO
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

//LECHERO
CreateObject(16446, -43.71219, -53.88224, 5.09376,   0.00000, 0.00000, 248.70193);
CreateObject(16480, 332.44559, 1387.29919, 9.63705,   0.00000, 0.00000, 24.18705);
CreateObject(16442, 23.51570, 85.51757, 4.06413,   0.00000, 0.00000, 0.00000);
CreateObject(16442, 116.72795, -9.78345, 2.33962,   0.00000, 0.00000, 221.74446);
CreateObject(16442, -75.36800, -72.01701, 3.86713,   0.00000, 0.00000, 0.00000);
CreateObject(16446, -2.20988, 41.14013, 5.72211,   0.00000, 0.00000, 246.40312);
CreateObject(16446, 118.54826, -25.34154, 3.60315,   0.00000, 0.00000, 359.06567);
CreateObject(16318, 3.40674, 53.44180, 5.65414,   0.00000, 0.00000, 246.36124);
CreateObject(16448, 77.61340, 80.09550, 1.70244,   0.00000, 0.00000, 145.21967);
CreateObject(19002, 78.42822, 94.45226, 10.24430,   0.00000, 0.00000, 326.09399);
CreateObject(16442, 78.52733, 94.33321, 7.07114,   0.00000, 0.00000, 236.55513);
CreateObject(19134, 78.18507, 94.21398, 4.30309,   0.00000, 0.00000, 48.96201);
CreateObject(16318, -38.65310, -41.20053, 4.80852,   0.00000, 0.00000, 248.47525);
CreateObject(16318, 118.62582, -38.76118, 3.68074,   0.00000, 0.00000, 89.43253);
CreateObject(1597, 68.68226, 111.48873, 4.11082,   0.00000, 0.00000, 327.69165);
CreateObject(1597, 73.89658, 119.70483, 4.11082,   0.00000, 0.00000, 327.69165);
CreateObject(1597, 81.25047, 119.99012, 4.11082,   0.00000, 0.00000, 239.22900);
CreateObject(1597, 99.49109, 108.66336, 4.11082,   0.00000, 0.00000, 239.22900);
CreateObject(19313, 102.32999, 122.65430, 4.67257,   0.00000, 0.00000, 68.52641);
CreateObject(19313, 106.32312, 136.06525, 3.10769,   0.00000, 0.00000, 76.69656);
CreateObject(19313, 100.27132, 117.42463, -0.30083,   0.00000, 0.00000, 68.01785);
CreateObject(19468, 22.85189, 84.93317, 2.11084,   0.00000, 0.00000, 0.00000);
CreateObject(19468, 118.00731, -10.59936, 0.28713,   0.00000, 0.00000, 0.00000);
CreateObject(19468, -75.86136, -71.65527, 2.21276,   0.00000, 0.00000, 0.00000);
CreateObject(12991, 59.02824, 96.70751, 1.35641,   0.00000, 0.00000, 233.39038);
CreateObject(14804, 61.58979, 94.56193, 2.08595,   0.00000, 0.00000, 276.66913);
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 27
Vamos hacia la Base de datos y buscamo CREATE TABLE `usuarios`

Y creamos esto
 Codigo Pawno:
1
2

`NivelLechero` varchar(3) NOT NULL DEFAULT '1',
`ExpLechero` varchar(3) NOT NULL DEFAULT '0',
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2


Imagenes: https://imgur.com/a/nDCwr7f

Si lo usan respetar creditos.

Si lo usaran para otra clase de GM, cambiar variables.

Espero les sirva. (( RECUERDEN ESTA EN LA VERSION: ALPHA, POCO A POCO SE MEJORARA ))
Última edición por Alejandro44 el 17 Oct 2018 06:11, editado 1 vez en total.
Mis aportes:


RZPlay
Aprendiz
Aprendiz
Mensajes: 494
Registrado: 16 Jul 2015 19:02
Ubicación: Cabimas - Zulia - Venezuela
Contactar:
Reputación: 0

27 Sep 2018 20:16

MARDITASEA CIERREN ESTO O EDITA, DETESTO A LA GENTE QUE DICE HECHO POR MI, Y NO SABEN NI LIMPIARCE EL CULO, ESCRIBEN APARTE MAL "ECHO" ESTO ESTÁ EN LA ÚLTIMA GM LIBERADA BASE OZ, PERDÓNENME MI ALTERACION PERO ESTE BABIECO NOS VE CARA DE MONGOLICO PEDAZO DE MARIDO MALDITO
RIO ROLEPLAY
GM UNICA NUNCA VISTA
MUY PRONTO.

http://www.youtube.com/c/NovinES
Avatar de Usuario
Untitled_
Senior
Senior
Mensajes: 806
Registrado: 13 Sep 2018 11:24
Reputación: 60

27 Sep 2018 20:21

Dudo mucho que esto lo haya creado usted -happy
Sí eres nuevo podrías pasarte por mis guía
[Guía] Cómo crear un post de forma correcta
[Guía] Cómo obtener link .mp3 de [dropbox]

La suerte es el resultado de la suma de intentos, fracasos y perseverancia
Únete a mi grupo de discord

Grupo de Discord
Quieres ser parte de un proyecto TDM actualmente estoy solo cuento con host y foro phpbb
Untitled#1748
[ Imagen Externa ]

Avatar de Usuario
Theskiles
Aprendiz
Aprendiz
Mensajes: 252
Registrado: 02 Nov 2017 14:32
Ubicación: Narnia
Reputación: 0

27 Sep 2018 20:46

Esto no lo creo usted, no mienta porfavor
Pavas
Aprendiz
Aprendiz
Mensajes: 151
Registrado: 23 Ago 2015 17:05
Ubicación: México, CDMX
Reputación: 2

30 Sep 2018 10:41

No sé si sea problema de la bd... pero se me reinicia el server... qué puede ser?, agregué todo bien...

No todo lo que brilla es oro, a veces soy yo.

Brayan2019
Aprendiz
Aprendiz
Mensajes: 46
Registrado: 03 Abr 2018 14:57
Ubicación: Venezuela
Contactar:
Reputación: 0

04 Oct 2018 10:22

Alejandro44 escribió:
27 Sep 2018 13:11
Buenos Dias/Tarde/Noche

Hoy les traigo un aporte de un trabajo, echo desde cero por mi.

El trabajo consiste en sacarle la leche a las vaca y procesarla por una maquina.

Versión: Alpha

Creditos: Alejandro44

Bueno iniciemos... -grin

Primero que nada vamos a poner // Habilidades / Experiencia
 Codigo Pawno:
1
2

pExpLechero,
	pNivelLechero,
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2
Vamos hacia LimpiarCuenta(playerid)
 Codigo Pawno:
1
2
3

SetPVarInt(playerid, "Lechero", 0);
PlayerInfo[playerid][pExpLechero] = 0;
PlayerInfo[playerid][pNivelLechero] = 0;
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 3
Esto va en sus stock(playerid)
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169

stock ExpLechero(playerid)
{
    SetPVarInt(playerid, "Lechero", 0);
	switch(PlayerInfo[playerid][pNivelLechero])
	{
		case 1:
		{
			if(PlayerInfo[playerid][pExpLechero] < 49)
			{
				if(PlayerInfo[playerid][vip] == 1)
				{
					new pago = random(3);
					switch(pago)
					{
						case 0:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 1:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 2:
						{
							PlayerInfo[playerid][pExpLechero]+= 2;
							SCM(playerid,0x0080C2FF,"Has aumentado +2 puntos de habilidad como lechero");
						}
					}
				}
				else
				{
					PlayerInfo[playerid][pExpLechero]++;
					SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
				}
			}
			else if(PlayerInfo[playerid][pNivelLechero] == 1 && PlayerInfo[playerid][pExpLechero] >= 49)
			{
				PlayerInfo[playerid][pNivelLechero]++;
				PlayerInfo[playerid][pExpLechero] = 0;
				SCM(playerid,-1,"¡Felicidades!, has subido un nivel en tu trabajo de lechero");
			}
			 DarDinero(playerid, 8000);
			 SendClientMessage(playerid, BLANCO, "{FFFFFF}Procesaste la leche y te pagaron {E38100}$8000 {FFFFFF}.");
		}
		case 2:
		{
			if(PlayerInfo[playerid][pExpLechero] < 49)
			{
				if(PlayerInfo[playerid][vip] == 1)
				{
					new pago = random(3);
					switch(pago)
					{
						case 0:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 1:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 2:
						{
							PlayerInfo[playerid][pExpLechero]+= 2;
							SCM(playerid,0x0080C2FF,"Has aumentado +2 puntos de habilidad como lechero");
						}
					}
				}
				else
				{
					PlayerInfo[playerid][pExpLechero]++;
					SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
				}
			}
			else if(PlayerInfo[playerid][pExpLechero] >= 49)
			{
				PlayerInfo[playerid][pNivelLechero]++;
				PlayerInfo[playerid][pExpLechero] = 0;
				SCM(playerid,-1,"¡Felicidades!, has subido un nivel en tu trabajo de lechero");
			}
			 DarDinero(playerid, 7000);
			 SendClientMessage(playerid, BLANCO, "{FFFFFF}Procesaste la leche y te pagaron {E38100}$7000 {FFFFFF}.");
		}
		case 3:
		{
			if(PlayerInfo[playerid][pExpLechero] < 49)
			{
				if(PlayerInfo[playerid][vip] == 1)
				{
					new pago = random(3);
					switch(pago)
					{
						case 0:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 1:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 2:
						{
							PlayerInfo[playerid][pExpLechero]+= 2;
							SCM(playerid,0x0080C2FF,"Has aumentado +2 puntos de habilidad como lechero");
						}
					}
				}
				else
				{
					PlayerInfo[playerid][pExpLechero]++;
					SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
				}
			}
			else if(PlayerInfo[playerid][pExpLechero] >= 49)
			{
				PlayerInfo[playerid][pNivelLechero]++;
				PlayerInfo[playerid][pExpLechero] = 0;
				SCM(playerid,-1,"¡Felicidades!, has subido un nivel en tu trabajo");
			}
			 DarDinero(playerid, 7000);
			 SendClientMessage(playerid, BLANCO, "{FFFFFF}Procesaste la leche y te pagaron {E38100}$7000 {FFFFFF}.");
		}
		case 4:
		{
			if(PlayerInfo[playerid][pExpLechero] < 49)
			{
				if(PlayerInfo[playerid][vip] == 1)
				{
					new pago = random(3);
					switch(pago)
					{
						case 0:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 1:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 2:
						{
							PlayerInfo[playerid][pExpLechero]+= 2;
							SCM(playerid,0x0080C2FF,"Has aumentado +2 puntos de habilidad como lechero");
						}
					}
				}
				else
				{
					PlayerInfo[playerid][pExpLechero]++;
					SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
				}
			}
			else if(PlayerInfo[playerid][pExpLechero] >= 49)
			{
				SCM(playerid,0x0080C2FF,"Has llegado al nivel máximo actual de este trabajo.");
			}
			 DarDinero(playerid, 10000);
			 SendClientMessage(playerid, BLANCO, "{FFFFFF}Procesaste la leche y te pagaron {E38100}$10000 {FFFFFF}.");
		}
	}
}
  Cantidad de llaves: Abiertas(50)-Cerradas(50) | Lineas Totales: 169
Esto va en el forward GuardarCuenta(playerid);
 Codigo Pawno:
1
2

`NivelLechero`='%d',`ExpLechero`='%d'
PlayerInfo[playerid][pNivelLechero],PlayerInfo[playerid][pExpLechero]
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2
Esto va en el stock Habilidad(playerid)
 Codigo Pawno:
1

	format(item,sizeof(item),"%s\nTrabajo de {878A8B}Lechero{FFFFFF} (Nivel: %d | Progreso %d/50)\n",item,	            PlayerInfo[playerid][pNivelLechero],	    PlayerInfo[playerid][pExpLechero]);
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 1
Esto va en el stock Habilidad2(playerid)
 Codigo Pawno:
1

	format(item,sizeof(item),"%s\nTrabajo de {878A8B}Lechero{FFFFFF} (Nivel: %d | Progreso %d/50)\n",item,	            PlayerInfo[ID][pNivelLechero],	    PlayerInfo[ID][pExpLechero]);
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 1

esto va en el stock, stock NombreTrabajo(trabajo)
 Codigo Pawno:
1

if (trabajo == 13)  format(rango, sizeof(rango), "Lechero");
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
Vamos a case GPS:
 Codigo Pawno:
1

\nLechero
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
Vamos a case GPS3:
 Codigo Pawno:
1
2
3
4
5
6

}
case 13:
{
SendClientMessage(playerid, -1, "Se ha marcado en el radar la ubicación que solicitaste");
SetPlayerCheckpoint(playerid, 77.7377,93.3610,2.2167, 3.0);
return 1;
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 6
Vamos a case TRABAJOS:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9

case 13:  // Lechero
					{
						format(string, sizeof(string), "Requisitos:\nTener, 1 hora de juego\n\n");
						format(string, sizeof(string), "%sInformacion:\nEste trabajo consiste en sacarle la leche a las vaca.\n",string);
						format(string, sizeof(string), "%sSolo debes conseguir el trabajo y empiezas a sacar leche\n",string);
						format(string, sizeof(string), "%sPodrás ganar dinero + baldes o tal vez solo dinero, varia.\n",string);
						ShowPlayerDialog(playerid, INFOCOSE, DIALOG_STYLE_MSGBOX, "Ayuda sobre el trabajo Lechero", string, "Aceptar","");
						return 1;
					}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 9
Creamos un actor
 Codigo Pawno:
1

CreateActor(236, 78.1364,93.9755,2.2475,147.6490);    // LECHERO
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1



Creamos los CreateDynamic3DTextLabel
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10

// LECHERO //
   	CreateDynamic3DTextLabel("{FFFF00}Trabajo Lechero{FFFFFF}\nPara trabajar de lechero\nUtiliza {FFFF00}/unirse lechero",AMARILLO,77.7377,93.3610,2.2167, 4.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID);
    CreateDynamic3DTextLabel("{FFFF00}¿No Puedes Subir?\n{FFFFFF}Para brincar usa,{FFFF00} /brincar",0xFFFFFFFC,11.6536,72.5580,3.1172,5.0); // BRINCAR
    CreateDynamic3DTextLabel("{FFFF00}¿No Puedes Subir?\n{FFFFFF}Para saltar usa,{FFFF00} /saltar",0xFFFFFFFC,-38.4791,-28.9609,3.1172,5.0); // SALTAR
	CreateDynamic3DTextLabel("{FFFF00}Vaca De Leche {FFFF00}Nivel 1\n{FFFFFF}Para sacarle la leche a la vaca usa,{FFFF00} /leche",0xFFFFFFFC,-75.6570,-71.0853,3.1172,5.0); // NIVEL 1
    CreateDynamic3DTextLabel("{FFFF00}Procesadora De Leche {FFFF00}Nivel 1\n{FFFFFF}Para procesar la leche usa,{FFFF00} /procesar",0xFFFFFFFC,-42.5740,-51.4288,9.8754,5.0); // NIVEL 1
    CreateDynamic3DTextLabel("{FFFF00}Vaca De Leche {FFFF00}Nivel 2\n{FFFFFF}Para sacarle la leche a la vaca usa,{FFFF00} /leche",0xFFFFFFFC,23.1143,84.6661,3.1172,5.0); // NIVEL 2
    CreateDynamic3DTextLabel("{FFFF00}Procesadora De Leche {FFFF00}Nivel 2\n{FFFFFF}Para procesar la leche usa,{FFFF00} /procesar",0xFFFFFFFC,-0.8823,43.4789,10.4910,5.0); // NIVEL 2
    CreateDynamic3DTextLabel("{FFFF00}Vaca De Leche {FFFF00}Nivel 3\n{FFFFFF}Para sacarle la leche a la vaca usa,{FFFF00} /leche",0xFFFFFFFC,117.7199,-10.1502,1.2504,5.0); // NIVEL 3
    CreateDynamic3DTextLabel("{FFFF00}Procesadora De Leche {FFFF00}Nivel 3\n{FFFFFF}Para procesar la leche usa,{FFFF00} /procesar",0xFFFFFFFC,118.7668,-27.5311,8.0991,5.0); // NIVEL 3
  Cantidad de llaves: Abiertas(33)-Cerradas(33) | Lineas Totales: 10


Creamos los pickups
 Codigo Pawno:
1
2

CreatePickup(1239,0,11.6536,72.5580,3.1172,0);                                  // BRINCAR LECHERO
CreatePickup(1239,0,-38.4791,-28.9609,3.1172,0);                                  // SALTAR LECHERO
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2
Creamos los iconos del mapa
 Codigo Pawno:
1
2
3
4

CreateDynamicMapIcon(77.7377,93.3610,2.2167, 60, 0, 0, 0, -1, 300.0);               // TRABAJO DE LECHERO
	CreateDynamicMapIcon(117.7199,-10.1502,1.2504, 56, 0, 0, 0, -1, 300.0);               // VACA LECHERO LVL 3
	CreateDynamicMapIcon(23.1143,84.6661,3.1172, 56, 0, 0, 0, -1, 300.0);                // VACA LECHERO LVL 2
	CreateDynamicMapIcon(-75.6570,-71.0853,3.1172, 56, 0, 0, 0, -1, 300.0);               // VACA LECHERO LVL 1
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 4

Ponemos esto en el comando /recibir stats
 Codigo Pawno:
1

PlayerInfo[playerid][pNivelLechero] = 1; // EL NIVEL QUE LE QUIERAN DAR AL RECIBIR STATS
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1


Creamos los comandos en lo ultimo de todo
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

CMD:leche(playerid, params[])
{
	if(IsPlayerInRangeOfPoint(playerid, 2.0, -75.6570,-71.0853,3.1172))
	{
		if(PlayerInfo[playerid][pNivelLechero] < 1) return SendClientMessage(playerid, -1, "No tienes suficiente nivel para sacar leche a esta vaca.");
	}

	if(IsPlayerInRangeOfPoint(playerid, 2.0, 23.1143,84.6661,3.1172))
	{
	    if(PlayerInfo[playerid][pNivelLechero] < 2) return SendClientMessage(playerid, -1, "No tienes suficiente nivel para sacar leche a esta vaca.");
	}

	if(IsPlayerInRangeOfPoint(playerid, 2.0, 117.7199,-10.1502,1.2504))
	{
	    if(PlayerInfo[playerid][pNivelLechero] < 3) return SendClientMessage(playerid, -1, "No tienes suficiente nivel para sacar leche a esta vaca.");
	}
	SendClientMessage(playerid, COLOR_BLANCO, "Se está sacando la leche de la vaca, espera por favor..");
	TogglePlayerControllable(playerid, 0);
	SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
	if(Muriendo[playerid] == 1 || Consumible[playerid] == 1 || VariableCaido[playerid] == 1 || Esposando[playerid] == 2 || recogiendo[playerid] > 0) return 1;
	ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 1, 1, 0,0);
	SetTimerEx("SacarLeche", 4000, false, "u", playerid);
	return 1;
}

CMD:procesar(playerid, params[])
{
	if(IsPlayerInRangeOfPoint(playerid, 2.0, -42.5740,-51.4288,9.8754))
	{
		if(PlayerInfo[playerid][pNivelLechero] < 1) return SendClientMessage(playerid, -1, "No tienes suficiente nivel para procesar leche en esta procesadora.");
	}

	if(IsPlayerInRangeOfPoint(playerid, 2.0, -0.8823,43.4789,10.4910))
	{
	    if(PlayerInfo[playerid][pNivelLechero] < 2) return SendClientMessage(playerid, -1, "No tienes suficiente nivel para procesar leche en esta procesadora.");
	}

	if(IsPlayerInRangeOfPoint(playerid, 2.0, 118.7668,-27.5311,8.0991))
	{
	    if(PlayerInfo[playerid][pNivelLechero] < 3) return SendClientMessage(playerid, -1, "No tienes suficiente nivel para procesar leche en esta procesadora.");
	}
	SendClientMessage(playerid, COLOR_BLANCO, "Se está procesando la leche espera porfavor..");
	TogglePlayerControllable(playerid, 0);
	SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
	if(Muriendo[playerid] == 1 || Consumible[playerid] == 1 || VariableCaido[playerid] == 1 || Esposando[playerid] == 2 || recogiendo[playerid] > 0) return 1;
	ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 1, 1, 0,0);
	SetTimerEx("ProcesoLeche", 3000, false, "u", playerid);
	return 1;
}
  Cantidad de llaves: Abiertas(8)-Cerradas(8) | Lineas Totales: 49
Vamos el comando CMD:trabajo
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

else if(strcmp(item, "lechero", true) == 0)
		{

			if(PlayerInfo[playerid][jJob] == 0)
			{


				if(IsPlayerInRangeOfPoint(playerid, 5.0, 77.7377,93.3610,2.2167))
				{


					SendClientMessage(playerid, COLOR_WHITE, "Ahora eres lechero! Puedes usar {F4FA58}/ayuda trabajos{FFFFFF} para ver los comandos disponibles.");
					PlayerInfo[playerid][jJob] = 13;
					return 1;
				}
			}
			else if(PlayerInfo[playerid][jJob] != 0 && PlayerInfo[playerid][vipjob] == 0 && PlayerInfo[playerid][vip] == 1)
			{


				if(IsPlayerInRangeOfPoint(playerid, 5.0, 77.7377,93.3610,2.2167))
				{


					SendClientMessage(playerid, COLOR_WHITE, "Ahora eres lechero! Puedes usar {F4FA58}/ayuda trabajos{FFFFFF} para ver los comandos disponibles.");
					PlayerInfo[playerid][vipjob] = 13;
					return 1;
				}
			}
			else if(PlayerInfo[playerid][vipjob] != 0) return SendClientMessage(playerid, 0xFFFFFFFF, "Ya tienes 2 trabajos, renuncia a uno");
		}
  Cantidad de llaves: Abiertas(9)-Cerradas(9) | Lineas Totales: 31

Vamos el comando CMD:dejar trabajo
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

if(strcmp(item, "trabajo",true)==0)
		{

			switch(PlayerInfo[playerid][jJob])
			{
				case 13: { Trabajo = 13; }
            }
			switch(PlayerInfo[playerid][vipjob])
			{
				case 13: { TrabajoVip = 13; }
			}
			switch(PlayerInfo[playerid][jJob])
			{
				case 13: { TrabajoN = "Lechero"; }
			}
			switch(PlayerInfo[playerid][vipjob])
			{

				case 13: { TrabajoVipN = "Lechero"; }
			}
  Cantidad de llaves: Abiertas(9)-Cerradas(8) | Lineas Totales: 20
Vamos al comando CMD:pstat
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

CMD:pstat(playerid, params[])
{
	new szMessage[250];
	if(PlayerInfo[playerid][jAdminNvl] < 5) return 0;
	if(sscanf(params, "ddd", params[0],params[1],params[2]))
	{
		SCM(playerid, -1, "[Nivel Lechero 16]");
		return 1;
	}
	else if (!IsPlayerConnected(params[0])) SendClientMessage(playerid,COLOR_WHITE,"Jugador no conectado");
	else
	{
		switch(params[1])
		{
			case 1:
			{
				PlayerInfo[params[0]][pNivelLechero] = params[2];
				format(szMessage, sizeof(szMessage),"%s usaste el comando /pstat con %s - Nivel Lechero: %d.", NombreJugador(playerid),NombreJugador(params[0]),params[2]);
				SendClientMessage(playerid,-1, szMessage);
				Log("logs/pstat.log", szMessage);
			}
			default: SendClientMessage(playerid, -1, "Código inválido!");
		}
	}
	return 1;
}
  Cantidad de llaves: Abiertas(5)-Cerradas(5) | Lineas Totales: 26
Creamos unos Forward
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

forward SacarLeche(playerid);
public SacarLeche(playerid)
{
	// Balde 19468
	BaldeAgua[playerid] = 1;
	Objeto[playerid] = 9003;
	TogglePlayerControllable(playerid, 1);
	StopAudioStreamForPlayer(playerid);
	SendClientMessage(playerid, -1, "Has oldeñado la vaca, sube a la procesadora y usa {DBED15}/procesar{FFFFFF} y dejalo segun corresponde tu nivel.");
	SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
	SetPlayerAttachedObject(playerid, 2, 19468, 5, 0.126999,-0.089000,0.127998,101.199981,-164.499847,82.999900,1.032001,0.972000,1.002997);
	return 1;
}

forward ProcesoLeche(playerid);
public ProcesoLeche(playerid)
{
    RemovePlayerAttachedObject(playerid,2);
	Objeto[playerid] = 9003;
	if(Muriendo[playerid] == 1 || Consumible[playerid] == 1 || VariableCaido[playerid] == 1 || Esposando[playerid] == 2 || recogiendo[playerid] > 0) return 1;
	if(IsPlayerInAnyVehicle(playerid)) return 1;
	ClearAnimations(playerid);
	SetPlayerSpecialAction(playerid, 0);
	ApplyAnimation(playerid, "CARRY", "crry_prtial", 1.0, 0, 0, 0, 0, 0);
	ExpLechero(playerid);
	DescongelarEx(playerid);
	return 1;
}
  Cantidad de llaves: Abiertas(4)-Cerradas(4) | Lineas Totales: 28


Y por ultimo vamos a el cmd CMD:ayuda - else if(strcmp(item,"trabajos",true) ==0)
 Codigo Pawno:
1

format(string, 250, "\nLechero");
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1


Ponemos el MAPEO
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

//LECHERO
CreateObject(16446, -43.71219, -53.88224, 5.09376,   0.00000, 0.00000, 248.70193);
CreateObject(16480, 332.44559, 1387.29919, 9.63705,   0.00000, 0.00000, 24.18705);
CreateObject(16442, 23.51570, 85.51757, 4.06413,   0.00000, 0.00000, 0.00000);
CreateObject(16442, 116.72795, -9.78345, 2.33962,   0.00000, 0.00000, 221.74446);
CreateObject(16442, -75.36800, -72.01701, 3.86713,   0.00000, 0.00000, 0.00000);
CreateObject(16446, -2.20988, 41.14013, 5.72211,   0.00000, 0.00000, 246.40312);
CreateObject(16446, 118.54826, -25.34154, 3.60315,   0.00000, 0.00000, 359.06567);
CreateObject(16318, 3.40674, 53.44180, 5.65414,   0.00000, 0.00000, 246.36124);
CreateObject(16448, 77.61340, 80.09550, 1.70244,   0.00000, 0.00000, 145.21967);
CreateObject(19002, 78.42822, 94.45226, 10.24430,   0.00000, 0.00000, 326.09399);
CreateObject(16442, 78.52733, 94.33321, 7.07114,   0.00000, 0.00000, 236.55513);
CreateObject(19134, 78.18507, 94.21398, 4.30309,   0.00000, 0.00000, 48.96201);
CreateObject(16318, -38.65310, -41.20053, 4.80852,   0.00000, 0.00000, 248.47525);
CreateObject(16318, 118.62582, -38.76118, 3.68074,   0.00000, 0.00000, 89.43253);
CreateObject(1597, 68.68226, 111.48873, 4.11082,   0.00000, 0.00000, 327.69165);
CreateObject(1597, 73.89658, 119.70483, 4.11082,   0.00000, 0.00000, 327.69165);
CreateObject(1597, 81.25047, 119.99012, 4.11082,   0.00000, 0.00000, 239.22900);
CreateObject(1597, 99.49109, 108.66336, 4.11082,   0.00000, 0.00000, 239.22900);
CreateObject(19313, 102.32999, 122.65430, 4.67257,   0.00000, 0.00000, 68.52641);
CreateObject(19313, 106.32312, 136.06525, 3.10769,   0.00000, 0.00000, 76.69656);
CreateObject(19313, 100.27132, 117.42463, -0.30083,   0.00000, 0.00000, 68.01785);
CreateObject(19468, 22.85189, 84.93317, 2.11084,   0.00000, 0.00000, 0.00000);
CreateObject(19468, 118.00731, -10.59936, 0.28713,   0.00000, 0.00000, 0.00000);
CreateObject(19468, -75.86136, -71.65527, 2.21276,   0.00000, 0.00000, 0.00000);
CreateObject(12991, 59.02824, 96.70751, 1.35641,   0.00000, 0.00000, 233.39038);
CreateObject(14804, 61.58979, 94.56193, 2.08595,   0.00000, 0.00000, 276.66913);
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 27
Vamos hacia la Base de datos y buscamo CREATE TABLE `usuarios`

Y creamos esto
 Codigo Pawno:
1
2

`NivelLechero` varchar(3) NOT NULL DEFAULT '1',
`ExpLechero` varchar(3) NOT NULL DEFAULT '0',
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2


Imagenes: https://imgur.com/a/nDCwr7f

Si lo usan respetar creditos.

Si lo usaran para otra clase de GM, cambiar variables.

Espero les sirva. (( RECUERDEN ESTA EN LA VERSION: ALPHA, POCO A POCO SE MEJORARA ))
te falto el cmd brincar y el saltar porfavor ponlo
HostName: FalconZoneRP [S1] Rol En Español
Address: 167.114.113.24:9999
Players: 6 / 138
Ping: 232
Mode: FZ:RP v0.12 Español
Language: Español
Avatar de Usuario
Alejandro44
Aprendiz
Aprendiz
Mensajes: 138
Registrado: 30 Ago 2017 07:07
Ubicación: Venezuela
Contactar:
Reputación: 6

17 Oct 2018 06:07

Pavas escribió:
30 Sep 2018 10:41
No sé si sea problema de la bd... pero se me reinicia el server... qué puede ser?, agregué todo bien...
HOla amigo seguro no pusiste lo mismo que pusiste en el Forward GuardarCuenta , ahora tiene que poner lo mismo en Forward SaveAccount
Mis aportes:


Avatar de Usuario
Alejandro44
Aprendiz
Aprendiz
Mensajes: 138
Registrado: 30 Ago 2017 07:07
Ubicación: Venezuela
Contactar:
Reputación: 6

17 Oct 2018 06:12

Brayan2019 escribió:
04 Oct 2018 10:22
Alejandro44 escribió:
27 Sep 2018 13:11
Buenos Dias/Tarde/Noche

Hoy les traigo un aporte de un trabajo, echo desde cero por mi.

El trabajo consiste en sacarle la leche a las vaca y procesarla por una maquina.

Versión: Alpha

Creditos: Alejandro44

Bueno iniciemos... -grin

Primero que nada vamos a poner // Habilidades / Experiencia
 Codigo Pawno:
1
2

pExpLechero,
	pNivelLechero,
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2
Vamos hacia LimpiarCuenta(playerid)
 Codigo Pawno:
1
2
3

SetPVarInt(playerid, "Lechero", 0);
PlayerInfo[playerid][pExpLechero] = 0;
PlayerInfo[playerid][pNivelLechero] = 0;
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 3
Esto va en sus stock(playerid)
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169

stock ExpLechero(playerid)
{
    SetPVarInt(playerid, "Lechero", 0);
	switch(PlayerInfo[playerid][pNivelLechero])
	{
		case 1:
		{
			if(PlayerInfo[playerid][pExpLechero] < 49)
			{
				if(PlayerInfo[playerid][vip] == 1)
				{
					new pago = random(3);
					switch(pago)
					{
						case 0:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 1:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 2:
						{
							PlayerInfo[playerid][pExpLechero]+= 2;
							SCM(playerid,0x0080C2FF,"Has aumentado +2 puntos de habilidad como lechero");
						}
					}
				}
				else
				{
					PlayerInfo[playerid][pExpLechero]++;
					SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
				}
			}
			else if(PlayerInfo[playerid][pNivelLechero] == 1 && PlayerInfo[playerid][pExpLechero] >= 49)
			{
				PlayerInfo[playerid][pNivelLechero]++;
				PlayerInfo[playerid][pExpLechero] = 0;
				SCM(playerid,-1,"¡Felicidades!, has subido un nivel en tu trabajo de lechero");
			}
			 DarDinero(playerid, 8000);
			 SendClientMessage(playerid, BLANCO, "{FFFFFF}Procesaste la leche y te pagaron {E38100}$8000 {FFFFFF}.");
		}
		case 2:
		{
			if(PlayerInfo[playerid][pExpLechero] < 49)
			{
				if(PlayerInfo[playerid][vip] == 1)
				{
					new pago = random(3);
					switch(pago)
					{
						case 0:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 1:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 2:
						{
							PlayerInfo[playerid][pExpLechero]+= 2;
							SCM(playerid,0x0080C2FF,"Has aumentado +2 puntos de habilidad como lechero");
						}
					}
				}
				else
				{
					PlayerInfo[playerid][pExpLechero]++;
					SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
				}
			}
			else if(PlayerInfo[playerid][pExpLechero] >= 49)
			{
				PlayerInfo[playerid][pNivelLechero]++;
				PlayerInfo[playerid][pExpLechero] = 0;
				SCM(playerid,-1,"¡Felicidades!, has subido un nivel en tu trabajo de lechero");
			}
			 DarDinero(playerid, 7000);
			 SendClientMessage(playerid, BLANCO, "{FFFFFF}Procesaste la leche y te pagaron {E38100}$7000 {FFFFFF}.");
		}
		case 3:
		{
			if(PlayerInfo[playerid][pExpLechero] < 49)
			{
				if(PlayerInfo[playerid][vip] == 1)
				{
					new pago = random(3);
					switch(pago)
					{
						case 0:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 1:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 2:
						{
							PlayerInfo[playerid][pExpLechero]+= 2;
							SCM(playerid,0x0080C2FF,"Has aumentado +2 puntos de habilidad como lechero");
						}
					}
				}
				else
				{
					PlayerInfo[playerid][pExpLechero]++;
					SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
				}
			}
			else if(PlayerInfo[playerid][pExpLechero] >= 49)
			{
				PlayerInfo[playerid][pNivelLechero]++;
				PlayerInfo[playerid][pExpLechero] = 0;
				SCM(playerid,-1,"¡Felicidades!, has subido un nivel en tu trabajo");
			}
			 DarDinero(playerid, 7000);
			 SendClientMessage(playerid, BLANCO, "{FFFFFF}Procesaste la leche y te pagaron {E38100}$7000 {FFFFFF}.");
		}
		case 4:
		{
			if(PlayerInfo[playerid][pExpLechero] < 49)
			{
				if(PlayerInfo[playerid][vip] == 1)
				{
					new pago = random(3);
					switch(pago)
					{
						case 0:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 1:
						{
							PlayerInfo[playerid][pExpLechero]++;
							SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
						}
						case 2:
						{
							PlayerInfo[playerid][pExpLechero]+= 2;
							SCM(playerid,0x0080C2FF,"Has aumentado +2 puntos de habilidad como lechero");
						}
					}
				}
				else
				{
					PlayerInfo[playerid][pExpLechero]++;
					SCM(playerid,0x0080C2FF,"Has aumentado +1 puntos de habilidad como lechero");
				}
			}
			else if(PlayerInfo[playerid][pExpLechero] >= 49)
			{
				SCM(playerid,0x0080C2FF,"Has llegado al nivel máximo actual de este trabajo.");
			}
			 DarDinero(playerid, 10000);
			 SendClientMessage(playerid, BLANCO, "{FFFFFF}Procesaste la leche y te pagaron {E38100}$10000 {FFFFFF}.");
		}
	}
}
  Cantidad de llaves: Abiertas(50)-Cerradas(50) | Lineas Totales: 169
Esto va en el forward GuardarCuenta(playerid);
 Codigo Pawno:
1
2

`NivelLechero`='%d',`ExpLechero`='%d'
PlayerInfo[playerid][pNivelLechero],PlayerInfo[playerid][pExpLechero]
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2
Esto va en el stock Habilidad(playerid)
 Codigo Pawno:
1

	format(item,sizeof(item),"%s\nTrabajo de {878A8B}Lechero{FFFFFF} (Nivel: %d | Progreso %d/50)\n",item,	            PlayerInfo[playerid][pNivelLechero],	    PlayerInfo[playerid][pExpLechero]);
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 1
Esto va en el stock Habilidad2(playerid)
 Codigo Pawno:
1

	format(item,sizeof(item),"%s\nTrabajo de {878A8B}Lechero{FFFFFF} (Nivel: %d | Progreso %d/50)\n",item,	            PlayerInfo[ID][pNivelLechero],	    PlayerInfo[ID][pExpLechero]);
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 1

esto va en el stock, stock NombreTrabajo(trabajo)
 Codigo Pawno:
1

if (trabajo == 13)  format(rango, sizeof(rango), "Lechero");
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
Vamos a case GPS:
 Codigo Pawno:
1

\nLechero
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
Vamos a case GPS3:
 Codigo Pawno:
1
2
3
4
5
6

}
case 13:
{
SendClientMessage(playerid, -1, "Se ha marcado en el radar la ubicación que solicitaste");
SetPlayerCheckpoint(playerid, 77.7377,93.3610,2.2167, 3.0);
return 1;
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 6
Vamos a case TRABAJOS:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9

case 13:  // Lechero
					{
						format(string, sizeof(string), "Requisitos:\nTener, 1 hora de juego\n\n");
						format(string, sizeof(string), "%sInformacion:\nEste trabajo consiste en sacarle la leche a las vaca.\n",string);
						format(string, sizeof(string), "%sSolo debes conseguir el trabajo y empiezas a sacar leche\n",string);
						format(string, sizeof(string), "%sPodrás ganar dinero + baldes o tal vez solo dinero, varia.\n",string);
						ShowPlayerDialog(playerid, INFOCOSE, DIALOG_STYLE_MSGBOX, "Ayuda sobre el trabajo Lechero", string, "Aceptar","");
						return 1;
					}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 9
Creamos un actor
 Codigo Pawno:
1

CreateActor(236, 78.1364,93.9755,2.2475,147.6490);    // LECHERO
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1



Creamos los CreateDynamic3DTextLabel
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10

// LECHERO //
   	CreateDynamic3DTextLabel("{FFFF00}Trabajo Lechero{FFFFFF}\nPara trabajar de lechero\nUtiliza {FFFF00}/unirse lechero",AMARILLO,77.7377,93.3610,2.2167, 4.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID);
    CreateDynamic3DTextLabel("{FFFF00}¿No Puedes Subir?\n{FFFFFF}Para brincar usa,{FFFF00} /brincar",0xFFFFFFFC,11.6536,72.5580,3.1172,5.0); // BRINCAR
    CreateDynamic3DTextLabel("{FFFF00}¿No Puedes Subir?\n{FFFFFF}Para saltar usa,{FFFF00} /saltar",0xFFFFFFFC,-38.4791,-28.9609,3.1172,5.0); // SALTAR
	CreateDynamic3DTextLabel("{FFFF00}Vaca De Leche {FFFF00}Nivel 1\n{FFFFFF}Para sacarle la leche a la vaca usa,{FFFF00} /leche",0xFFFFFFFC,-75.6570,-71.0853,3.1172,5.0); // NIVEL 1
    CreateDynamic3DTextLabel("{FFFF00}Procesadora De Leche {FFFF00}Nivel 1\n{FFFFFF}Para procesar la leche usa,{FFFF00} /procesar",0xFFFFFFFC,-42.5740,-51.4288,9.8754,5.0); // NIVEL 1
    CreateDynamic3DTextLabel("{FFFF00}Vaca De Leche {FFFF00}Nivel 2\n{FFFFFF}Para sacarle la leche a la vaca usa,{FFFF00} /leche",0xFFFFFFFC,23.1143,84.6661,3.1172,5.0); // NIVEL 2
    CreateDynamic3DTextLabel("{FFFF00}Procesadora De Leche {FFFF00}Nivel 2\n{FFFFFF}Para procesar la leche usa,{FFFF00} /procesar",0xFFFFFFFC,-0.8823,43.4789,10.4910,5.0); // NIVEL 2
    CreateDynamic3DTextLabel("{FFFF00}Vaca De Leche {FFFF00}Nivel 3\n{FFFFFF}Para sacarle la leche a la vaca usa,{FFFF00} /leche",0xFFFFFFFC,117.7199,-10.1502,1.2504,5.0); // NIVEL 3
    CreateDynamic3DTextLabel("{FFFF00}Procesadora De Leche {FFFF00}Nivel 3\n{FFFFFF}Para procesar la leche usa,{FFFF00} /procesar",0xFFFFFFFC,118.7668,-27.5311,8.0991,5.0); // NIVEL 3
  Cantidad de llaves: Abiertas(33)-Cerradas(33) | Lineas Totales: 10


Creamos los pickups
 Codigo Pawno:
1
2

CreatePickup(1239,0,11.6536,72.5580,3.1172,0);                                  // BRINCAR LECHERO
CreatePickup(1239,0,-38.4791,-28.9609,3.1172,0);                                  // SALTAR LECHERO
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2
Creamos los iconos del mapa
 Codigo Pawno:
1
2
3
4

CreateDynamicMapIcon(77.7377,93.3610,2.2167, 60, 0, 0, 0, -1, 300.0);               // TRABAJO DE LECHERO
	CreateDynamicMapIcon(117.7199,-10.1502,1.2504, 56, 0, 0, 0, -1, 300.0);               // VACA LECHERO LVL 3
	CreateDynamicMapIcon(23.1143,84.6661,3.1172, 56, 0, 0, 0, -1, 300.0);                // VACA LECHERO LVL 2
	CreateDynamicMapIcon(-75.6570,-71.0853,3.1172, 56, 0, 0, 0, -1, 300.0);               // VACA LECHERO LVL 1
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 4

Ponemos esto en el comando /recibir stats
 Codigo Pawno:
1

PlayerInfo[playerid][pNivelLechero] = 1; // EL NIVEL QUE LE QUIERAN DAR AL RECIBIR STATS
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1


Creamos los comandos en lo ultimo de todo
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

CMD:leche(playerid, params[])
{
	if(IsPlayerInRangeOfPoint(playerid, 2.0, -75.6570,-71.0853,3.1172))
	{
		if(PlayerInfo[playerid][pNivelLechero] < 1) return SendClientMessage(playerid, -1, "No tienes suficiente nivel para sacar leche a esta vaca.");
	}

	if(IsPlayerInRangeOfPoint(playerid, 2.0, 23.1143,84.6661,3.1172))
	{
	    if(PlayerInfo[playerid][pNivelLechero] < 2) return SendClientMessage(playerid, -1, "No tienes suficiente nivel para sacar leche a esta vaca.");
	}

	if(IsPlayerInRangeOfPoint(playerid, 2.0, 117.7199,-10.1502,1.2504))
	{
	    if(PlayerInfo[playerid][pNivelLechero] < 3) return SendClientMessage(playerid, -1, "No tienes suficiente nivel para sacar leche a esta vaca.");
	}
	SendClientMessage(playerid, COLOR_BLANCO, "Se está sacando la leche de la vaca, espera por favor..");
	TogglePlayerControllable(playerid, 0);
	SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
	if(Muriendo[playerid] == 1 || Consumible[playerid] == 1 || VariableCaido[playerid] == 1 || Esposando[playerid] == 2 || recogiendo[playerid] > 0) return 1;
	ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 1, 1, 0,0);
	SetTimerEx("SacarLeche", 4000, false, "u", playerid);
	return 1;
}

CMD:procesar(playerid, params[])
{
	if(IsPlayerInRangeOfPoint(playerid, 2.0, -42.5740,-51.4288,9.8754))
	{
		if(PlayerInfo[playerid][pNivelLechero] < 1) return SendClientMessage(playerid, -1, "No tienes suficiente nivel para procesar leche en esta procesadora.");
	}

	if(IsPlayerInRangeOfPoint(playerid, 2.0, -0.8823,43.4789,10.4910))
	{
	    if(PlayerInfo[playerid][pNivelLechero] < 2) return SendClientMessage(playerid, -1, "No tienes suficiente nivel para procesar leche en esta procesadora.");
	}

	if(IsPlayerInRangeOfPoint(playerid, 2.0, 118.7668,-27.5311,8.0991))
	{
	    if(PlayerInfo[playerid][pNivelLechero] < 3) return SendClientMessage(playerid, -1, "No tienes suficiente nivel para procesar leche en esta procesadora.");
	}
	SendClientMessage(playerid, COLOR_BLANCO, "Se está procesando la leche espera porfavor..");
	TogglePlayerControllable(playerid, 0);
	SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
	if(Muriendo[playerid] == 1 || Consumible[playerid] == 1 || VariableCaido[playerid] == 1 || Esposando[playerid] == 2 || recogiendo[playerid] > 0) return 1;
	ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 1, 1, 0,0);
	SetTimerEx("ProcesoLeche", 3000, false, "u", playerid);
	return 1;
}
  Cantidad de llaves: Abiertas(8)-Cerradas(8) | Lineas Totales: 49
Vamos el comando CMD:trabajo
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

else if(strcmp(item, "lechero", true) == 0)
		{

			if(PlayerInfo[playerid][jJob] == 0)
			{


				if(IsPlayerInRangeOfPoint(playerid, 5.0, 77.7377,93.3610,2.2167))
				{


					SendClientMessage(playerid, COLOR_WHITE, "Ahora eres lechero! Puedes usar {F4FA58}/ayuda trabajos{FFFFFF} para ver los comandos disponibles.");
					PlayerInfo[playerid][jJob] = 13;
					return 1;
				}
			}
			else if(PlayerInfo[playerid][jJob] != 0 && PlayerInfo[playerid][vipjob] == 0 && PlayerInfo[playerid][vip] == 1)
			{


				if(IsPlayerInRangeOfPoint(playerid, 5.0, 77.7377,93.3610,2.2167))
				{


					SendClientMessage(playerid, COLOR_WHITE, "Ahora eres lechero! Puedes usar {F4FA58}/ayuda trabajos{FFFFFF} para ver los comandos disponibles.");
					PlayerInfo[playerid][vipjob] = 13;
					return 1;
				}
			}
			else if(PlayerInfo[playerid][vipjob] != 0) return SendClientMessage(playerid, 0xFFFFFFFF, "Ya tienes 2 trabajos, renuncia a uno");
		}
  Cantidad de llaves: Abiertas(9)-Cerradas(9) | Lineas Totales: 31

Vamos el comando CMD:dejar trabajo
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

if(strcmp(item, "trabajo",true)==0)
		{

			switch(PlayerInfo[playerid][jJob])
			{
				case 13: { Trabajo = 13; }
            }
			switch(PlayerInfo[playerid][vipjob])
			{
				case 13: { TrabajoVip = 13; }
			}
			switch(PlayerInfo[playerid][jJob])
			{
				case 13: { TrabajoN = "Lechero"; }
			}
			switch(PlayerInfo[playerid][vipjob])
			{

				case 13: { TrabajoVipN = "Lechero"; }
			}
  Cantidad de llaves: Abiertas(9)-Cerradas(8) | Lineas Totales: 20
Vamos al comando CMD:pstat
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

CMD:pstat(playerid, params[])
{
	new szMessage[250];
	if(PlayerInfo[playerid][jAdminNvl] < 5) return 0;
	if(sscanf(params, "ddd", params[0],params[1],params[2]))
	{
		SCM(playerid, -1, "[Nivel Lechero 16]");
		return 1;
	}
	else if (!IsPlayerConnected(params[0])) SendClientMessage(playerid,COLOR_WHITE,"Jugador no conectado");
	else
	{
		switch(params[1])
		{
			case 1:
			{
				PlayerInfo[params[0]][pNivelLechero] = params[2];
				format(szMessage, sizeof(szMessage),"%s usaste el comando /pstat con %s - Nivel Lechero: %d.", NombreJugador(playerid),NombreJugador(params[0]),params[2]);
				SendClientMessage(playerid,-1, szMessage);
				Log("logs/pstat.log", szMessage);
			}
			default: SendClientMessage(playerid, -1, "Código inválido!");
		}
	}
	return 1;
}
  Cantidad de llaves: Abiertas(5)-Cerradas(5) | Lineas Totales: 26
Creamos unos Forward
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

forward SacarLeche(playerid);
public SacarLeche(playerid)
{
	// Balde 19468
	BaldeAgua[playerid] = 1;
	Objeto[playerid] = 9003;
	TogglePlayerControllable(playerid, 1);
	StopAudioStreamForPlayer(playerid);
	SendClientMessage(playerid, -1, "Has oldeñado la vaca, sube a la procesadora y usa {DBED15}/procesar{FFFFFF} y dejalo segun corresponde tu nivel.");
	SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
	SetPlayerAttachedObject(playerid, 2, 19468, 5, 0.126999,-0.089000,0.127998,101.199981,-164.499847,82.999900,1.032001,0.972000,1.002997);
	return 1;
}

forward ProcesoLeche(playerid);
public ProcesoLeche(playerid)
{
    RemovePlayerAttachedObject(playerid,2);
	Objeto[playerid] = 9003;
	if(Muriendo[playerid] == 1 || Consumible[playerid] == 1 || VariableCaido[playerid] == 1 || Esposando[playerid] == 2 || recogiendo[playerid] > 0) return 1;
	if(IsPlayerInAnyVehicle(playerid)) return 1;
	ClearAnimations(playerid);
	SetPlayerSpecialAction(playerid, 0);
	ApplyAnimation(playerid, "CARRY", "crry_prtial", 1.0, 0, 0, 0, 0, 0);
	ExpLechero(playerid);
	DescongelarEx(playerid);
	return 1;
}
  Cantidad de llaves: Abiertas(4)-Cerradas(4) | Lineas Totales: 28


Y por ultimo vamos a el cmd CMD:ayuda - else if(strcmp(item,"trabajos",true) ==0)
 Codigo Pawno:
1

format(string, 250, "\nLechero");
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1


Ponemos el MAPEO
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

//LECHERO
CreateObject(16446, -43.71219, -53.88224, 5.09376,   0.00000, 0.00000, 248.70193);
CreateObject(16480, 332.44559, 1387.29919, 9.63705,   0.00000, 0.00000, 24.18705);
CreateObject(16442, 23.51570, 85.51757, 4.06413,   0.00000, 0.00000, 0.00000);
CreateObject(16442, 116.72795, -9.78345, 2.33962,   0.00000, 0.00000, 221.74446);
CreateObject(16442, -75.36800, -72.01701, 3.86713,   0.00000, 0.00000, 0.00000);
CreateObject(16446, -2.20988, 41.14013, 5.72211,   0.00000, 0.00000, 246.40312);
CreateObject(16446, 118.54826, -25.34154, 3.60315,   0.00000, 0.00000, 359.06567);
CreateObject(16318, 3.40674, 53.44180, 5.65414,   0.00000, 0.00000, 246.36124);
CreateObject(16448, 77.61340, 80.09550, 1.70244,   0.00000, 0.00000, 145.21967);
CreateObject(19002, 78.42822, 94.45226, 10.24430,   0.00000, 0.00000, 326.09399);
CreateObject(16442, 78.52733, 94.33321, 7.07114,   0.00000, 0.00000, 236.55513);
CreateObject(19134, 78.18507, 94.21398, 4.30309,   0.00000, 0.00000, 48.96201);
CreateObject(16318, -38.65310, -41.20053, 4.80852,   0.00000, 0.00000, 248.47525);
CreateObject(16318, 118.62582, -38.76118, 3.68074,   0.00000, 0.00000, 89.43253);
CreateObject(1597, 68.68226, 111.48873, 4.11082,   0.00000, 0.00000, 327.69165);
CreateObject(1597, 73.89658, 119.70483, 4.11082,   0.00000, 0.00000, 327.69165);
CreateObject(1597, 81.25047, 119.99012, 4.11082,   0.00000, 0.00000, 239.22900);
CreateObject(1597, 99.49109, 108.66336, 4.11082,   0.00000, 0.00000, 239.22900);
CreateObject(19313, 102.32999, 122.65430, 4.67257,   0.00000, 0.00000, 68.52641);
CreateObject(19313, 106.32312, 136.06525, 3.10769,   0.00000, 0.00000, 76.69656);
CreateObject(19313, 100.27132, 117.42463, -0.30083,   0.00000, 0.00000, 68.01785);
CreateObject(19468, 22.85189, 84.93317, 2.11084,   0.00000, 0.00000, 0.00000);
CreateObject(19468, 118.00731, -10.59936, 0.28713,   0.00000, 0.00000, 0.00000);
CreateObject(19468, -75.86136, -71.65527, 2.21276,   0.00000, 0.00000, 0.00000);
CreateObject(12991, 59.02824, 96.70751, 1.35641,   0.00000, 0.00000, 233.39038);
CreateObject(14804, 61.58979, 94.56193, 2.08595,   0.00000, 0.00000, 276.66913);
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 27
Vamos hacia la Base de datos y buscamo CREATE TABLE `usuarios`

Y creamos esto
 Codigo Pawno:
1
2

`NivelLechero` varchar(3) NOT NULL DEFAULT '1',
`ExpLechero` varchar(3) NOT NULL DEFAULT '0',
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2


Imagenes: https://imgur.com/a/nDCwr7f

Si lo usan respetar creditos.

Si lo usaran para otra clase de GM, cambiar variables.

Espero les sirva. (( RECUERDEN ESTA EN LA VERSION: ALPHA, POCO A POCO SE MEJORARA ))
te falto el cmd brincar y el saltar porfavor ponlo
Gracias por el aviso, aca estan

Ponemos el CMDBRINCAR
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12

CMD:brincar(playerid, params[])
{
	if(IsPlayerInRangeOfPoint(playerid,2.5, 11.6536,72.5580,3.1172))
	{
        new pName[32], string[128];
		GetPlayerName(playerid, pName, 32);
		SetPosEx(playerid,11.0162,71.7283,3.9962,0,0,0);
		format(string,256,"%s brinca hacia la plataforma.",pName);
		ProxDetector(15.0, playerid, string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
	}
	return 1;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 12
Ponemos el CMDSALTAR
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12

CMD:saltar(playerid, params[])
{
	if(IsPlayerInRangeOfPoint(playerid,2.5, -38.4791,-28.9609,3.1172))
	{
        new pName[32], string[128];
		GetPlayerName(playerid, pName, 32);
		SetPosEx(playerid,-36.8505,-29.6648,3.1172,0,0,0);
		format(string,256,"%s brinca el muro.",pName);
		ProxDetector(15.0, playerid, string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
	}
	return 1;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 12
Mis aportes:


Responder