Funkis prieš 9 metus
Pasidaryt pasidareu, bet biški kitaip ir če žopa gaunasi didelė žopa:
public OnPlayerExitVehicle(playerid, vehicleid)
{
if(GetVehicleModel(vehicleid) == 420) // Tikriname ar taxi masina
{
new money = floatround(taxi_distance[playerid]*5, floatround_ceil)*2; // Skaiciuojame kiek pinigu vairuotojas turi gauti uz nuvaziuota atstuma
printf("%f",taxi_distance[playerid]);
if(IsPlayerTaxi_passenger[playerid] == 1 ) // Tikriname ar islipes zaidejas yra keleivis
{
format(zinute, 120, "{5980FF}•{ffffff} gavote {5980FF}%i €{ffffff}, kadangi keleivis išlipo iš tr. priemonės.", money); // Suformatuojame zinute
SendClientMessage(TaxiDriver[playerid], -1, zinute); // Issiunciame zinute
format(zinute, 120, "{5980FF}•{ffffff} sumokėjote {5980FF}%i €{ffffff}, kadangi išlipote iš taxi.", money); // Suformatuojame zinute
SendClientMessage(playerid, -1, zinute); // Issiunciame zinute
givePlayerMoney(playerid, -money); // Nuimame keleiviui pinigus
givePlayerMoney(TaxiDriver[playerid], money); // Duodame vairuotojui pinigus
new idas = TaxiDriver[playerid];
for(new i; i < 3; i++) { // Darome cikla is visu 3 keleivio vietu
if(TaxiPassengers[idas][i] == playerid) { // Tikriname ar zaidejo id yra lygi vienai is keleivio vietu
TaxiPassengers[idas][i] = -1; // Nuimame zaidejo id reiksme nuo keleivio vietos
break; // sustabdome cikla
}
}
TaxiDriver[playerid] = -1; // Zaidejui nuimame vairuotojo reiksme
IsPlayerTaxi_passenger[playerid] = 0; // Nustatome, kad zaidejas nebera keleivis
taxi_distance[playerid] = 0.0; // Nustatome, kad atstumas yra pradinis
PlayerTextDrawHide(playerid, taksometras1[playerid]);
PlayerTextDrawHide(playerid, taksometras2[playerid]);
PlayerTextDrawHide(playerid, taksometras3[playerid]);
return 1;
}
}
return 1;
}
ir šioje vietoje:
new money = floatround(taxi_distance[playerid]*5, floatround_ceil)*2;
Tas money nepasirodo toks, koks turi būti iš tikrųjų, panaudojus printf išgaunu štai tokį dalyką:
[20:06:17] 0.000000
[20:06:21] 3.654547
Pirmas printas, net neįsivaizduoju kodėl, bet būna 0.0000, bet va po kelių sekundžių išlenda normalus print'as, ta patį bandžiau ir po OnPlayerStateChange, bet ten išvis pasirodė tik vienas print'as : 0.0000
Kaip sudarau tą taxi_distance:
updateSpeedomether(playerid)
{
new
trID = GetPlayerVehicleID ( playerid ) , vMod = GetVehicleModel ( trID ) ,
Float:speed_ [ 4 ], engine, lights, alarm, doors, bonnet, boot, objective;
if(masina[trID][Gas] < 0.1)
{
GetVehicleParamsEx(trID, engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(trID, 0, lights, alarm, doors, bonnet, boot, objective); // ONLY the engine param was changed (to 1)
}
//GetVehicleHealth ( vehID , carHP ) ;
GetVehicleVelocity ( trID , speed_ [ 0 ] , speed_ [ 1 ] , speed_ [ 2 ] );
speed_ [ 3 ] = floatsqroot ( ( speed_ [ 0 ] * speed_ [ 0 ] ) + ( speed_ [ 1 ] * speed_ [ 1 ] ) + ( speed_ [ 2 ] * speed_ [ 2 ] ) ) * 200.666667 ;
masina [ trID ] [ vehRida ] += speed_ [ 3 ] / 35000;
format ( g_szBuffer , sizeof ( g_szBuffer ) , "~y~%d~w~ KM/H" , GetPlayerSpeed ( playerid ) ) ;
PlayerTextDrawSetString ( playerid , speede[1][playerid] , g_szBuffer ) ;
//format ( string , sizeof ( string ) , "%0.1f%" , carHP/10 ) ;
//PlayerTextDrawSetString ( playerid , speedo [ 6 ] [playerid] , string ) ;
format ( g_szBuffer , sizeof ( g_szBuffer ) , "~y~ %0.2f~w~ L." , masina[trID][Gas] ) ; // speedo [ 10 ] [playerid]
PlayerTextDrawSetString ( playerid , speede[2][playerid] , g_szBuffer ) ;
format ( g_szBuffer , sizeof ( g_szBuffer ) , "~y~%s" , aVehicleNames [ vMod - 400 ] ) ; // speedo [ 10 ] [playerid]
PlayerTextDrawSetString ( playerid , speede[0][playerid] , g_szBuffer ) ;
format ( g_szBuffer , sizeof ( g_szBuffer ) , "~y~ %0.2f ~w~KM." , masina [ trID ] [ vehRida ] ) ;
PlayerTextDrawSetString ( playerid , speede[3][playerid] , g_szBuffer ) ;
if(GetVehicleModel(trID) == 420 && TaxiPassenger[playerid] != -1)
{
taxi_distance[playerid] += speed_ [ 3 ] / 35000;
format ( g_szBuffer , sizeof ( g_szBuffer ) , "Jusu vairuotojas %s~n~Nuvaziuotas atstumas: %0.2f~n~Moketi: %i EUR" , GetPlayerNameEx(playerid), taxi_distance[playerid], floatround(taxi_distance[playerid]*5, floatround_ceil)*2 ) ;
PlayerTextDrawSetString ( TaxiPassenger[playerid] , taksometras3[TaxiPassenger[playerid]] , g_szBuffer ) ;
}
return 1;
}
Funkis prieš 9 metus
Kaip tokias šiukšles žemė nešioja, niekada nesuprasiu. Gadyca, ten su byrka po šūdus lakstyt, ane? ;]
Funkis prieš 9 metus
Bet tai pala, tu iškeli temą, klausi mūsų nuomonės - ir paaiškinti taip, jog "lyg aš būčiau klausęs", tai čia tipo negalima atsakynėt šitoje temoje ar kas tau yra?
Funkis prieš 9 metus
Aš tai neturiu nieko blogo prieš juos, o tu čia su savo nesamonėm kažką bandai suburt? :D Man jie visiškai netrukdo, jei jie nerodo savo santykių atvirai, atviruose vietuose ir pan.
Funkis prieš 9 metus
Buvau kaip ir sugalvojąs viską, bet mano variantu viskas suveiktu tik ant vieno žaidėjo.
Funkis prieš 9 metus
SendDistanceMessage( playerid, String[ ],Radius,RadiusColor )
stock SendDistanceMessage( playerid, String[ ],Radius,RadiusColor )
{
new Float: Player[ 3 ];
GetPlayerPos( playerid, Player[ 0 ],Player[ 1 ],Player[ 2 ] );
for( new i = 0; i != MAX_PLAYERS; i++ )
{
if( !IsPlayerConnected( i ) ) continue;
if( IsPlayerInRangeOfPoint( i, Radius, Player[ 0 ],Player[ 1 ],Player[ 2 ] ) )
{
SendClientMessage( i, RadiusColor, String );
}
}
}