[Ayuda] Reparar Vehiculos.
#1

Buenas, Veran tengo un problema, el comando /repair me repara el motor de el Vehiculo, es decir le quita el humo para que no explote, pero no repara el aspecto de el coche bollones etc..., he provado con muchos comandos unos compilan bien pero sigue igual otros simplemente no compilan.

Podria ser otra cosa, un FS? o algo tengo los nuevos de la ultima REV.7 pero esque ya ando desesperado.

El GM es de la VL-RP.

Gracias!!!

Un saludo.
Reply
#2

aca un ejemplo basico
pawn Код:
if(strcmp(cmdtext, "/repair", true) == 0){
  RepairVehicle(GetPlayerVehicleID(playerid));
  return 1;
}
cualquier cosa decime
Reply
#3

Hola soy brasileсo y yo decidi ir a otro foro para mн para ampliar mбs

Uso...


pawn Код:
if(strcmp(cmd, "/reparar", true) == 0)
{
RepairVehicle(GetPlayerVehicleID(playerid)); //Reparar o Visual
SendClientMessage(playerid, 0xFFFFFFFF, "Veiculos Reparado"); //Envia Mensagem
SetVehicleHealth(vehicleid,1000.0); //Reparar o Motor
return 1;
}
Perdуn por Spanish'm Mal de Brasil
Reply
#4

Bueno he provado, los 2 pero ninguno funciona.

Mirad:
Quote:

if(strcmp(cmd, "/repair", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMember] == 21 || PlayerInfo[playerid][pLeader] == 21)
{
SendClientMessage(playerid, COLOR_GREY, " You are not a Car Mechanic!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /repair [playerid/PartOfName] [precio]");
return 1;
}
new playa;
new money;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
money = strval(tmp);
if(money < 1 || money > 999) { SendClientMessage(playerid, COLOR_GREY, " Price not lower then 1, or above 999!"); return 1; }
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
if(ProxDetectorS(8.0, playerid, playa)&& IsPlayerInAnyVehicle(playa))
{
if(playa == playerid) { SendClientMessage(playerid, COLOR_GREY, " No puedes hacer eso!"); return 1; }
GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Le has ofrecido a %s arreglar su auto por $%d .",giveplayer,money);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Mecanico %s ofrece reparacion de su auto por $%d, (escribe /aceptar repair) para aceptar.",sendername,money);
SendClientMessage(playa, COLOR_LIGHTBLUE, string);
RepairVehicle(GetPlayerVehicleID(playerid));
RepairOffer[playa] = playerid;
RepairPrice[playa] = money;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " El jugador no esta cerca de ti / not in a car.");
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " El jugador no esta en linea.");
}
}
return 1;
}

Este es el repair de el GM le he aсadiddo el RepairVehicle, pero ahora el problema es que estando en la faccion de mecanico me dice que no soy mecanico antes no.

Gracias por vuestra ayuda espero solucionemos esto.
Reply
#5

Quote:
Originally Posted by DraKoN
Hola soy brasileсo y yo decidi ir a otro foro para mн para ampliar mбs

Uso...


pawn Код:
if(strcmp(cmd, "/reparar", true) == 0)
{
RepairVehicle(GetPlayerVehicleID(playerid)); //Reparar o Visual
SendClientMessage(playerid, 0xFFFFFFFF, "Veiculos Reparado"); //Envia Mensagem
SetVehicleHealth(vehicleid,1000.0); //Reparar o Motor
return 1;
}
Perdуn por Spanish'm Mal de Brasil
el SetVehicleHealth(vehicleid, 1000.0); esta de mas ya que con el RepairVehicle se repara tanto lo siv

el codigo que te damos aca (en el foro contestando a una pregunta tuya) generalmente vas a tener que adaptarlo al codigo en el cual lo quieras implementar.
pawn Код:
if(strcmp(cmd, "/repair", true) == 0)
  {
    if(IsPlayerConnected(playerid))
    {
     if(PlayerInfo[playerid][pMember] == 21 || PlayerInfo[playerid][pLeader] == 21)
     {
       SendClientMessage(playerid, COLOR_GREY, "  You are not a Car Mechanic!");
       return 1;
     }
     tmp = strtok(cmdtext, idx);
     if(!strlen(tmp))
     {
      SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /repair [playerid/PartOfName] [precio]");
      return 1;
     }
     new playa;
     new money;
     playa = ReturnUser(tmp);
     tmp = strtok(cmdtext, idx);
     money = strval(tmp);
     if(money < 1 || money > 999) { SendClientMessage(playerid, COLOR_GREY, "  Price not lower then 1, or above 999!"); return 1; }
     if(IsPlayerConnected(playa))
     {
       if(playa != INVALID_PLAYER_ID)
       {
         if(ProxDetectorS(8.0, playerid, playa)&& IsPlayerInAnyVehicle(playa))
        {
          if(playa == playerid) { SendClientMessage(playerid, COLOR_GREY, "  No puedes hacer eso!"); return 1; }
          GetPlayerName(playa, giveplayer, sizeof(giveplayer));
         GetPlayerName(playerid, sendername, sizeof(sendername));
          format(string, sizeof(string), "* Le has ofrecido a %s arreglar su auto por $%d .",giveplayer,money);
         SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
         format(string, sizeof(string), "* Mecanico %s ofrece reparacion de su auto por $%d, (escribe /aceptar repair) para aceptar.",sendername,money);
         SendClientMessage(playa, COLOR_LIGHTBLUE, string);
         RepairVehicle(GetPlayerVehicleID(playa)); //debias poner playa, y no playerid (EN ESTE CASO
   RepairOffer[playa] = playerid;
         RepairPrice[playa] = money;
        }
        else
        {
          SendClientMessage(playerid, COLOR_GREY, "  El jugador no esta cerca de ti / not in a car.");
        }
      }
     }
     else
     {
       SendClientMessage(playerid, COLOR_GREY, "  El jugador no esta en linea.");
     }
   }
   return 1;
  }
espero que te sirva

Nota: los codigos de pawn te sugiero los pongas entre
Код:
 
pawn Код:
y
Reply
#6

Bien el comando, esta correcto en pawno, muchas gracias.

Pero sigo con el problema de pmember y plider.

Cuando lo uso siendo de la faccion de mecanicos me dice: You not Are a car mechanic!

Un saludo y Gracias!!!
Reply
#7

es porque en vez de ir:
pawn Код:
if(PlayerInfo[playerid][pMember] == 21 || PlayerInfo[playerid][pLeader] == 21)
va:
pawn Код:
if(PlayerInfo[playerid][pMember] != 21 || PlayerInfo[playerid][pLeader] != 21)
y el IsPlayerConnected del inicio del comando esta de mas ya que es obvio que si el jugador tipeo ese comando esta conectado no te parece?
Reply
#8

Ok, Aqui te coloco el comando ahora mismo, y continua igual si elimino if(IsPlayerConnected(playerid)) el pawno me tira error y no termina de compilar.

Gracias!!!!!

pawn Код:
if(strcmp(cmd, "/repair", true) == 0)
  {
    if(IsPlayerConnected(playerid))
    {
     if(PlayerInfo[playerid][pMember] != 21 || PlayerInfo[playerid][pLeader] != 21)
     {
       SendClientMessage(playerid, COLOR_GREY, "  You are not a Car Mechanic!");
       return 1;
     }
     tmp = strtok(cmdtext, idx);
     if(!strlen(tmp))
     {
      SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /repair [playerid/PartOfName] [precio]");
      return 1;
     }
     new playa;
     new money;
     playa = ReturnUser(tmp);
     tmp = strtok(cmdtext, idx);
     money = strval(tmp);
     if(money < 1 || money > 999) { SendClientMessage(playerid, COLOR_GREY, "  Price not lower then 1, or above 999!"); return 1; }
     if(IsPlayerConnected(playa))
     {
       if(playa != INVALID_PLAYER_ID)
       {
         if(ProxDetectorS(8.0, playerid, playa)&& IsPlayerInAnyVehicle(playa))
        {
          if(playa == playerid) { SendClientMessage(playerid, COLOR_GREY, "  No puedes hacer eso!"); return 1; }
          GetPlayerName(playa, giveplayer, sizeof(giveplayer));
         GetPlayerName(playerid, sendername, sizeof(sendername));
          format(string, sizeof(string), "* Le has ofrecido a %s arreglar su auto por $%d .",giveplayer,money);
         SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
         format(string, sizeof(string), "* Mecanico %s ofrece reparacion de su auto por $%d, (escribe /aceptar repair) para aceptar.",sendername,money);
         SendClientMessage(playa, COLOR_LIGHTBLUE, string);
         RepairVehicle(GetPlayerVehicleID(playa));
   RepairOffer[playa] = playerid;
         RepairPrice[playa] = money;
        }
        else
        {
          SendClientMessage(playerid, COLOR_GREY, "  El jugador no esta cerca de ti / not in a car.");
        }
      }
     }
     else
     {
       SendClientMessage(playerid, COLOR_GREY, "  El jugador no esta en linea.");
     }
   }
   return 1;
  }
Un saludo
Reply
#9

pawn Код:
if(strcmp(cmd, "/repair", true) == 0){
  if(PlayerInfo[playerid][pMember] != 21 || PlayerInfo[playerid][pLeader] != 21)return SendClientMessage(playerid, COLOR_GREY, "  You are not a Car Mechanic!");
  tmp = strtok(cmdtext, idx);
  if(!strlen(tmp))return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /repair [playerid/PartOfName] [precio]");
  new playa;
  new money;
  playa = ReturnUser(tmp);
  tmp = strtok(cmdtext, idx);
  money = strval(tmp);
  if(money < 1 || money > 999)return SendClientMessage(playerid, COLOR_GREY, "  Price not lower then 1, or above 999!");
  if(IsPlayerConnected(playa)){
    if(playa != INVALID_PLAYER_ID){
      if(ProxDetectorS(8.0, playerid, playa)&& IsPlayerInAnyVehicle(playa)){
        if(playa == playerid) return SendClientMessage(playerid, COLOR_GREY, "  No puedes hacer eso!");
          GetPlayerName(playa, giveplayer, sizeof(giveplayer));
          GetPlayerName(playerid, sendername, sizeof(sendername));
          format(string, sizeof(string), "* Le has ofrecido a %s arreglar su auto por $%d .",giveplayer,money);
          SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
          format(string, sizeof(string), "* Mecanico %s ofrece reparacion de su auto por $%d, (escribe /aceptar repair) para aceptar.",sendername,money);
          SendClientMessage(playa, COLOR_LIGHTBLUE, string);
          RepairVehicle(GetPlayerVehicleID(playa));
          RepairOffer[playa] = playerid;
          return RepairPrice[playa] = money;
        }else return SendClientMessage(playerid, COLOR_GREY, "  El jugador no esta cerca de ti / not in a car.");
      }
    }
  }else return SendClientMessage(playerid, COLOR_GREY, "  El jugador no esta en linea.");
}
Reply
#10

El pawno me tira error de programa no se cierra pero no compila tampoco.

Por favor alguien puede ayudarme.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)