SA-MP Forums Archive
Error de sistema de robos - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Error de sistema de robos (/showthread.php?tid=287040)



Error de sistema de robos - santo_zoketaso - 01.10.2011

bueno es que tengo este codigo ke es un sistema de robos pero el problema es ke las facciones ke pongo para ke puedan robar no pueden y todas las demas ke no estan si pueden robar, por ejemplo kiero ke pueda robar la faccion 5 y pongo [pMember]==5 etc etc, y esa es la unica faccion ke no puede robar, bueno espero ke me ayuden con mi problema aki les dejo el codigo(esta un poco grande xd)

supongamos ke kiero ke robe la faccion 5, y le agrego el [pMember]==5, pero resulta ke en el server es la unica faccion ke no puede robar, o sea salen al contrario, porque el comando le funciona a todas menos a la 5


PD: las facciones ke kiero ke roben son la 5, 16,17 y 18

gracias por su atencion


PHP код:
if(strcmp(cmd, "/robar", true) == 0 || strcmp(cmd, "/rob", true) == 0) //
 
{
if(
IsPlayerConnected(playerid))
 {
if(
gPlayerLogged[playerid] == 0)
 {
 
SendClientMessage(playerid, COLOR_GREY, " Necesitas logear primero ! ");
return 
1;
 }
new 
x_nr[64];
 
x_nr = strtok(cmdtext, idx);
if(!
strlen(x_nr))
 {
 
SendClientMessage(playerid, COLOR_WHITE, "(/Robatorio [nombre])");
 
SendClientMessage(playerid, COLOR_WHITE, "Opciones disponibles: 24-7 / Telefono / Casa");
return 
1;
 }
if(
strcmp(x_nr,"auto",true) == 0)
 {
if(
PlayerInfo[playerid][pMember] != 8 && PlayerInfo[playerid][pLeader] != 8)
 {
 
SendClientMessage(playerid, COLOR_GREY, "No puedes robar si No eres Ladron");
return 
1;
 }
if(!
engineOn[GetPlayerVehicleID(playerid)])
 {
if(
GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
 {
return 
1;
 }
if(
Alambre[playerid] == 1)
 {
if(
CarInfo[idcar][cOwned]==0)
 {
 
SendClientMessage(playerid, COLOR_GRAD2, "No puedes robar vehiculos en venta!");
return 
1;
 }
if(
pveh == 510 || pveh == 462 || pveh == 481 || pveh == 509)
 {
return 
1;
 }
if(
idcar == 59 || idcar == 60)
 {
return 
1;
 }
if(
idcar >= 135 && idcar <= 154)
 {
return 
1;
 }
if(
IsAPlane(idcar))
 {
return 
1;
 }
if(
IsAHarvest(idcar))
 {
return 
1;
 }
if(
IsADrugHarvest(idcar))
 {
return 
1;
 }
if(
IsASweeper(idcar))
 {
return 
1;
 }
if(
IsAGarbage(idcar))
 {
return 
1;
 }
if(
gEngine[playerid] == 1) { return 1; }
new 
playerveh = GetPlayerVehicleID(playerid);
 
PutPlayerInVehicle(playerid, playerveh, 0);
 
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s intenta hacer un puente", sendername);
 
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
 
SetTimerEx("robovehiculo",3500,0,"i",playerid);
 
GameTextforPlayer(playerid, "/w/Robando Vehiculo...",3500,3);
 
gEngine[playerid] = 1;
 }
else
 {
 
SendClientMessage(playerid,COLOR_GREY,"No tienes Kit de Ladron!");
 }
 }
return 
1;
 }
else if(
strcmp(x_nr,"telefono",true) == 0)
 {
 
tmp = strtok(cmdtext, idx);
if(!
strlen(tmp)) {
 
SendClientMessage(playerid, COLOR_WHITE, "USO: /robatorio telefono [IdJugador/ParteDelNombre]");
return 
1;
 }
 
giveplayerid = ReturnUser(tmp);
if(
PlayerInfo[playerid][pMember]== 5||PlayerInfo[playerid][pLeader]==5||PlayerInfo[playerid][pMember]==15||PlayerInfo[playerid][pLeader]==15||PlayerInfo[playerid][pMember]==17||PlayerInfo[playerid][pLeader]== 17||PlayerInfo[playerid][pMember]== 18||PlayerInfo[playerid][pLeader]==18)
 {
 
SendClientMessage(playerid, COLOR_GREY, "No puedes robar si No eres Ladron");
return 
1;
 }
if(
IsPlayerConnected(giveplayerid))
 {
if(
timesrobbed[playerid] == 1)
 {
 
SendClientMessage(playerid, COLOR_YELLOW, "Solo se puede robar una ves despues de cada Pay Day!");
 }
if(
timesrobbed[playerid] == 0)
 {
if(
giveplayerid != INVALID_PLAYER_ID)
 {
if (
ProxDetectorS(3.0, playerid, giveplayerid))
 {
 
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s se hacerca a %s y le roba el telefono del bolsillo.", sendername ,giveplayer);
 
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);format(string, sizeof(string), "* Has robado el telefono de %s.", giveplayer);
 
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s ha robado tu telefono.", sendername);
 
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
 
PlayerInfo[giveplayerid][pPnumber] = 0;
 
timesrobbed[playerid]+=1;
 
GivePlayerMoney(playerid, 100);
 }
else
 {
 
SendClientMessage(playerid, COLOR_GREY, " Jugador no cercano!");
return 
1;
 }
 }
 }
 }
else
 {
 
SendClientMessage(playerid, COLOR_GREY, " Jugador no conectado!");
return 
1;
 }
 }
else if(
strcmp(x_nr,"casa",true) == 0) // by CodeMan
 
{
if(
PlayerInfo[playerid][pMember]== 5||PlayerInfo[playerid][pLeader]==5||PlayerInfo[playerid][pMember]==15||PlayerInfo[playerid][pLeader]==15||PlayerInfo[playerid][pMember]==17||PlayerInfo[playerid][pLeader]== 17||PlayerInfo[playerid][pMember]== 18||PlayerInfo[playerid][pLeader]==18)
 {
 
SendClientMessage(playerid, COLOR_GREY, "No eres ladrуn!");
return 
1;
 }
if(
timesrobbed[playerid] == 1)
 {
 
SendClientMessage(playerid, COLOR_YELLOW, "Solo se puede robar una ves despues de cada Pay Day!");
return 
1;
 }
for(new 
i = 0; i < sizeof(HouseInfo); i++)
 {
if (
PlayerToPoint(3, playerid,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]))
 {
new 
randomize;
new 
Float:cx, Float:cy, Float:cz;
 
GetPlayerPos(playerid, cx, cy, cz);
 
randomize = random(sizeof(RobCash));
 
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* %s entra en la casa y roba todo lo que puede", sendername);
 
ProxDetector(8.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
 
SafeGivePlayerMoney(playerid, RobCash[randomize][0]);
 
timesrobbed[playerid]+=1;
 
WantedPoints[playerid]+=5;
 
SetPlayerCriminal(playerid,255, "Asaltar una casa!");
 
SendClientMessage(playerid, COLOR_YELLOW, "Alguien alertу a la policнa! Corre antes de que vengan!");
 
ApplyAnimation(playerid, "SHOP", "ROB_Loop_Threat", 4.0, 0, 0, 0, 0, 0); // Rob
format(string, sizeof(string), "** La alarma te a delatado! Corre! **", sendername);
 
SendRadioMessage(1, TEAM_BLUE_COLOR, string);
for(new 
x = 0; x < MAX_PLAYERS; x++)
 {
if(
IsPlayerConnected(x))
 {
if(
PlayerInfo[x][pMember] == 1 || PlayerInfo[i][pLeader] == 1||PlayerInfo[x][pMember] == 3 || PlayerInfo[i][pLeader] == 3)
 {
 
SetPlayerCheckpoint(x, cx, cy, cz, 3.0);
 }
 }
 }
 
ProxDetector(30.0, playerid, "* Nii Nooo Niii Nooo (( Alarma Sonando ))", COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 
1;
 }
 }
}
else if(
strcmp(x_nr,"24-7",true) == 0)
 {
if(
PlayerToPoint(3, playerid,-28.0,-89.7,1003.5))
 {
if(
PlayerInfo[playerid][pMember]== 5||PlayerInfo[playerid][pLeader]==5||PlayerInfo[playerid][pMember]==15||PlayerInfo[playerid][pLeader]==15||PlayerInfo[playerid][pMember]==17||PlayerInfo[playerid][pLeader]== 17||PlayerInfo[playerid][pMember]== 18||PlayerInfo[playerid][pLeader]==18)
 { 
SendClientMessage(playerid, COLOR_GREY, "No eres Mara, usa /atraco");return 1; }
if(
timesrobbed[playerid] == 1){SendClientMessage(playerid, COLOR_YELLOW, "Solo se puede robar una ves despues de cada Pay Day!");}
if(
timesrobbed[playerid] == 0)
 {
 
GetPlayerName(playerid, sendername, sizeof(sendername));
 
ApplyAnimation(playerid, "SHOP", "ROB_Loop_Threat", 4.0, 0, 0, 0, 0, 0); // Rob
 
SendClientMessage(playerid, 0xFF0000FF, " ");
format(string, sizeof(string), "** HQ: El 24-7 de Los Santos esta siendo robado!. **", sendername);
 
SendRadioMessage(1, TEAM_BLUE_COLOR, string);
 
WantedPoints[playerid]+=4; SetPlayerCriminal(playerid,255, "Robar el 24-7!");
 
SendClientMessage(playerid, COLOR_YELLOW, "Has sido visto por las camaras de seguridad, corre!");
format(string,sizeof(string), "* %s apunta con su arma al vendedor.", sendername);
 
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
 
SendClientMessage(playerid, COLOR_YELLOW, "Has robado 500$");
 
GivePlayerMoney(playerid,500);
 
SendClientMessage(playerid,COLOR_YELLOW,string);
 
timesrobbed[playerid]+=1;
 }
 }
return 
1;
 }
 }
else
 {
 
SendClientMessage(playerid, COLOR_WHITE, "HINT: /robatorio [name]");
 
SendClientMessage(playerid, COLOR_WHITE, "Opciones disponibles: 24-7 / Telefono / Casa");
return 
1;
 } 



Respuesta: Error de sistema de robos - VetoBarrera - 02.10.2011

solo quitales el "!" ps ya que estas diciendo que cualquier faccion que no sea la que esta en ese valor pueda usar el cmd...


Respuesta: Error de sistema de robos - santo_zoketaso - 02.10.2011

ya lo pude arreglar, le tenia ke agregar "!" y cambiar "||" por "&&" xdd

aun asi gracias