GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Wiliam Levy - 2013. Július 12. - 16:37:15

Cím: távolság
Írta: Wiliam Levy - 2013. Július 12. - 16:37:15
Távolságot melyik függvénnyel lehet mérni?
Cím: távolság
Írta: SnooP - 2013. Július 12. - 17:21:18
GetPlayerDistanceFromPoint - Gyalogosan
GetVehicleDistanceFromPoint - Jármûvel
Cím: távolság
Írta: Wiliam Levy - 2013. Július 12. - 17:48:24
   tavolsag = GetPlayerDistanceFromPoint(playerid, RandomKamionCP[randomok][0], RandomKamionCP[randomok][1], RandomKamionCP[randomok][2]);
KamionFizu[playerid] = tavolsag*0.100;

 
Itt tag mishmatchot ír :/
Cím: távolság
Írta: SnooP - 2013. Július 12. - 18:38:52

CMD:parancs(playerid,params[])
{
  new Float:RandomSpawn[][4] =
  {
    // Állítsd be ide a te random spawnjaid és vigyázz ne használj FacingAngle-t én amikor néztem a randomozást azzal is buktam be :D
    {-2796.9854, 1224.8180, 20.5429},
    {-2454.2170, 503.8759, 30.0790},
    {-2669.7322, -6.0874, 6.1328}
  };
 
  new Float:distance, uzenet[44];
  new rand = random(sizeof(RandomSpawn));
 
  floatabs(RandomSpawn[rand][0]);
  floatabs(RandomSpawn[rand][1]);
  floatabs(RandomSpawn[rand][2]);
 
 
  distance = GetPlayerDistanceFromPoint(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
  format(uzenet, sizeof(uzenet), \"A random tálvosága : %0.2f\", distance);
  SendClientMessage(playerid, -1, uzenet);
 
  return 1;
}

 
Tessék megírtam neked, úgy tûnik a random dolgokhoz kellett a floatabs valamint arra figyelj ne cseréld ki a \'distance\' változót mert akkor valamiért errort kap (én sem értem, hogy miért).
E: A fizetéshez nem írtam semmit, nem volt kedvem létrehozni enumokat stb, de a kód így már nem jelezi azt, hogy a \'distance\' változót nem használja sehol, ergo a \'distance\' megkapta a lekérdezett értéket.
Cím: távolság
Írta: Wiliam Levy - 2013. Július 12. - 21:33:19
Idézetet írta: SnooP date=1373647132\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"39660\" data-ipsquote-contentclass=\"forums_Topic


CMD:parancs(playerid,params[])
{
  new Float:RandomSpawn[][4] =
  {
    // Állítsd be ide a te random spawnjaid és vigyázz ne használj FacingAngle-t én amikor néztem a randomozást azzal is buktam be :D
    {-2796.9854, 1224.8180, 20.5429},
    {-2454.2170, 503.8759, 30.0790},
    {-2669.7322, -6.0874, 6.1328}
  };
 
  new Float:distance, uzenet[44];
  new rand = random(sizeof(RandomSpawn));
 
  floatabs(RandomSpawn[rand][0]);
  floatabs(RandomSpawn[rand][1]);
  floatabs(RandomSpawn[rand][2]);
 
 
  distance = GetPlayerDistanceFromPoint(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
  format(uzenet, sizeof(uzenet), \"A random tálvosága : %0.2f\", distance);
  SendClientMessage(playerid, -1, uzenet);
 
  return 1;
}

 
Tessék megírtam neked, úgy tûnik a random dolgokhoz kellett a floatabs valamint arra figyelj ne cseréld ki a \'distance\' változót mert akkor valamiért errort kap (én sem értem, hogy miért).
E: A fizetéshez nem írtam semmit, nem volt kedvem létrehozni enumokat stb, de a kód így már nem jelezi azt, hogy a \'distance\' változót nem használja sehol, ergo a \'distance\' megkapta a lekérdezett értéket.
 
Én azt akarom hogy a KamionFizu[playerid] az a tavolsag 0.1 szerese legyen
Szóval amennyi a távolság, annyiszor 0 egész 1 tized a Fizetés
Cím: távolság
Írta: SnooP - 2013. Július 12. - 21:58:58
Ez oké, de ugye te vágod azt, hogy fizetésnek csak integert adhatsz meg és nem floatot?  Emiatt kapod a tag mismatch-okat, mert a SA:MP-ban alapból nem lehet floatot adni pénzmennyiségnek. De ha te egy változóban tárolod és Floatround-al felkerekíted integerré akkor nem kapsz majd errorokat.
De ha gondolod én elvégeztem neked újból és nem kell ott szorozgass, hanem csak egy változó értéke lesz az.
 

CMD:parancs(playerid,params[])
{
  new Float:RandomSpawn[][4] =
  {
    // Állítsd be ide a te random spawnjaid és vigyázz ne használj FacingAngle-t én amikor néztem a randomozást azzal is buktam be :D
    {-2796.9854, 1224.8180, 20.5429},
    {-2454.2170, 503.8759, 30.0790},
    {-2669.7322, -6.0874, 6.1328}
  };
  new Float:distance;
  new Float:szorzo = 0.100;
  new rand = random(sizeof(RandomSpawn));
  distance = GetPlayerDistanceFromPoint(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
  new Float:kiszamitas = distance*szorzo;
  KamionFizu[playerid] = kiszamitas;
  return 1;
}

 
Tessék.
Cím: távolság
Írta: Zsolesszka - 2013. Július 12. - 22:05:45
Miért kell a floatabs?
Két koordináta pont közötti távolságot kell kiszámolni ha te megváltoztatod a negatív elõjelet akkor a koordináta pozíciót is megváltoztatod, és hamis eredményt kapsz.