[JOB] de Camioneros - GM: NS

¿Tienes dudas sobre un código? Consúltalas aquí y aprende cómo se solucionan diferentes tipos de errores.

Moderador: Ayudantes

Reglas del Foro
  • A la hora de realizar su pregunta, especifique bien los detalles y tenga buena ortografía, de esa manera el resto de los usuarios podrán entender su pregunta.
  • Recuerde proporcionar el código que le trae problemas y sus respectivos errores utilizando el BBCode [Pawn]Código aquí[/Pawn] en su mensaje.
  • En esta sección, sólo podrás publicar preguntas asociadas a programación en PAWN ("¿Cuál es la diferencia entre new y static?"), más no temas relacionados a pedir códigos ("¿Me pueden pasar el sistema de 'X' servidor?"). (Ir a Pedidos para publicar estos temas).
  • Si tu pregunta es relacionada con un GM publicado en PawnScript, no crees tu pregunta en esta sección, créala en el mismo tema desde donde obtuviste el GameMode.
  • Evita colocar títulos como: "[Pregunta]", "[Duda]", "[Ayuda]", etc. Los títulos deben ser descriptivos.
  • Si la pregunta es respondida, no modifiques el título ni el contenido de los mensajes del tema. Quizás le pueda servir a alguien más en otro momento.
  • Si la pregunta es respondida, el tema será movido a "Preguntas Solucionadas".
  • Si la pregunta no cumple con alguna de las reglas antes mencionadas o con las Normas del foro, el tema será movido a "Preguntas Cerradas" o a la Papelera.
Responder
Avatar de Usuario
Alexisbettini
Aprendiz
Aprendiz
Mensajes: 202
Registrado: 27 May 2015 20:48
Reputación: 0

10 Jun 2019 09:24

Hola, gracias por entrar a la pregunta. Me gustaría saber como puedo añadirle un objeto o prácticamente, otro vehículo a un camión en el JOB de camionero.
Básicamente, necesito que se le sume el "trailer" al camión, una vez que éste haya elegido qué transportar. Originalmente vienen unos vehiculos/camiones de modelo MULE, donde opté por cambiarlos por Linerunners, y me gustaría que cuando elijan que transportar se le sume el trailer atrás, obviamente, cuando llegue al checkpoint indicado para dejar la carga, éste se elimine.

Tengo todos los script, no lo considero un pedido porque creo que podría ser un simple AttachObjectToVehicle quizá. No entiendo muy bien, pero pueden moverlo si lo creen necesario, dejo a continuación el sistema entero.

/cargarcamion //Te marca un checkpoint que al llegar te abre un dialog para que selecciones qué deseas transportar.
Spoiler:
 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

CMD:cargarcamion(playerid, params[])
{
	if(Info[playerid][pJob] == 6 || Info[playerid][pJob2] == 6)
	{
	    new vehicleid = GetPlayerVehicleID(playerid);
	    if(IsATruckerCar(vehicleid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
	    {
	        if(gPlayerCheckpointStatus[playerid] == CHECKPOINT_NONE || GetPVarInt(playerid, "Packages") == 0 || TaxiAccepted[playerid] == 999 || EMSAccepted[playerid] == 999 || MedicAccepted[playerid] == 999 || MechanicCallTime[playerid] == 0)
			{
	            if(GetProgressBarValue(LoadTruckBar[playerid]) > 10)
	            {
	                SendClientMessageEx(playerid, COLOR_WHITE, "En este momento está cargando su camión!");
					return 1;
	            }
	            if(TruckUsed[playerid] != INVALID_VEHICLE_ID)
	            {
	                SendClientMessageEx(playerid, COLOR_WHITE, "Ya estás en otra entrega, usa /cancelar camión para cancelar la entrega.");
					return 1;
	            }
	            gPlayerCheckpointStatus[playerid] = CHECKPOINT_LOADTRUCK;
	            SetPlayerCheckpoint(playerid,2231.7456,-2603.2976,13.6406, 4);
	            GameTextForPlayer(playerid, "~w~Ve al checkpoint", 5000, 1);
	            SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Recoge mercancía en el lugar especificado. (Ve al CheckPoint)");
	            SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Recuerda que sólo podrás hacer 10 viajes por payday, también recuerda manejar por el carril correcto o puedes ser sancionado.");
	        }
	        else return SendClientMessageEx(playerid, COLOR_WHITE, "Por favor, asegúrese de que su checkpoint actual esté destruido.");
	    }
	    else return SendClientMessageEx(playerid, COLOR_GREY, "{FFFF00}[ERROR]:{FFFFFF} No estás manejando un camión.");
	}
	else return SendClientMessageEx(playerid, COLOR_WHITE, "No eres camionero.");
	return 1;
}
  Cantidad de llaves: Abiertas(8)-Cerradas(8) | Lineas Totales: 32
DIALOG_LOADTRUCK (legal e ilegal) //Éste es el dialog donde seleccionas que transportar y te manda al checkpoint indicado ya listo para hacer el trabajo.
Spoiler:
 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

		case DIALOG_LOADTRUCKL: // TRUCKER JOB LEGAL GOODS
		{
 			if(response)
			{
				if(listitem == 0) // Food & beverages
				{
					new route = Random(1, 4);
    				if(route == 1)
					{
    					SetPVarInt(playerid, "TruckDeliver", 1);
    				}
    				if(route == 2)
					{
    					SetPVarInt(playerid, "TruckDeliver", 2);
    				}
    				if(route == 3)
					{
    					SetPVarInt(playerid, "TruckDeliver", 3);
    				}
    				SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espere un momento mientras el camión está siendo cargado con comida y bebidas.");
				}
				if(listitem == 1) // Clothing
				{
					new route = Random(1, 4);
    				if(route == 1)
					{
    					SetPVarInt(playerid, "TruckDeliver", 4);
    				}
    				if(route == 2)
					{
    					SetPVarInt(playerid, "TruckDeliver", 5);
    				}
    				if(route == 3)
					{
    					SetPVarInt(playerid, "TruckDeliver", 6);
    				}
                	SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espere un momento mientras el camión está siendo cargado con ropa y calzado.");
				}
				if(listitem == 2) // Materials
				{
					SetPVarInt(playerid, "TruckDeliver", 7);
                	SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espere un momento mientras el camión está siendo cargado con materiales.");
				}
				if(listitem == 3) // 24/7 Items
				{
					new route = Random(1, 4);
    				if(route == 1)
					{
    					SetPVarInt(playerid, "TruckDeliver", 8);
    				}
    				if(route == 2)
					{
    					SetPVarInt(playerid, "TruckDeliver", 9);
    				}
    				if(route == 3)
					{
    					SetPVarInt(playerid, "TruckDeliver", 10);
    				}
                	SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espere un momento mientras el camión está siendo cargado con artículos del 24/7.");
				}
  				LoadTruckBar[playerid] = CreateProgressBar(258.00, 137.00, 131.50, 3.19, COLOR_GREEN, 100.0);
				SetProgressBarValue(LoadTruckBar[playerid], 100.0);
				ShowProgressBarForPlayer(playerid, LoadTruckBar[playerid]);
				SetTimerEx("LoadTruck", 1000, 0, "d", playerid);
			}
			else
			{
		    	DeletePVar(playerid, "IsFrozen");
				TogglePlayerControllable(playerid, 1);
				SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has cancelado la carga de los camiones, usa /cargarcamion para intentarlo de nuevo.");
			}
		}
		case DIALOG_LOADTRUCKI: // TRUCKER JOB ILLEGAL GOODS
		{
 			if(response)
			{
		    	new level = Info[playerid][pTruckSkill];
				if(listitem == 0) // Weapons
				{
					if(level >= 0 && level <= 50)
					{
                    	SetPVarInt(playerid, "TruckDeliver", 11); // Bonus: 9mm
					}
					else if(level >= 51 && level <= 100)
					{
                    	SetPVarInt(playerid, "TruckDeliver", 12); // Bonus: MP5
					}
					else if(level >= 101 && level <= 200)
					{
                		SetPVarInt(playerid, "TruckDeliver", 13); // Bonus: Deagle
					}
					else if(level >= 201 && level <= 400)
					{
                    	SetPVarInt(playerid, "TruckDeliver", 14); // Bonus: AK-47
					}
					else if(level >= 401)
					{
                    	SetPVarInt(playerid, "TruckDeliver", 15); // Bonus: Ak-47 or M4
					}
    				SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espere un momento mientras el camión está siendo cargado con armas.");
				}
				if(listitem == 1) // Drugs
				{
					if(level >= 0 && level <= 50)
					{
                    	SetPVarInt(playerid, "TruckDeliver", 16); // Bonus: 10 pot, 5 crack
					}
					else if(level >= 51 && level <= 100)
					{
                    	SetPVarInt(playerid, "TruckDeliver", 17); // Bonus: 20 pot, 10 crack
					}
					else if(level >= 101 && level <= 200)
					{
                    	SetPVarInt(playerid, "TruckDeliver", 18); // Bonus: 30 pot, 15 crack
					}
					else if(level >= 201 && level <= 400)
					{
                    	SetPVarInt(playerid, "TruckDeliver", 19); // Bonus: 40 pot, 20 crack
					}
					else if(level >= 401)
					{
                   		SetPVarInt(playerid, "TruckDeliver", 20); // Bonus: 50 pot, 25 crack
					}
                	SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espere un momento mientras el camión está siendo cargado con drogas.");
				}
				if(listitem == 2) // Illegal materials
				{
					if(level >= 0 && level <= 50)
					{
                    	SetPVarInt(playerid, "TruckDeliver", 21); // Bonus: 100 materials
					}
					else if(level >= 51 && level <= 100)
					{
                    	SetPVarInt(playerid, "TruckDeliver", 22); // Bonus: 300 materials
					}
					else if(level >= 101 && level <= 200)
					{
                    	SetPVarInt(playerid, "TruckDeliver", 23); // Bonus: 750 materials
					}
					else if(level >= 201 && level <= 400)
					{
                    	SetPVarInt(playerid, "TruckDeliver", 24); // Bonus: 1500 materials
					}
					else if(level >= 401)
					{
                    	SetPVarInt(playerid, "TruckDeliver", 25); // Bonus: 2500 materials
					}
                	SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espera un momento mientras el camión está siendo cargado con mercancía ilegal.");
				}
  				LoadTruckBar[playerid] = CreateProgressBar(258.00, 137.00, 131.50, 3.19, COLOR_GREEN, 100.0);
				SetProgressBarValue(LoadTruckBar[playerid], 100.0);
				ShowProgressBarForPlayer(playerid, LoadTruckBar[playerid]);
				SetTimerEx("LoadTruck", 1000, 0, "d", playerid);
			}
			else
			{
		    	DeletePVar(playerid, "IsFrozen");
				TogglePlayerControllable(playerid, 1);
				SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has cancelado la carga de los camiones, usa /cargarcamion para intentarlo de nuevo.");
			}
		}
  Cantidad de llaves: Abiertas(37)-Cerradas(37) | Lineas Totales: 161
function LoadTruck
Spoiler:
 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

function LoadTruck(playerid)
{
	LoadTruckTime[playerid]--;
	SetProgressBarValue(LoadTruckBar[playerid], GetProgressBarValue(LoadTruckBar[playerid])-10.0);
	UpdateProgressBar(LoadTruckBar[playerid], playerid);
	if(GetProgressBarValue(LoadTruckBar[playerid]) > 10) SetTimerEx("LoadTruck", 1000, 0, "d", playerid);

	if(GetProgressBarValue(LoadTruckBar[playerid]) == 50.0)
	{
 		SetProgressBarColor(LoadTruckBar[playerid], COLOR_YELLOW);
   		UpdateProgressBar(LoadTruckBar[playerid], playerid);
	}
	else if(GetProgressBarValue(LoadTruckBar[playerid]) == 20.0)
	{
 		SetProgressBarColor(LoadTruckBar[playerid], COLOR_RED);
		UpdateProgressBar(LoadTruckBar[playerid], playerid);
	}
	else if(GetProgressBarValue(LoadTruckBar[playerid]) <= 10.0)
	{
		DeletePVar(playerid, "IsFrozen");
		TogglePlayerControllable(playerid, 1);
  		DestroyProgressBar(LoadTruckBar[playerid]);
    	LoadTruckBar[playerid] = INVALID_BAR_ID;

  		new vehicleid = GetPlayerVehicleID(playerid);
  		new truckdeliver = GetPVarInt(playerid, "TruckDeliver");
  		TruckContents[vehicleid] = truckdeliver;
  		TruckUsed[playerid] = vehicleid;

		if(truckdeliver == 1)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* Su camión se lleno de alimentos y bebidas.");
			SetPlayerCheckpoint(playerid, 2263.7239,29.0540,27.0181, 5);
		}
		else if(truckdeliver == 2)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* Su camión se lleno de alimentos y bebidas.");
			SetPlayerCheckpoint(playerid, 2331.1741,620.2885,10.4242, 5);
		}
		else if(truckdeliver == 3)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* Su camión se lleno de alimentos y bebidas.");
			SetPlayerCheckpoint(playerid, 2263.7239,29.0540,27.0181, 5);
		}
		else if(truckdeliver == 4)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* Su Camión se lleno de ropa.");
			SetPlayerCheckpoint(playerid, 2331.1741,620.2885,10.4242, 5);
		}
		else if(truckdeliver == 5)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* Su Camión se lleno de ropa.");
			SetPlayerCheckpoint(playerid, 2331.1741,620.2885,10.4242, 5);
		}
		else if(truckdeliver == 6)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* Su Camión se lleno de ropa.");
			SetPlayerCheckpoint(playerid, 2331.1741,620.2885,10.4242, 5);
		}
		else if(truckdeliver == 7)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* Su Camión se lleno de Materiales.");
			SetPlayerCheckpoint(playerid, 2263.7239,29.0540,27.0181, 5);
		}
		else if(truckdeliver == 8)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* Su camión se llenó con artículos 24/7.");
			SetPlayerCheckpoint(playerid, 2263.7239,29.0540,27.0181, 5);
		}
		else if(truckdeliver == 9)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* Su camión se llenó con artículos 24/7.");
			SetPlayerCheckpoint(playerid, 2263.7239,29.0540,27.0181, 5);
		}
		else if(truckdeliver == 10)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* Su camión se llenó con artículos 24/7.");
			SetPlayerCheckpoint(playerid, 2331.1741,620.2885,10.4242, 5);
		}
		else if(truckdeliver >= 11 && truckdeliver <= 15)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* Su camión se llenó de armas.");
			SetPlayerCheckpoint(playerid, 2181.3750,108.6882,26.3865, 5);
		}
		else if(truckdeliver >= 16 && truckdeliver <= 20)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* Su camión se llenó de drogas.");
			SetPlayerCheckpoint(playerid, 2181.3750,108.6882,26.3865, 5);
		}
		else if(truckdeliver >= 21 && truckdeliver <= 25)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE,"* Su camión se llenó de materiales ilegales.");
			SetPlayerCheckpoint(playerid, 2181.3750,108.6882,26.3865, 5);
		}

		SendClientMessageEx(playerid, COLOR_WHITE, "{FF8000}[INDICACION]:{FFFFFF} Entregar la mercancía a la ubicación especificada (ve al checkpoint).");
		SendClientMessageEx(playerid, COLOR_REALRED, "{FF0000}[ATENCION]:{FFFFFF} Tenga cuidado con los secuestradores de camiones, que puede robar su vehículo y salirse con la mercancía.");
		if(truckdeliver >= 11)
		{
			SendClientMessageEx(playerid, COLOR_REALRED, "{FF0000}[ATENCION 2]:{FFFFFF} Estás transportando mercancía ilegal recuerda que los policías pueden capturarte y quitarte la mercancía.");
		}
		SetPVarInt(playerid, "tpTruckRunTimer", 30);
		SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_TPTRUCKRUNTIMER);
	}
	return 1;
}
  Cantidad de llaves: Abiertas(24)-Cerradas(24) | Lineas Totales: 106

Código - Finalizado el trabajo //Esta es la función cuando llegas al checkpoint final y finalizas el trabajo, donde en teoría, debería quitarte el "trailer" del camión.
Spoiler:
 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

	if(GetPVarInt(playerid, "TruckDeliver") > 0 && gPlayerCheckpointStatus[playerid] != CHECKPOINT_RETURNTRUCK)
	{
	    new vehicleid = GetPlayerVehicleID(playerid);
	    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
	    {
	        SendClientMessageEx(playerid, COLOR_WHITE, "{A2DC35}JOB:{FFFFFF} Este no es un camión!");
	        return 1;
	    }
	    if(TruckUsed[playerid] != INVALID_VEHICLE_ID && vehicleid != TruckUsed[playerid])
	    {
	        SendClientMessageEx(playerid, COLOR_WHITE, "{A2DC35}JOB:{FFFFFF} Este no es tu camión con la mercancía que debes entregar.");
	        return 1;
	    }

		if(!IsAtTruckDeliveryPoint(playerid))
 		{//*****En está condición se usa para que los jugadores no puedan hacer uso de exploit en los checkpoints*****
			CancelTruckDelivery(playerid);
			SendClientMessageEx(playerid, COLOR_REALRED, "{FFFF00}[ERROR]:{FFFFFF} Entraste a un checkpoint erronéo. No se completó la entrega.");
			return 1;
   		}
		if(GetPVarInt(playerid, "tpTruckRunTimer") != 0)
		{
			format(string, sizeof(string), "{FFFF00}[WS-RP]:{FF0000} %s (ID %d) Posible hack teleport LUGAR: JobCamioneros.", GetPlayerNameEx(playerid), playerid);
  			ABroadCast( COLOR_YELLOW, string, 2 );
    		format(string, sizeof(string), "%s (ID %d) Posible hack teleport LUGAR: Job Camioneros.", GetPlayerNameEx(playerid), playerid);
	    	Log("LOGS/hack.log", string);
		}
		new truckdeliver = GetPVarInt(playerid, "TruckDeliver");
		TruckContents[vehicleid] = 0;

		if(truckdeliver >= 1 && truckdeliver <= 3)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado la comida y bebidas, regresa para recolectar tu paga.");
		}
		else if(truckdeliver >= 4 && truckdeliver <= 6)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado la ropa y calzado, regresa para recolectar tu paga.");
		}
		else if(truckdeliver == 7)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado los materiales, regresa para recolectar tu paga.");
		}
		else if(truckdeliver >= 8 && truckdeliver <= 10)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado los objetos del 24/7, regresa para recolectar tu paga.");
		}
		else if(truckdeliver >= 11 && truckdeliver <= 15)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado las armas, regresa para recolectar tu paga.");
		}
		else if(truckdeliver >= 16 && truckdeliver <= 20)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado las drogas, regresa para recolectar tu paga.");
		}
		else if(truckdeliver >= 21 && truckdeliver <= 25)
		{
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado los materiales ilegales, regresa para recolectar tu paga.");
		}
		DisablePlayerCheckpoint(playerid);
		gPlayerCheckpointStatus[playerid] = CHECKPOINT_RETURNTRUCK;
		SetPlayerCheckpoint(playerid, 2225.7813,-2637.2319,13.4262, 5);
		GameTextForPlayer(playerid, "~w~Ref:~r~Ocean Docks", 5000, 1);
		SendClientMessageEx(playerid, COLOR_WHITE, "{FF8000}[INDICACION]:{FFFFFF} Regresa a Ocean Docks. (Mira el checkpoint en el radar).");

		SetPVarInt(playerid, "tpTruckRunTimer", 30);
		SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_TPTRUCKRUNTIMER);
		return 1;
	}
  Cantidad de llaves: Abiertas(22)-Cerradas(22) | Lineas Totales: 68

BASE GM: New State
ID camión base: 403 - Linerunner
ID trailer: 435 - Artic Trailer 1
Avatar de Usuario
Eduardo_1
Master
Master
Mensajes: 1535
Registrado: 13 Dic 2016 17:50
Contactar:
Reputación: 104

11 Jun 2019 07:46

Algo así creo que debería ser, de todas maneras intenta, en el código te dejo las funciones necesarias para ello.
 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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226

new TrailerCar[MAX_PLAYERS]; //Variable global (nuevo)

CMD:cargarcamion(playerid, params[])
{
	if(Info[playerid][pJob] != 6 && Info[playerid][pJob2] != 6) return SendClientMessageEx(playerid, COLOR_WHITE, "No eres camionero.");
	if(!IsATruckerCar(GetPlayerVehicleID(playerid))) return SendClientMessageEx(playerid, COLOR_GREY, "{FFFF00}[ERROR]:{FFFFFF} No estás en el camión.");
	if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) return SendClientMessageEx(playerid, COLOR_GREY, "{FFFF00}[ERROR]:{FFFFFF} No estás manejando un camión.");
	if(gPlayerCheckpointStatus[playerid] == CHECKPOINT_NONE || GetPVarInt(playerid, "Packages") == 0 || TaxiAccepted[playerid] == 999 || EMSAccepted[playerid] == 999 || MedicAccepted[playerid] == 999 || MechanicCallTime[playerid] == 0)
	{
		if(GetProgressBarValue(LoadTruckBar[playerid]) > 10) return SendClientMessageEx(playerid, COLOR_WHITE, "En este momento está cargando su camión!");
		if(TruckUsed[playerid] != INVALID_VEHICLE_ID) return SendClientMessageEx(playerid, COLOR_WHITE, "Ya estás en otra entrega, usa /cancelar camión para cancelar la entrega.");

		gPlayerCheckpointStatus[playerid] = CHECKPOINT_LOADTRUCK;
		SetPlayerCheckpoint(playerid,2231.7456,-2603.2976,13.6406, 4);
		GameTextForPlayer(playerid, "~w~Ve al checkpoint", 5000, 1);
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Recoge mercancía en el lugar especificado. (Ve al CheckPoint)");
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Recuerda que sólo podrás hacer 10 viajes por payday, también recuerda manejar por el carril correcto o puedes ser sancionado.");
	}
	else 
	{
		SendClientMessageEx(playerid, COLOR_WHITE, "Por favor, asegúrese de que su checkpoint actual esté destruido.");
		return 1;
	}
	return 1;
}

case DIALOG_LOADTRUCKL: // TRUCKER JOB LEGAL GOODS
{
	if(response)
	{
		switch(listitem)
		{
			case 0: //Conmidas y bebidas
			{
				switch(random(3))
				{
					case 1: SetPVarInt(playerid, "TruckDeliver", 1);
					case 2: SetPVarInt(playerid, "TruckDeliver", 2);
					default: SetPVarInt(playerid, "TruckDeliver", 3);
				}
				SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espere un momento mientras el camión está siendo cargado con comida y bebidas.");
			}
			case 1: //Ropa
			{
				switch(random(3))
				{
					case 1: SetPVarInt(playerid, "TruckDeliver", 4);
					case 2: SetPVarInt(playerid, "TruckDeliver", 5);
					default: SetPVarInt(playerid, "TruckDeliver", 6);
				}
				SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espere un momento mientras el camión está siendo cargado con ropa y calzado.");
			}
			case 2: //Materiales
			{
				SetPVarInt(playerid, "TruckDeliver", 7);
				SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espere un momento mientras el camión está siendo cargado con materiales.");
			}
			case 3:
			{
				switch(random(3))
				{
					case 1: SetPVarInt(playerid, "TruckDeliver", 8);
					case 2: SetPVarInt(playerid, "TruckDeliver", 9);
					default: SetPVarInt(playerid, "TruckDeliver", 10);
				}
				SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espere un momento mientras el camión está siendo cargado con artículos del 24/7.");
			}
		}
		//Nuevo
		if(IsValidVehicle(TrailerCar[playerid]))
		{
			DestroyVehicle(TrailerCar[playerid]);
		}
		new Float:x, Float:y, Float:z, Float:a;
		GetVehiclePos(TruckUsed[playerid], x, y, z);
		GetVehicleZAngle(TruckUsed[playerid], a);
		TrailerCar[playerid] = CreateVehicle(435, x, y-0.8, z, a, -1, -1, 0, 0);
		AttachTrailerToVehicle(TrailerCar[playerid], TruckUsed[playerid]);
		//
		LoadTruckBar[playerid] = CreateProgressBar(258.00, 137.00, 131.50, 3.19, COLOR_GREEN, 100.0);
		SetProgressBarValue(LoadTruckBar[playerid], 100.0);
		ShowProgressBarForPlayer(playerid, LoadTruckBar[playerid]);
		SetTimerEx("LoadTruck", 1000, 0, "d", playerid);
	}
	else
	{
		DeletePVar(playerid, "IsFrozen");
		TogglePlayerControllable(playerid, 1);
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has cancelado la carga de los camiones, usa /cargarcamion para intentarlo de nuevo.");
	}
}
case DIALOG_LOADTRUCKI: // TRUCKER JOB ILLEGAL GOODS
{
	if(response)
	{
		new level = Info[playerid][pTruckSkill];
		if(listitem == 0) // Armas
		{
			switch(level)
			{
				case 0..50: SetPVarInt(playerid, "TruckDeliver", 11); // Bonus: 9mm
				case 51..100: SetPVarInt(playerid, "TruckDeliver", 12); // Bonus: MP5
				case 101..200: SetPVarInt(playerid, "TruckDeliver", 13); // Bonus: Deagle
				case 201..400: SetPVarInt(playerid, "TruckDeliver", 14); // Bonus: AK-47
				default: SetPVarInt(playerid, "TruckDeliver", 15); // Bonus: Ak-47 or M4
			}
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espere un momento mientras el camión está siendo cargado con armas.");
		}
		if(listitem == 1) // Drogas
		{
			switch(level)
			{
				case 0..50: SetPVarInt(playerid, "TruckDeliver", 16); // Bonus: 10 pot, 5 crack
				case 51..100: SetPVarInt(playerid, "TruckDeliver", 17); // Bonus: 20 pot, 10 crack
				case 101..200: SetPVarInt(playerid, "TruckDeliver", 18); // Bonus: 30 pot, 15 crack
				case 201..400: SetPVarInt(playerid, "TruckDeliver", 19); // Bonus: 40 pot, 20 crack
				default: SetPVarInt(playerid, "TruckDeliver", 20); // Bonus: 50 pot, 25 crack
			}
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espere un momento mientras el camión está siendo cargado con drogas.");
		}
		if(listitem == 2) // Materiales ilegales
		{
			switch(level)
			{
				case 0..50: SetPVarInt(playerid, "TruckDeliver", 21); // Bonus: 100 materials
				case 51..100: SetPVarInt(playerid, "TruckDeliver", 22); // Bonus: 300 materials
				case 101..200: SetPVarInt(playerid, "TruckDeliver", 23); // Bonus: 750 materials
				case 201..400: SetPVarInt(playerid, "TruckDeliver", 24); // Bonus: 1500 materials
				default: SetPVarInt(playerid, "TruckDeliver", 25); // Bonus: 2500 materials
			}
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espera un momento mientras el camión está siendo cargado con mercancía ilegal.");
		}
		//Nuevo
		if(IsValidVehicle(TrailerCar[playerid]))
		{
			DestroyVehicle(TrailerCar[playerid]);
		}
		new Float:x, Float:y, Float:z, Float:a;
		GetVehiclePos(TruckUsed[playerid], x, y, z);
		GetVehicleZAngle(TruckUsed[playerid], a);
		TrailerCar[playerid] = CreateVehicle(435, x, y-0.8, z, a, -1, -1, 0, 0);
		AttachTrailerToVehicle(TrailerCar[playerid], TruckUsed[playerid]);
		//
		LoadTruckBar[playerid] = CreateProgressBar(258.00, 137.00, 131.50, 3.19, COLOR_GREEN, 100.0);
		SetProgressBarValue(LoadTruckBar[playerid], 100.0);
		ShowProgressBarForPlayer(playerid, LoadTruckBar[playerid]);
		SetTimerEx("LoadTruck", 1000, 0, "d", playerid);
	}
	else
	{
		DeletePVar(playerid, "IsFrozen");
		TogglePlayerControllable(playerid, 1);
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has cancelado la carga de los camiones, usa /cargarcamion para intentarlo de nuevo.");
	}
}

if(GetPVarInt(playerid, "TruckDeliver") > 0 && gPlayerCheckpointStatus[playerid] != CHECKPOINT_RETURNTRUCK)
{
	new vehicleid = GetPlayerVehicleID(playerid);
	if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
	{
		SendClientMessageEx(playerid, COLOR_WHITE, "{A2DC35}JOB:{FFFFFF} Este no es un camión!");
		return 1;
	}
	if(TruckUsed[playerid] != INVALID_VEHICLE_ID && vehicleid != TruckUsed[playerid])
	{
		SendClientMessageEx(playerid, COLOR_WHITE, "{A2DC35}JOB:{FFFFFF} Este no es tu camión con la mercancía que debes entregar.");
		return 1;
	}
	//Nuevo
	DetachTrailerFromVehicle(TruckUsed[playerid]);
	//
	if(!IsAtTruckDeliveryPoint(playerid))
	{//*****En está condición se usa para que los jugadores no puedan hacer uso de exploit en los checkpoints*****
		CancelTruckDelivery(playerid);
		SendClientMessageEx(playerid, COLOR_REALRED, "{FFFF00}[ERROR]:{FFFFFF} Entraste a un checkpoint erronéo. No se completó la entrega.");
		return 1;
	}
	if(GetPVarInt(playerid, "tpTruckRunTimer") != 0)
	{
		format(string, sizeof(string), "{FFFF00}[WS-RP]:{FF0000} %s (ID %d) Posible hack teleport LUGAR: JobCamioneros.", GetPlayerNameEx(playerid), playerid);
		ABroadCast( COLOR_YELLOW, string, 2 );
		format(string, sizeof(string), "%s (ID %d) Posible hack teleport LUGAR: Job Camioneros.", GetPlayerNameEx(playerid), playerid);
		Log("LOGS/hack.log", string);
	}
	new truckdeliver = GetPVarInt(playerid, "TruckDeliver");
	TruckContents[vehicleid] = 0;

	if(truckdeliver >= 1 && truckdeliver <= 3)
	{
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado la comida y bebidas, regresa para recolectar tu paga.");
	}
	else if(truckdeliver >= 4 && truckdeliver <= 6)
	{
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado la ropa y calzado, regresa para recolectar tu paga.");
	}
	else if(truckdeliver == 7)
	{
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado los materiales, regresa para recolectar tu paga.");
	}
	else if(truckdeliver >= 8 && truckdeliver <= 10)
	{
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado los objetos del 24/7, regresa para recolectar tu paga.");
	}
	else if(truckdeliver >= 11 && truckdeliver <= 15)
	{
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado las armas, regresa para recolectar tu paga.");
	}
	else if(truckdeliver >= 16 && truckdeliver <= 20)
	{
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado las drogas, regresa para recolectar tu paga.");
	}
	else if(truckdeliver >= 21 && truckdeliver <= 25)
	{
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado los materiales ilegales, regresa para recolectar tu paga.");
	}
	DisablePlayerCheckpoint(playerid);
	gPlayerCheckpointStatus[playerid] = CHECKPOINT_RETURNTRUCK;
	SetPlayerCheckpoint(playerid, 2225.7813,-2637.2319,13.4262, 5);
	GameTextForPlayer(playerid, "~w~Ref:~r~Ocean Docks", 5000, 1);
	SendClientMessageEx(playerid, COLOR_WHITE, "{FF8000}[INDICACION]:{FFFFFF} Regresa a Ocean Docks. (Mira el checkpoint en el radar).");

	SetPVarInt(playerid, "tpTruckRunTimer", 30);
	SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_TPTRUCKRUNTIMER);
	return 1;
}
  Cantidad de llaves: Abiertas(51)-Cerradas(51) | Lineas Totales: 226

Un sabio escribió: No a todo el mundo se puede ayudar porque siempre hay un mal agradecido que termina pagándote mal. Corrige al sabio y será más sabio, corrige al necio y será tu enemigo.
Anónimo escribió: El orgulloso no reconoce sus defectos, errores o la contradicción. En el fondo su ignorancia es debida a su falta de humildad.
Vendo modo de juego Roleplay (GM-RP): New states sin bugs con PCU (UCP) no responsive (Y-INI). Interesados al imbox.


Avatar de Usuario
Alexisbettini
Aprendiz
Aprendiz
Mensajes: 202
Registrado: 27 May 2015 20:48
Reputación: 0

11 Jun 2019 15:01

Spoiler:
Eduardo_1 escribió:
11 Jun 2019 07:46
Algo así creo que debería ser, de todas maneras intenta, en el código te dejo las funciones necesarias para ello.
 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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226

new TrailerCar[MAX_PLAYERS]; //Variable global (nuevo)

CMD:cargarcamion(playerid, params[])
{
	if(Info[playerid][pJob] != 6 && Info[playerid][pJob2] != 6) return SendClientMessageEx(playerid, COLOR_WHITE, "No eres camionero.");
	if(!IsATruckerCar(GetPlayerVehicleID(playerid))) return SendClientMessageEx(playerid, COLOR_GREY, "{FFFF00}[ERROR]:{FFFFFF} No estás en el camión.");
	if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) return SendClientMessageEx(playerid, COLOR_GREY, "{FFFF00}[ERROR]:{FFFFFF} No estás manejando un camión.");
	if(gPlayerCheckpointStatus[playerid] == CHECKPOINT_NONE || GetPVarInt(playerid, "Packages") == 0 || TaxiAccepted[playerid] == 999 || EMSAccepted[playerid] == 999 || MedicAccepted[playerid] == 999 || MechanicCallTime[playerid] == 0)
	{
		if(GetProgressBarValue(LoadTruckBar[playerid]) > 10) return SendClientMessageEx(playerid, COLOR_WHITE, "En este momento está cargando su camión!");
		if(TruckUsed[playerid] != INVALID_VEHICLE_ID) return SendClientMessageEx(playerid, COLOR_WHITE, "Ya estás en otra entrega, usa /cancelar camión para cancelar la entrega.");

		gPlayerCheckpointStatus[playerid] = CHECKPOINT_LOADTRUCK;
		SetPlayerCheckpoint(playerid,2231.7456,-2603.2976,13.6406, 4);
		GameTextForPlayer(playerid, "~w~Ve al checkpoint", 5000, 1);
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Recoge mercancía en el lugar especificado. (Ve al CheckPoint)");
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Recuerda que sólo podrás hacer 10 viajes por payday, también recuerda manejar por el carril correcto o puedes ser sancionado.");
	}
	else 
	{
		SendClientMessageEx(playerid, COLOR_WHITE, "Por favor, asegúrese de que su checkpoint actual esté destruido.");
		return 1;
	}
	return 1;
}

case DIALOG_LOADTRUCKL: // TRUCKER JOB LEGAL GOODS
{
	if(response)
	{
		switch(listitem)
		{
			case 0: //Conmidas y bebidas
			{
				switch(random(3))
				{
					case 1: SetPVarInt(playerid, "TruckDeliver", 1);
					case 2: SetPVarInt(playerid, "TruckDeliver", 2);
					default: SetPVarInt(playerid, "TruckDeliver", 3);
				}
				SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espere un momento mientras el camión está siendo cargado con comida y bebidas.");
			}
			case 1: //Ropa
			{
				switch(random(3))
				{
					case 1: SetPVarInt(playerid, "TruckDeliver", 4);
					case 2: SetPVarInt(playerid, "TruckDeliver", 5);
					default: SetPVarInt(playerid, "TruckDeliver", 6);
				}
				SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espere un momento mientras el camión está siendo cargado con ropa y calzado.");
			}
			case 2: //Materiales
			{
				SetPVarInt(playerid, "TruckDeliver", 7);
				SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espere un momento mientras el camión está siendo cargado con materiales.");
			}
			case 3:
			{
				switch(random(3))
				{
					case 1: SetPVarInt(playerid, "TruckDeliver", 8);
					case 2: SetPVarInt(playerid, "TruckDeliver", 9);
					default: SetPVarInt(playerid, "TruckDeliver", 10);
				}
				SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espere un momento mientras el camión está siendo cargado con artículos del 24/7.");
			}
		}
		//Nuevo
		if(IsValidVehicle(TrailerCar[playerid]))
		{
			DestroyVehicle(TrailerCar[playerid]);
		}
		new Float:x, Float:y, Float:z, Float:a;
		GetVehiclePos(TruckUsed[playerid], x, y, z);
		GetVehicleZAngle(TruckUsed[playerid], a);
		TrailerCar[playerid] = CreateVehicle(435, x, y-0.8, z, a, -1, -1, 0, 0);
		AttachTrailerToVehicle(TrailerCar[playerid], TruckUsed[playerid]);
		//
		LoadTruckBar[playerid] = CreateProgressBar(258.00, 137.00, 131.50, 3.19, COLOR_GREEN, 100.0);
		SetProgressBarValue(LoadTruckBar[playerid], 100.0);
		ShowProgressBarForPlayer(playerid, LoadTruckBar[playerid]);
		SetTimerEx("LoadTruck", 1000, 0, "d", playerid);
	}
	else
	{
		DeletePVar(playerid, "IsFrozen");
		TogglePlayerControllable(playerid, 1);
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has cancelado la carga de los camiones, usa /cargarcamion para intentarlo de nuevo.");
	}
}
case DIALOG_LOADTRUCKI: // TRUCKER JOB ILLEGAL GOODS
{
	if(response)
	{
		new level = Info[playerid][pTruckSkill];
		if(listitem == 0) // Armas
		{
			switch(level)
			{
				case 0..50: SetPVarInt(playerid, "TruckDeliver", 11); // Bonus: 9mm
				case 51..100: SetPVarInt(playerid, "TruckDeliver", 12); // Bonus: MP5
				case 101..200: SetPVarInt(playerid, "TruckDeliver", 13); // Bonus: Deagle
				case 201..400: SetPVarInt(playerid, "TruckDeliver", 14); // Bonus: AK-47
				default: SetPVarInt(playerid, "TruckDeliver", 15); // Bonus: Ak-47 or M4
			}
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espere un momento mientras el camión está siendo cargado con armas.");
		}
		if(listitem == 1) // Drogas
		{
			switch(level)
			{
				case 0..50: SetPVarInt(playerid, "TruckDeliver", 16); // Bonus: 10 pot, 5 crack
				case 51..100: SetPVarInt(playerid, "TruckDeliver", 17); // Bonus: 20 pot, 10 crack
				case 101..200: SetPVarInt(playerid, "TruckDeliver", 18); // Bonus: 30 pot, 15 crack
				case 201..400: SetPVarInt(playerid, "TruckDeliver", 19); // Bonus: 40 pot, 20 crack
				default: SetPVarInt(playerid, "TruckDeliver", 20); // Bonus: 50 pot, 25 crack
			}
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espere un momento mientras el camión está siendo cargado con drogas.");
		}
		if(listitem == 2) // Materiales ilegales
		{
			switch(level)
			{
				case 0..50: SetPVarInt(playerid, "TruckDeliver", 21); // Bonus: 100 materials
				case 51..100: SetPVarInt(playerid, "TruckDeliver", 22); // Bonus: 300 materials
				case 101..200: SetPVarInt(playerid, "TruckDeliver", 23); // Bonus: 750 materials
				case 201..400: SetPVarInt(playerid, "TruckDeliver", 24); // Bonus: 1500 materials
				default: SetPVarInt(playerid, "TruckDeliver", 25); // Bonus: 2500 materials
			}
			SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Por favor, espera un momento mientras el camión está siendo cargado con mercancía ilegal.");
		}
		//Nuevo
		if(IsValidVehicle(TrailerCar[playerid]))
		{
			DestroyVehicle(TrailerCar[playerid]);
		}
		new Float:x, Float:y, Float:z, Float:a;
		GetVehiclePos(TruckUsed[playerid], x, y, z);
		GetVehicleZAngle(TruckUsed[playerid], a);
		TrailerCar[playerid] = CreateVehicle(435, x, y-0.8, z, a, -1, -1, 0, 0);
		AttachTrailerToVehicle(TrailerCar[playerid], TruckUsed[playerid]);
		//
		LoadTruckBar[playerid] = CreateProgressBar(258.00, 137.00, 131.50, 3.19, COLOR_GREEN, 100.0);
		SetProgressBarValue(LoadTruckBar[playerid], 100.0);
		ShowProgressBarForPlayer(playerid, LoadTruckBar[playerid]);
		SetTimerEx("LoadTruck", 1000, 0, "d", playerid);
	}
	else
	{
		DeletePVar(playerid, "IsFrozen");
		TogglePlayerControllable(playerid, 1);
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "Has cancelado la carga de los camiones, usa /cargarcamion para intentarlo de nuevo.");
	}
}

if(GetPVarInt(playerid, "TruckDeliver") > 0 && gPlayerCheckpointStatus[playerid] != CHECKPOINT_RETURNTRUCK)
{
	new vehicleid = GetPlayerVehicleID(playerid);
	if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
	{
		SendClientMessageEx(playerid, COLOR_WHITE, "{A2DC35}JOB:{FFFFFF} Este no es un camión!");
		return 1;
	}
	if(TruckUsed[playerid] != INVALID_VEHICLE_ID && vehicleid != TruckUsed[playerid])
	{
		SendClientMessageEx(playerid, COLOR_WHITE, "{A2DC35}JOB:{FFFFFF} Este no es tu camión con la mercancía que debes entregar.");
		return 1;
	}
	//Nuevo
	DetachTrailerFromVehicle(TruckUsed[playerid]);
	//
	if(!IsAtTruckDeliveryPoint(playerid))
	{//*****En está condición se usa para que los jugadores no puedan hacer uso de exploit en los checkpoints*****
		CancelTruckDelivery(playerid);
		SendClientMessageEx(playerid, COLOR_REALRED, "{FFFF00}[ERROR]:{FFFFFF} Entraste a un checkpoint erronéo. No se completó la entrega.");
		return 1;
	}
	if(GetPVarInt(playerid, "tpTruckRunTimer") != 0)
	{
		format(string, sizeof(string), "{FFFF00}[WS-RP]:{FF0000} %s (ID %d) Posible hack teleport LUGAR: JobCamioneros.", GetPlayerNameEx(playerid), playerid);
		ABroadCast( COLOR_YELLOW, string, 2 );
		format(string, sizeof(string), "%s (ID %d) Posible hack teleport LUGAR: Job Camioneros.", GetPlayerNameEx(playerid), playerid);
		Log("LOGS/hack.log", string);
	}
	new truckdeliver = GetPVarInt(playerid, "TruckDeliver");
	TruckContents[vehicleid] = 0;

	if(truckdeliver >= 1 && truckdeliver <= 3)
	{
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado la comida y bebidas, regresa para recolectar tu paga.");
	}
	else if(truckdeliver >= 4 && truckdeliver <= 6)
	{
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado la ropa y calzado, regresa para recolectar tu paga.");
	}
	else if(truckdeliver == 7)
	{
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado los materiales, regresa para recolectar tu paga.");
	}
	else if(truckdeliver >= 8 && truckdeliver <= 10)
	{
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado los objetos del 24/7, regresa para recolectar tu paga.");
	}
	else if(truckdeliver >= 11 && truckdeliver <= 15)
	{
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado las armas, regresa para recolectar tu paga.");
	}
	else if(truckdeliver >= 16 && truckdeliver <= 20)
	{
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado las drogas, regresa para recolectar tu paga.");
	}
	else if(truckdeliver >= 21 && truckdeliver <= 25)
	{
		SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* Has entregado los materiales ilegales, regresa para recolectar tu paga.");
	}
	DisablePlayerCheckpoint(playerid);
	gPlayerCheckpointStatus[playerid] = CHECKPOINT_RETURNTRUCK;
	SetPlayerCheckpoint(playerid, 2225.7813,-2637.2319,13.4262, 5);
	GameTextForPlayer(playerid, "~w~Ref:~r~Ocean Docks", 5000, 1);
	SendClientMessageEx(playerid, COLOR_WHITE, "{FF8000}[INDICACION]:{FFFFFF} Regresa a Ocean Docks. (Mira el checkpoint en el radar).");

	SetPVarInt(playerid, "tpTruckRunTimer", 30);
	SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_TPTRUCKRUNTIMER);
	return 1;
}
  Cantidad de llaves: Abiertas(51)-Cerradas(51) | Lineas Totales: 226
Hola Eduardo, gracias por responder la pregunta. De principio no me reconocía IsValidVehicle y opté por agregar el native al include "a_samp" y se solucionó eso. El problema es que al entrar al juego y probar, subo al camión y al usar /cargarcamion me dice: "No estás en el camión.". Voy de todas maneras a la coordenada donde debería cargar el camión (que tampoco me figura el checkpoint) y utilizo nuevamente /cargarcamion y me dice: "No estás manejando un camión.".

Avatar de Usuario
Eduardo_1
Master
Master
Mensajes: 1535
Registrado: 13 Dic 2016 17:50
Contactar:
Reputación: 104

11 Jun 2019 16:31

Sólo usa tu comando original, no agregué nada en él sólo modifiqué el código

Un sabio escribió: No a todo el mundo se puede ayudar porque siempre hay un mal agradecido que termina pagándote mal. Corrige al sabio y será más sabio, corrige al necio y será tu enemigo.
Anónimo escribió: El orgulloso no reconoce sus defectos, errores o la contradicción. En el fondo su ignorancia es debida a su falta de humildad.
Vendo modo de juego Roleplay (GM-RP): New states sin bugs con PCU (UCP) no responsive (Y-INI). Interesados al imbox.


Avatar de Usuario
Alexisbettini
Aprendiz
Aprendiz
Mensajes: 202
Registrado: 27 May 2015 20:48
Reputación: 0

11 Jun 2019 18:36

Eduardo_1 escribió:
11 Jun 2019 16:31
Sólo usa tu comando original, no agregué nada en él sólo modifiqué el código
Si uso mi código original en /cargarcamion me marca incluso el checkpoint, pero si actualizo no me funciona, podrías decirme como quedaría respetando (en lo posible) el formato/orden del código? Seguiré intentando por partes hasta descubrir el error...

Avatar de Usuario
Alexisbettini
Aprendiz
Aprendiz
Mensajes: 202
Registrado: 27 May 2015 20:48
Reputación: 0

13 Jun 2019 09:17

Eduardo_1 escribió:
11 Jun 2019 16:31
Sólo usa tu comando original, no agregué nada en él sólo modifiqué el código
Finalmente, intenté conservar el orden de las funciones y añadirle el trailer, pude lograr que funcionara, pero me coloca el trailer en cualquier lado. Generalmente me lo tira por arriba del camión y se bugea, como puedo hacer para que se coloque de primera en el lugar que le corresponde? Y cuando llego al lugar donde debo dejar la carga, me lo toma exitosamente AÚN NO teniendo el trailer, y sería contradictorio. No sé que variante usar para que obligue a tener el trailer cuando llegue. Te doy +1
Avatar de Usuario
Eduardo_1
Master
Master
Mensajes: 1535
Registrado: 13 Dic 2016 17:50
Contactar:
Reputación: 104

14 Jun 2019 07:13


Un sabio escribió: No a todo el mundo se puede ayudar porque siempre hay un mal agradecido que termina pagándote mal. Corrige al sabio y será más sabio, corrige al necio y será tu enemigo.
Anónimo escribió: El orgulloso no reconoce sus defectos, errores o la contradicción. En el fondo su ignorancia es debida a su falta de humildad.
Vendo modo de juego Roleplay (GM-RP): New states sin bugs con PCU (UCP) no responsive (Y-INI). Interesados al imbox.


Responder