09.01.2011, 19:43
Hola,
He creado unos comandos para sacar el tazer, linterna y armadura... pero hay un problema, si un user usa el comando /sacartazer, y luego yo intento tambiйn sacarlo, me dice que ya lo tengo sacado... їcуmo puede ser eso si yo no la saquй?
Luego si yo saco la linterna, y despuйs mi compaсero tambiйn intenta sacarla, le dice que ya tiene la linterna...
Los cуdigos los hice de la siguiente manera, puse los new:
Luego puse los comandos:
Como pueden ver, he usado un sistema MUY SIMPLE, y que son los tazerenmano = 0; o tazerenmano = 1; para que luego, si tiene ya un objeto en la mano, ya no le deja sacar nada porque ya tiene el tazer y despues, que sн le deje, porque no tiene el tazer.
Todo ese sistema lo tengo yo ya hecho y va perfecto. Pero la cosa se complica porque si mi compaсero saca un tazer /sacartazer y yo luego pongo /sacartazer me sale que ya lo tengo sacado, y no lo saquй...
No se si lo entienden, lo he explicado de la mejor forma, porfavor necesito que me ayuden e intenten que esto no se vaya abajo porque no desearнa revivir el tema haciendo doble post.
Gracias por adelantado y a la espera de vuestra ayuda.
Saludos.
He creado unos comandos para sacar el tazer, linterna y armadura... pero hay un problema, si un user usa el comando /sacartazer, y luego yo intento tambiйn sacarlo, me dice que ya lo tengo sacado... їcуmo puede ser eso si yo no la saquй?
Luego si yo saco la linterna, y despuйs mi compaсero tambiйn intenta sacarla, le dice que ya tiene la linterna...
Los cуdigos los hice de la siguiente manera, puse los new:
Код:
new armaduraenmanot; new armaduraenespalda; new linternaenmano; new tazerenmano;
Код:
if (strcmp("/sacararmadura", cmdtext, true, 10) == 0) { if(IsPlayerConnected(playerid)) { if (PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1) { new counter = 0; for(new i = 453; i <= 459; i++) { new dist = CheckPlayerDistanceToVehicle(7, playerid, i); if(dist) { counter++; } } for(new i = 20; i <= 28; i++) { new dist = CheckPlayerDistanceToVehicle(7, playerid, i); if(dist) { counter++; } } for(new i = 32; i <= 37; i++) { new dist = CheckPlayerDistanceToVehicle(7, playerid, i); if(dist) { counter++; } } for(new i = 460; i <= 461; i++) { new dist = CheckPlayerDistanceToVehicle(7, playerid, i); if(dist) { counter++; } } for(new i = 468; i <= 470; i++) { new dist = CheckPlayerDistanceToVehicle(7, playerid, i); if(dist) { counter++; } } for(new i = 19; i <= 19; i++) { new dist = CheckPlayerDistanceToVehicle(7, playerid, i); if(dist) { counter++; } } if(counter == 0) { SendClientMessage(playerid, COLOR_GREY, "No estбs cerca de ningъn vehнculo policial."); return 1; } if(armaduraenmano == 1) { SendClientMessage(playerid, 0xAFAFAFAA, "ЎYa tienes una armadura!"); return 1; } if(armaduraenespalda == 1) { SendClientMessage(playerid, 0xAFAFAFAA, "ЎYa tienes una armadura, la tienes en la espalda!"); return 1; } PutRiotShieldOnArm(playerid); format(string, sizeof(string), "* %s agarra la armadura anti-disturbios del maletero.", sendername); ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5); armaduraenmano = 1; return 1; } else { SendClientMessage(playerid, COLOR_GRAD2, "Usted no es agente de policнa."); } } else { SendClientMessage(playerid, COLOR_GRAD2, "No estбs conectado."); } return 1; } if (strcmp("/guardararmadura", cmdtext, true, 10) == 0) { if(IsPlayerConnected(playerid)) { if (PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1) { new counter = 0; for(new i = 453; i <= 459; i++) { new dist = CheckPlayerDistanceToVehicle(7, playerid, i); if(dist) { counter++; } } for(new i = 20; i <= 28; i++) { new dist = CheckPlayerDistanceToVehicle(7, playerid, i); if(dist) { counter++; } } for(new i = 32; i <= 37; i++) { new dist = CheckPlayerDistanceToVehicle(7, playerid, i); if(dist) { counter++; } } for(new i = 460; i <= 461; i++) { new dist = CheckPlayerDistanceToVehicle(7, playerid, i); if(dist) { counter++; } } for(new i = 468; i <= 470; i++) { new dist = CheckPlayerDistanceToVehicle(7, playerid, i); if(dist) { counter++; } } for(new i = 19; i <= 19; i++) { new dist = CheckPlayerDistanceToVehicle(7, playerid, i); if(dist) { counter++; } } if(counter == 0) { SendClientMessage(playerid, COLOR_GREY, "No estбs cerca de ningъn vehнculo policial."); return 1; } if(armaduraenmano == 0) { SendClientMessage(playerid, 0xAFAFAFAA, "No tienes ninguna armadura en mano o lo tienes en la espalda."); return 1; } RemoveItems(playerid); format(string, sizeof(string), "* %s agarra la armadura anti-disturbios y lo guarda en el maletero.", sendername); ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5); armaduraenmano = 0; return 1; } else { SendClientMessage(playerid, COLOR_GRAD2, "Usted no es agente de policнa."); } } else { SendClientMessage(playerid, COLOR_GRAD2, "No estбs conectado."); } return 1; } if (strcmp("/colgararmadura", cmdtext, true, 10) == 0) { if(IsPlayerConnected(playerid)) { if (PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1) { if(armaduraenmano == 0) { SendClientMessage(playerid, 0xAFAFAFAA, "No tienes ninguna armadura en mano"); return 1; } PutRiotShieldOnBack(playerid); format(string, sizeof(string), "* %s se cuelga la armadura anti-disturbios en su espalda.", sendername); ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5); armaduraenmano = 0; armaduraenespalda = 1; return 1; } else { SendClientMessage(playerid, COLOR_GRAD2, "Usted no es agente de policнa."); } } else { SendClientMessage(playerid, COLOR_GRAD2, "No estбs conectado."); } return 1; } if (strcmp("/descolgararmadura", cmdtext, true, 10) == 0) { if(IsPlayerConnected(playerid)) { if (PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1) { if(armaduraenespalda == 0) { SendClientMessage(playerid, 0xAFAFAFAA, "No tienes ninguna armadura en la espalda"); return 1; } PutRiotShieldOnArm(playerid); format(string, sizeof(string), "* %s se cuelga la armadura anti-disturbios en su espalda.", sendername); ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5); armaduraenmano = 1; armaduraenespalda = 0; return 1; } else { SendClientMessage(playerid, COLOR_GRAD2, "Usted no es agente de policнa."); } } else { SendClientMessage(playerid, COLOR_GRAD2, "No estбs conectado."); } return 1; } if (strcmp("/sacarlinterna", cmdtext, true, 10) == 0) { if(IsPlayerConnected(playerid)) { if (PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1) { if(linternaenmano == 1) { SendClientMessage(playerid, 0xAFAFAFAA, "Ya tienes el tazer en la mano..."); return 1; } if(tazerenmano == 1) { SendClientMessage(playerid, 0xAFAFAFAA, "Tienes un tazer, por lo que no puedes sacar la linterna."); return 1; } GiveFlashLight(playerid); format(string, sizeof(string), "* %s agarra la linterna de su cinturуn.", sendername); ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5); linternaenmano = 1; return 1; } else { SendClientMessage(playerid, COLOR_GRAD2, "Usted no es agente de policнa."); } } else { SendClientMessage(playerid, COLOR_GRAD2, "No estбs conectado."); } return 1; } if (strcmp("/guardarlinterna", cmdtext, true, 10) == 0) { if(IsPlayerConnected(playerid)) { if (PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1) { if(tazerenmano == 1) { SendClientMessage(playerid, 0xAFAFAFAA, "No tienes linterna, tienes tazer."); return 1; } if(linternaenmano == 0) { SendClientMessage(playerid, 0xAFAFAFAA, "No tienes ningъna linterna para guardar."); return 1; } RemoveItems(playerid); format(string, sizeof(string), "* %s guarda la linterna en su cinturуn.", sendername); ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5); linternaenmano = 0; return 1; } else { SendClientMessage(playerid, COLOR_GRAD2, "Usted no es agente de policнa."); } } else { SendClientMessage(playerid, COLOR_GRAD2, "No estбs conectado."); } return 1; } if (strcmp("/sacartazer", cmdtext, true, 10) == 0) { if(IsPlayerConnected(playerid)) { if (PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1) { if(tazerenmano == 1) { SendClientMessage(playerid, 0xAFAFAFAA, "Ya tienes el tazer en la mano..."); return 1; } if(linternaenmano == 1) { SendClientMessage(playerid, 0xAFAFAFAA, "Tienes una linterna, por lo que no puedes sacar el tazer."); return 1; } GiveTazer(playerid); format(string, sizeof(string), "* %s agarra el tazer de su cinturуn y lo prepara para usarlo.", sendername); ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5); tazerenmano = 1; return 1; } else { SendClientMessage(playerid, COLOR_GRAD2, "Usted no es agente de policнa."); } } else { SendClientMessage(playerid, COLOR_GRAD2, "No estбs conectado."); } return 1; } if (strcmp("/guardartazer", cmdtext, true, 10) == 0) { if(IsPlayerConnected(playerid)) { if (PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1) { if(linternaenmano == 1) { SendClientMessage(playerid, 0xAFAFAFAA, "No tienes tazer, tienes linterna."); return 1; } if(tazerenmano == 0) { SendClientMessage(playerid, 0xAFAFAFAA, "No tienes ningъn tazer para guardar."); return 1; } RemoveItems(playerid); format(string, sizeof(string), "* %s guarda el tazer en su cinturуn.", sendername); ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5); tazerenmano = 0; return 1; } else { SendClientMessage(playerid, COLOR_GRAD2, "Usted no es agente de policнa."); } } else { SendClientMessage(playerid, COLOR_GRAD2, "No estбs conectado."); } return 1; }
Todo ese sistema lo tengo yo ya hecho y va perfecto. Pero la cosa se complica porque si mi compaсero saca un tazer /sacartazer y yo luego pongo /sacartazer me sale que ya lo tengo sacado, y no lo saquй...
No se si lo entienden, lo he explicado de la mejor forma, porfavor necesito que me ayuden e intenten que esto no se vaya abajo porque no desearнa revivir el tema haciendo doble post.
Gracias por adelantado y a la espera de vuestra ayuda.
Saludos.