[Pedido] Taximetro
#1

Ola, alguйm tem um tutorial de como criar um taximetro ?

da /corrida valor quando o player entrar no veic comeзar a debitar.. sistema tradicional.. vlw!
Reply
#2

Peguei de uma gm aki , de uma estudada e trabalhe em cima da sua gm
PHP код:
new Taximetro[MAX_PLAYERS][2];
new 
PrecoCorrida[MAX_PLAYERS]; 
PHP код:
public OnPlayerCommandText(playerid,cmdtext[])
if(
strcmp(cmd"/ttaxi"true) == && IsPlayerConnected(playerid)) {
    if(
PlayerInfoplayerid ][pProfissao] == Taxista || IsPlayerAdmin(playerid)){
    new 
plid;
    
tmp strtok(cmdtextidx);
    if(!
strlen(tmp)) {
    
SendClientMessage(playeridVermelho"/ttaxi [id]");
    return 
1;
    }
    
plid strval(tmp);
    if(
GetPlayerVehicleID(playerid) == GetPlayerVehicleID(plid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER){
    
SendClientMessage(plid0xE1E100AA"| INFO | O(A) Taxista ligou o Taximкtro.");
    
GivePlayerGrana(playerid,000);
    
GivePlayerGrana(plid,000);
    
Taximetro[plid][0] = 1;
    
Taximetro[plid][1] = playerid;
    return 
1;
    }else{
    
SendClientMessage(playeridVermelho"| ERRO | O passageiro nгo estб dentro do seu carro ou vocк nгo й o motorista.");
    return 
1;
    }
    }
    } 
PHP код:
public OnPlayerStateChange(playeridnewstateoldstate)
    if(
newstate == PLAYER_STATE_ONFOOT){
    if(
Taximetro[playerid][0] == 1){
    
SendClientMessage(playeridVerde"| INFO | Vocк saiu do taxi, e a corrida foi paga");
    
SendClientMessage(Taximetro[playerid][1], Vermelho"| INFO | Vocк recebeu o valor da corrida atй aqui.");
    
GivePlayerGrana(playeridPrecoCorrida[playerid]);
    
GivePlayerGrana(Taximetro[playerid][1], PrecoCorrida[playerid]);
    
PrecoCorrida[playerid] = 0;
    
Taximetro[playerid][1] = 0;
    
Taximetro[playerid][0] = 0;
    return 
1;
    }
    } 
PHP код:
public Taxi()
{
foreach(
Playeri)
{
if(
Taximetro[i][0] == 1){
if(
GetPlayerGrana(i) > PrecoCorrida[i] + 3){
new 
string[128];
PrecoCorrida[i] = PrecoCorrida[i] + 3;
format(stringsizeof(string), "| TAXНMETRO | O taxнmetro estб cobrando R$%d de sua viagem!"PrecoCorrida[i]);
SendClientMessage(i0xFFFF00AAstring);
SendClientMessage(Taximetro[i][1], 0xD9D900AAstring);
}
if(
GetPlayerGrana(i) < PrecoCorrida[i] + 3){
SendClientMessage(iVermelho"| INFO | Vocк nгo tem mais dinheiro para o taxi, sua viagem acaba aqui.");
SendClientMessage(Taximetro[i][1], Vermelho"| INFO | Seu passageiro ficou sem dinheiro e por isso foi deixado aqui.");
GivePlayerGrana(iPrecoCorrida[i]);
GivePlayerGrana(Taximetro[i][1], PrecoCorrida[i]);
RemovePlayerFromVehicle(i);
PrecoCorrida[i] = 0;
Taximetro[i][1] = 0;
}
}
}

Reply
#3

vlw + rep, vou dar uma estudada pra tentar adaptar no meu gm
Reply
#4

Fiz uma adaptaзгo vou postar aqui caso alguйm esteja com a mesma dificuldade!
Vlw!
pawn Код:
new Taximetro[MAX_PLAYERS][2];
new PrecoCorrida[MAX_PLAYERS];
pawn Код:
CMD:corrida(playerid, params[])
{
if(pDados[playerid][Organizacao] == 15)
{
new plid;
new string[128];
new carid = GetPlayerVehicleID(playerid);
if(GetPlayerVehicleID(playerid) == GetPlayerVehicleID(plid) && GetPlayerState(playerid) == 2)
{
if(sscanf(params, "i", plid)) return SendClientMessage(playerid, Verde, "Use corrida [ID]");
if(carid <= 44) return SendClientMessage(playerid, Vermelho, "Vocк nгo pode iniciar corrida neste veiculo");
if(playerid == plid) return SendClientMessage(playerid, Laranja, "Vocк nгo pode iniciar o taximetro com voce");
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, sizeof(aname));
format(string, sizeof(string), "O taxista [%s] inicou uma corrida com vocк[%i]", aname,PrecoCorrida);
SendClientMessage(plid, Laranja, string);
format(string, sizeof(string), "Vocк iniciou uma corrida com [%s] leve-o atй o destino", plid);
SendClientMessage(playerid, Laranja, string);
GivePlayerMoney(playerid,000);
GivePlayerMoney(plid,000);
Taximetro[plid][0] = 1;
Taximetro[plid][1] = playerid;
SetTimer("Taxi", 1000, true);
return 1;
}

else
{
SendClientMessage(playerid, Laranja, "O passageiro nгo esta no taxi ou vocк nгo esta dirigindo um taxi");

}
}
return 1;
}
pawn Код:
if(newstate == 1)
     {
     if(Taximetro[playerid][0] == 1)
     {
     SendClientMessage(playerid, Verde, "| TAXISTAS | Vocк saiu do taxi, e a corrida foi paga");
     SendClientMessage(Taximetro[playerid][1], Vermelho, "| TRABALHADOR | Vocк recebeu o valor da corrida atй aqui.");
     GivePlayerMoney(playerid, 0 - PrecoCorrida[playerid]);
     GivePlayerMoney(Taximetro[playerid][1], PrecoCorrida[playerid]);
     PrecoCorrida[playerid] = 0;
     Taximetro[playerid][1] = 0;
     Taximetro[playerid][0] = 0;
     return 1;
     }
     }
pawn Код:
forward Taxi();
public Taxi()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(Taximetro[i][0] == 1){
if(GetPlayerMoney(i) > PrecoCorrida[i] + 3){
new string[128];
PrecoCorrida[i] = PrecoCorrida[i] + 3;
format(string, sizeof(string), "[Taximetro]:R$%d", PrecoCorrida[i]);
SendClientMessage(i, 0xFFFF00AA, string);
SendClientMessage(Taximetro[i][1], 0xD9D900AA, string);
}
if(GetPlayerMoney(i) < PrecoCorrida[i] + 3){
SendClientMessage(i, Vermelho, "Vocк nгo tem mais dinheiro para o taxi, sua viagem acaba aqui.");
SendClientMessage(Taximetro[i][1], Vermelho, "Seu passageiro ficou sem dinheiro e por isso foi deixado aqui.");
GivePlayerMoney(i, 0 - PrecoCorrida[i]);
GivePlayerMoney(Taximetro[i][1], PrecoCorrida[i]);
RemovePlayerFromVehicle(i);
PrecoCorrida[i] = 0;
Taximetro[i][1] = 0;
}
}
}
}
Reply
#5

Quote:
Originally Posted by johntrybescripter
Посмотреть сообщение
Fiz uma adaptaзгo vou postar aqui caso alguйm esteja com a mesma dificuldade!
Vlw!
pawn Код:
new Taximetro[MAX_PLAYERS][2];
new PrecoCorrida[MAX_PLAYERS];
pawn Код:
CMD:corrida(playerid, params[])
{
if(pDados[playerid][Organizacao] == 15)
{
new plid;
new string[128];
new carid = GetPlayerVehicleID(playerid);
if(GetPlayerVehicleID(playerid) == GetPlayerVehicleID(plid) && GetPlayerState(playerid) == 2)
{
if(sscanf(params, "i", plid)) return SendClientMessage(playerid, Verde, "Use corrida [ID]");
if(carid <= 44) return SendClientMessage(playerid, Vermelho, "Vocк nгo pode iniciar corrida neste veiculo");
if(playerid == plid) return SendClientMessage(playerid, Laranja, "Vocк nгo pode iniciar o taximetro com voce");
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, sizeof(aname));
format(string, sizeof(string), "O taxista [%s] inicou uma corrida com vocк[%i]", aname,PrecoCorrida);
SendClientMessage(plid, Laranja, string);
format(string, sizeof(string), "Vocк iniciou uma corrida com [%s] leve-o atй o destino", plid);
SendClientMessage(playerid, Laranja, string);
GivePlayerMoney(playerid,000);
GivePlayerMoney(plid,000);
Taximetro[plid][0] = 1;
Taximetro[plid][1] = playerid;
SetTimer("Taxi", 1000, true);
return 1;
}

else
{
SendClientMessage(playerid, Laranja, "O passageiro nгo esta no taxi ou vocк nгo esta dirigindo um taxi");

}
}
return 1;
}
pawn Код:
if(newstate == 1)
     {
     if(Taximetro[playerid][0] == 1)
     {
     SendClientMessage(playerid, Verde, "| TAXISTAS | Vocк saiu do taxi, e a corrida foi paga");
     SendClientMessage(Taximetro[playerid][1], Vermelho, "| TRABALHADOR | Vocк recebeu o valor da corrida atй aqui.");
     GivePlayerMoney(playerid, 0 - PrecoCorrida[playerid]);
     GivePlayerMoney(Taximetro[playerid][1], PrecoCorrida[playerid]);
     PrecoCorrida[playerid] = 0;
     Taximetro[playerid][1] = 0;
     Taximetro[playerid][0] = 0;
     return 1;
     }
     }
pawn Код:
forward Taxi();
public Taxi()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(Taximetro[i][0] == 1){
if(GetPlayerMoney(i) > PrecoCorrida[i] + 3){
new string[128];
PrecoCorrida[i] = PrecoCorrida[i] + 3;
format(string, sizeof(string), "[Taximetro]:R$%d", PrecoCorrida[i]);
SendClientMessage(i, 0xFFFF00AA, string);
SendClientMessage(Taximetro[i][1], 0xD9D900AA, string);
}
if(GetPlayerMoney(i) < PrecoCorrida[i] + 3){
SendClientMessage(i, Vermelho, "Vocк nгo tem mais dinheiro para o taxi, sua viagem acaba aqui.");
SendClientMessage(Taximetro[i][1], Vermelho, "Seu passageiro ficou sem dinheiro e por isso foi deixado aqui.");
GivePlayerMoney(i, 0 - PrecoCorrida[i]);
GivePlayerMoney(Taximetro[i][1], PrecoCorrida[i]);
RemovePlayerFromVehicle(i);
PrecoCorrida[i] = 0;
Taximetro[i][1] = 0;
}
}
}
}
nice
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)