[Pedido] if no puedes no tener dos trabajos iguales.

¿Necesitas un código y no lo encuentras? Pídelo aquí. Seguramente alguien te lo facilitará rápidamente.

Moderador: Ayudantes

Reglas del Foro
  • A la hora de realizar su pedido, especifique bien los detalles y tenga buena ortografía, de esa manera el resto de los usuarios podrán entender lo que busca.
  • Recuerde utilizar el BBCode [Pawn]Código aquí[/Pawn] si proporciona algún código de referencia.
  • Sólo se aceptan pedidos de códigos que no especifiquen un Gamemode, esto significa que recibirás un código en el cual basarte, no un código completo.
  • No se admiten pedidos de Gamemodes, utiliza la sección Gamemodes o el buscador.
  • Todos somos aprendices y/o tenemos obligaciones. No pidas sistemas extensos o formes obligación, recuerda que no somos máquinas o esclavos.
  • Sigue al pie de la letra la Plantilla de Pedidos. Muchos usuarios te lo recordarán, pero si un tema no tiene el formato, el mismo será eliminado.
  • Evita colocar títulos como: "[Pedido]", "[Ayuda]", etc. Los títulos deben ser descriptivos.
  • Si el pedido se realiza, 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 el pedido se realiza, el tema será movido a "Pedidos Realizados".
  • Si el pedido no cumple con alguna de las reglas antes mencionadas o con las Normas del foro, el tema será movido a "Pedidos cerrados" o a la Papelera.
Responder
Antrox12
Aprendiz
Aprendiz
Mensajes: 161
Registrado: 10 Sep 2018 15:12
Reputación: 0

15 Jun 2019 09:57

Explicación detallada del pedido: - Bueno alguien me pasa, un codigo de al tomar un trabajo y al querer al trabajo secundario osea el mismo trabajo, diga "No puedes tener dos trabajos iguales"

Extra: -GM OZ
BonerMap
Aprendiz
Aprendiz
Mensajes: 330
Registrado: 01 Dic 2014 09:34
Ubicación: México
Contactar:
Reputación: 9

15 Jun 2019 12:23

Antrox12 escribió:
15 Jun 2019 09:57
Explicación detallada del pedido: - Bueno alguien me pasa, un codigo de al tomar un trabajo y al querer al trabajo secundario osea el mismo trabajo, diga "No puedes tener dos trabajos iguales"

Extra: -GM OZ
 Codigo Pawno:
1
2
3

 if(VARIABLETRABAJO1== VARIABLETRABAJO1) return SendClientMessage(playerid,-1, "[ERROR]:{FFFFFF} No puedes tener 2 trabajos iguales.");


  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 3
//_____________________MIS PROYECTO_____________________________//
GO PLAYERS ROLEPLAY
______________________________________________________
_____________________APORTES A EL FORO_________________
Spoiler:
[Mapeo 24/7]:http://pawnscript.com/foro/viewtopic.php?t=3882
[APORTE[Sistema loro FZ]:http://pawnscript.com/foro/viewtopic.php?t=23531
[FS][Fiesta de la cerveza]:http://pawnscript.com/foro/viewtopic.php?f=81&t=28704
[APORTE]Localizar propiedad OZ:http://pawnscript.com/foro/viewtopic.php?f=40&t=28872
[APORTE] FC Para OZ:http://pawnscript.com/foro/viewtopic.php?f=40&t=28892
[APORTE Cambiar contraseña GM OZ]: http://pawnscript.com/foro/viewtopic.php?f=90&t=31309
[APORTE Cambiar nombre en el juego OZ]: http://pawnscript.com/foro/viewtopic.php?f=90&t=31308
//___________________________________________________________________________
Yo no soy programador.
Me gusta ayudar a la gente.
**************Prónto Médico********************************
Pwn: Mi pasatiempo :)
Antrox12
Aprendiz
Aprendiz
Mensajes: 161
Registrado: 10 Sep 2018 15:12
Reputación: 0

15 Jun 2019 12:33

BonerMap escribió:
15 Jun 2019 12:23
Antrox12 escribió:
15 Jun 2019 09:57
Explicación detallada del pedido: - Bueno alguien me pasa, un codigo de al tomar un trabajo y al querer al trabajo secundario osea el mismo trabajo, diga "No puedes tener dos trabajos iguales"

Extra: -GM OZ
 Codigo Pawno:
1
2
3

 if(VARIABLETRABAJO1== VARIABLETRABAJO1) return SendClientMessage(playerid,-1, "[ERROR]:{FFFFFF} No puedes tener 2 trabajos iguales.");


  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 3
¿Qué debo hacer hay?
Avatar de Usuario
Daniel Walker
Avanzado
Avanzado
Mensajes: 564
Registrado: 04 Feb 2017 17:10
Ubicación: Bogotá
Contactar:
Reputación: 46

15 Jun 2019 19:13

Antrox12 escribió:
15 Jun 2019 12:33
BonerMap escribió:
15 Jun 2019 12:23
Antrox12 escribió:
15 Jun 2019 09:57
Explicación detallada del pedido: - Bueno alguien me pasa, un codigo de al tomar un trabajo y al querer al trabajo secundario osea el mismo trabajo, diga "No puedes tener dos trabajos iguales"

Extra: -GM OZ
 Codigo Pawno:
1
2
3

 if(VARIABLETRABAJO1== VARIABLETRABAJO1) return SendClientMessage(playerid,-1, "[ERROR]:{FFFFFF} No puedes tener 2 trabajos iguales.");


  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 3
¿Qué debo hacer hay?
ponerlo al inicio de el comando de trabajo al lado de algún otro IF y cambiar lo que dice

VARIABLETRABAJO1 por PlayerInfo[playerid][jJob]

es decir: if(PlayerInfo[playerid][jJob] == PlayerInfo[playerid][jJob]) return SendClientMessage(playerid,-1, "[ERROR]:{FFFFFF} No puedes tener 2 trabajos iguales.");
Imagen


Proyecto Actual: Next Nation Roleplay
Dudas en mis sistemas o en general, envía MP con confianza (Respondo Diseño, Pawn, HTML, CSS)


Disfruta de mis Aportes Aquí Abajo :P

Aporte: Diseños & Webs: Mostrar
Next Gaming Desings, Photoshop Templates: Click Aquí
Web HTML Template para RP: Click Aquí
Logos Estilo FZ, Templayes: Click Aquí
Plantilla, Banner Fenixzone: Click Aquí
Pinceles para Photoshop CS6, CC Click Aquí
Rangos para foro SMF & PhpBB, Photoshop: Click Aquí
Header Server Zombie: Click Aquí
Header + Logo Verde Photoshop: Click Aquí
Guías & Filterscripts: Mostrar
Sistema casas SQLTraducido: Click Aquí
Sistema Admin Teleport por Checkpoint:Click Aquí

ImagenFacebook PersonalImagenCanal YTImagenPortafolio (Próximamente)
Avatar de Usuario
MrDave
Ayudante
Ayudante
Mensajes: 1049
Registrado: 05 Oct 2017 12:13
Reputación: 113

15 Jun 2019 19:13


Lo más fácil que puedes efectuar, es realizarlo a través de diálogos.
Por ejemplo:
 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

#include <a_samp>
#include <zcmd>

#define MAX_JOBS 	4 //Cantidad máxima de trabajos
#define DIALOG_JOBS	10

main() { }

new Jobs[MAX_PLAYERS][MAX_JOBS];

public OnPlayerConnect(playerid)
{
	for(new i = 0; i != MAX_JOBS; ++i)
		Jobs[playerid][i] = 0; //Inicializa todos los trabajos a 0, el número cero indica que el jugador no tiene ningún trabajo al momento de entrar al servidor.
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == DIALOG_JOBS)
	{
		if(!response) return 1;
                //listitem recibe valores de 0 a 3 (en este caso porqué son 4 trabajos).
		if(Jobs[playerid][listitem] == listitem + 1)
		{
			SendClientMessage(playerid, -1, "Error: Usted ya tiene ese trabajo.");
		}
		else
		{
			Jobs[playerid][listitem] = listitem + 1;
		}
	}
	return 1;
}

CMD:jobs(playerid)
{
	ShowPlayerDialog(playerid, DIALOG_JOBS, DIALOG_STYLE_LIST, "Trabajos", "Pizzero\nCarpintero\nPolicia\nMilitar", "Elegir", "Cerrar");
	return 1;
}
  Cantidad de llaves: Abiertas(7)-Cerradas(7) | Lineas Totales: 40

Lo de arriba fue un código de ejemplo, usted debe adaptarlo a su problema.

- Temporalmente estoy retirado de SA-MP; por lo tanto no me envíen propuestas de proyectos.
- No respondo dudas por privado, usa la sección de preguntas.
Antrox12
Aprendiz
Aprendiz
Mensajes: 161
Registrado: 10 Sep 2018 15:12
Reputación: 0

15 Jun 2019 21:37

Gracias +1 a los 2.
Antrox12
Aprendiz
Aprendiz
Mensajes: 161
Registrado: 10 Sep 2018 15:12
Reputación: 0

15 Jun 2019 22:06

Daniel Walker escribió:
15 Jun 2019 19:13
Antrox12 escribió:
15 Jun 2019 12:33
BonerMap escribió:
15 Jun 2019 12:23

 Codigo Pawno:
1
2
3

 if(VARIABLETRABAJO1== VARIABLETRABAJO1) return SendClientMessage(playerid,-1, "[ERROR]:{FFFFFF} No puedes tener 2 trabajos iguales.");


  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 3
¿Qué debo hacer hay?
ponerlo al inicio de el comando de trabajo al lado de algún otro IF y cambiar lo que dice

VARIABLETRABAJO1 por PlayerInfo[playerid][jJob]

es decir: if(PlayerInfo[playerid][jJob] == PlayerInfo[playerid][jJob]) return SendClientMessage(playerid,-1, "[ERROR]:{FFFFFF} No puedes tener 2 trabajos iguales.");
Amigo el codigo no me sirvio, apenas tomo un trabajo dice que no puedo tener 2 trabajos y no me da ni uno
Avatar de Usuario
Daniel Walker
Avanzado
Avanzado
Mensajes: 564
Registrado: 04 Feb 2017 17:10
Ubicación: Bogotá
Contactar:
Reputación: 46

15 Jun 2019 23:09

Spoiler:
Antrox12 escribió:
15 Jun 2019 22:06
Daniel Walker escribió:
15 Jun 2019 19:13
Antrox12 escribió:
15 Jun 2019 12:33

¿Qué debo hacer hay?
ponerlo al inicio de el comando de trabajo al lado de algún otro IF y cambiar lo que dice

VARIABLETRABAJO1 por PlayerInfo[playerid][jJob]

es decir:
Amigo el codigo no me sirvio, apenas tomo un trabajo dice que no puedo tener 2 trabajos y no me da ni uno
bastante extraño eso pero creo saber porque. intenta así
 Codigo Pawno:
1

if(PlayerInfo[playerid][jJob] == PlayerInfo[playerid][vipjob]) return SendClientMessage(playerid,-1, "[ERROR]:{FFFFFF} No puedes tener 2 trabajos iguales.");
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 1
creo que tu GM tiene 2 variables la de Job normal y la de el Job VIP ¿lo que quieres es que no pueda tener el mismo Job en esas dos ranuras cierto, intenta así en el comando de trabajo que tengas a ver si funciona
Imagen


Proyecto Actual: Next Nation Roleplay
Dudas en mis sistemas o en general, envía MP con confianza (Respondo Diseño, Pawn, HTML, CSS)


Disfruta de mis Aportes Aquí Abajo :P

Aporte: Diseños & Webs: Mostrar
Next Gaming Desings, Photoshop Templates: Click Aquí
Web HTML Template para RP: Click Aquí
Logos Estilo FZ, Templayes: Click Aquí
Plantilla, Banner Fenixzone: Click Aquí
Pinceles para Photoshop CS6, CC Click Aquí
Rangos para foro SMF & PhpBB, Photoshop: Click Aquí
Header Server Zombie: Click Aquí
Header + Logo Verde Photoshop: Click Aquí
Guías & Filterscripts: Mostrar
Sistema casas SQLTraducido: Click Aquí
Sistema Admin Teleport por Checkpoint:Click Aquí

ImagenFacebook PersonalImagenCanal YTImagenPortafolio (Próximamente)
Antrox12
Aprendiz
Aprendiz
Mensajes: 161
Registrado: 10 Sep 2018 15:12
Reputación: 0

15 Jun 2019 23:54

Daniel Walker escribió:
15 Jun 2019 23:09
Spoiler:
Antrox12 escribió:
15 Jun 2019 22:06
Daniel Walker escribió:
15 Jun 2019 19:13


ponerlo al inicio de el comando de trabajo al lado de algún otro IF y cambiar lo que dice

VARIABLETRABAJO1 por PlayerInfo[playerid][jJob]

es decir:
Amigo el codigo no me sirvio, apenas tomo un trabajo dice que no puedo tener 2 trabajos y no me da ni uno
bastante extraño eso pero creo saber porque. intenta así
 Codigo Pawno:
1

if(PlayerInfo[playerid][jJob] == PlayerInfo[playerid][vipjob]) return SendClientMessage(playerid,-1, "[ERROR]:{FFFFFF} No puedes tener 2 trabajos iguales.");
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 1
creo que tu GM tiene 2 variables la de Job normal y la de el Job VIP ¿lo que quieres es que no pueda tener el mismo Job en esas dos ranuras cierto, intenta así en el comando de trabajo que tengas a ver si funciona
No me deja tomar ningún trabajo y si es como vos dices tengo 2 variables de tomar job del de vip y el normal.

acá una imagen para qué veas.

[ Imagen Externa ]
Avatar de Usuario
MrDave
Ayudante
Ayudante
Mensajes: 1049
Registrado: 05 Oct 2017 12:13
Reputación: 113

16 Jun 2019 10:39

Spoiler:
Antrox12 escribió:
15 Jun 2019 23:54
Daniel Walker escribió:
15 Jun 2019 23:09
Spoiler:
Antrox12 escribió:
15 Jun 2019 22:06

Amigo el codigo no me sirvio, apenas tomo un trabajo dice que no puedo tener 2 trabajos y no me da ni uno
bastante extraño eso pero creo saber porque. intenta así
 Codigo Pawno:
1

if(PlayerInfo[playerid][jJob] == PlayerInfo[playerid][vipjob]) return SendClientMessage(playerid,-1, "[ERROR]:{FFFFFF} No puedes tener 2 trabajos iguales.");
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 1
creo que tu GM tiene 2 variables la de Job normal y la de el Job VIP ¿lo que quieres es que no pueda tener el mismo Job en esas dos ranuras cierto, intenta así en el comando de trabajo que tengas a ver si funciona
No me deja tomar ningún trabajo y si es como vos dices tengo 2 variables de tomar job del de vip y el normal.

acá una imagen para qué veas.

[ Imagen Externa ]

Hacer esta condición no tiene sentido:
 Codigo Pawno:
1

if(PlayerInfo[playerid][jJob] == PlayerInfo[playerid][jJob])
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1

Si agregas eso en algún lado, esa condición siempre será verdadera y no dejará tomar ningún trabajo. ¿Por qué? Porqué estás comparando el mismo valor, es como hicieras esto: "1 == 1" (verdadero). Por eso no tiene sentido efectuar algo como esto.
La otra condición es esta:
 Codigo Pawno:
1

if(PlayerInfo[playerid][jJob] == PlayerInfo[playerid][vipjob])
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1

Tampoco tiene sentido, porqué las ID de los trabajos normales nunca van a coincidir con las ID de los trabajos VIP, por ende, esa condición nunca se cumpliría y daría como resultado falso. Entonces no estarías detectando nada.
Asumo que en tu sistema debes tener dos menú de trabajos:
1. Trabajos para los usuarios VIP.
2. Trabajos para los usuarios que no son VIP.
Ej ejemplo que te di arriba, te servirá de ayuda.

- Temporalmente estoy retirado de SA-MP; por lo tanto no me envíen propuestas de proyectos.
- No respondo dudas por privado, usa la sección de preguntas.
Responder