28.10.2011, 11:23
Hola, ante todo gracias por leer mi post y vuestro interes... Queria preguntaros como solucionar cierto bug en taxistas, el bug es conocido pero no he podido encontrar ningun post que lo solucione, en el caso de que exista cierren este y pongan el link de dicho post si puede ser. Gracias.
El bug es el de que cuando una persona va en el taxi y se le pone el dinero en negativo y el taxista sigue ganando dinero, luego el deudor va a jail y se le va la deuda y luego intercambian el puesto y se hacen de oro...
Mi Codigo es este:
http://pastebin.com/fSL6R8zA
Me gustaria conocer la forma de arreglarlo a ser posible ya que por ahora, voy tirando quitando que la deuda no se valla con el jail...
Muchas gracias y buen dia.
El bug es el de que cuando una persona va en el taxi y se le pone el dinero en negativo y el taxista sigue ganando dinero, luego el deudor va a jail y se le va la deuda y luego intercambian el puesto y se hacen de oro...
Mi Codigo es este:
Код:
if(strcmp(cmd,"/fare",true)==0) { if(IsPlayerConnected(playerid)) { if(PlayerInfo[playerid][pMember] == 11 || PlayerInfo[playerid][pLeader] == 11 || PlayerInfo[playerid][pJob] == 1) { if(TransportDuty[playerid] > 0) { if(TransportDuty[playerid] == 1) { TaxiDrivers -= 1; } else if(TransportDuty[playerid] == 2) { BusDrivers -= 1; } TransportDuty[playerid] = 0; format(string, sizeof(string), "* Estas fuera de trabajo y hasta hoy has ganado $%d.", TransportMoney[playerid]); SendClientMessage(playerid, COLOR_WHITE, string); SafeGivePlayerMoney(playerid, TransportMoney[playerid]); TransportValue[playerid] = 0; TransportMoney[playerid] = 0; return 1; } new Veh = GetPlayerVehicleID(playerid); if(Veh == 61 || Veh == 62 || Veh == 63 || Veh == 64|| Veh == 65 || Veh == 66 || Veh == 67 || Veh == 68 || Veh == 69 || Veh == 70) { if(GetPlayerState(playerid) == 2) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fare [price]"); return 1; } moneys = strval(tmp); if(moneys < 1 || moneys > 20) { SendClientMessage(playerid, COLOR_GREY, " Fare price must be between $1 and $20 !"); return 1; } TaxiDrivers += 1; TransportDuty[playerid] = 1; TransportValue[playerid] = moneys; GetPlayerName(playerid,sendername,sizeof(sendername)); format(string, sizeof(string), "[Anuncio] Conductor de Taxis %s se encuentra en servicio /llamar 444", sendername); OOCNews(0x00CA00FF,string); } else { SendClientMessage(playerid, COLOR_GREY, " You are not the Driver !"); return 1; } } else if(Veh == 59 || Veh == 60) { if(GetPlayerState(playerid) == 2) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fare [price]"); return 1; } moneys = strval(tmp); if(moneys < 1 || moneys > 99999) { SendClientMessage(playerid, COLOR_GREY, " Fare price must be between $1 and $99999 !"); return 1; } BusDrivers += 1; TransportDuty[playerid] = 2; TransportValue[playerid]= moneys; GetPlayerName(playerid,sendername,sizeof(sendername)); format(string, sizeof(string), "[Anuncio] Chofer de Bus %s Esta en Servicio, Tarifa: $%d.", sendername, TransportValue[playerid]); OOCNews(TEAM_GROVE_COLOR,string); } else { SendClientMessage(playerid, COLOR_GREY, " You are not the Driver !"); return 1; } } else { SendClientMessage(playerid, COLOR_GREY, " / You are not in a TaxiBus !"); } } else { SendClientMessage(playerid,COLOR_GREY," You are not a Taxi / Bus Driver !"); return 1; } } return 1;
Me gustaria conocer la forma de arreglarlo a ser posible ya que por ahora, voy tirando quitando que la deuda no se valla con el jail...
Muchas gracias y buen dia.