Szerző Téma: távolság  (Megtekintve 390 alkalommal)

Nem elérhető Wiliam Levy

  • 594
  • Wiliam Levy
    • Profil megtekintése
távolság
« Dátum: 2013. Július 12. - 16:37:15 »
0
Távolságot melyik függvénnyel lehet mérni?

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
távolság
« Válasz #1 Dátum: 2013. Július 12. - 17:21:18 »
0

Nem elérhető Wiliam Levy

  • 594
  • Wiliam Levy
    • Profil megtekintése
távolság
« Válasz #2 Dátum: 2013. Július 12. - 17:48:24 »
0
   tavolsag = GetPlayerDistanceFromPoint(playerid, RandomKamionCP[randomok][0], RandomKamionCP[randomok][1], RandomKamionCP[randomok][2]);
KamionFizu[playerid] = tavolsag*0.100;

 
Itt tag mishmatchot ír :/

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
távolság
« Válasz #3 Dátum: 2013. Július 12. - 18:38:52 »
0

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.
« Utoljára szerkesztve: 2013. Július 12. - 18:42:22 írta SnooP »

Nem elérhető Wiliam Levy

  • 594
  • Wiliam Levy
    • Profil megtekintése
távolság
« Válasz #4 Dátum: 2013. Július 12. - 21:33:19 »
0
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

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
távolság
« Válasz #5 Dátum: 2013. Július 12. - 21:58:58 »
0
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.
« Utoljára szerkesztve: 2013. Július 12. - 22:09:53 írta SnooP »

távolság
« Válasz #6 Dátum: 2013. Július 12. - 22:05:45 »
0
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.

 

SimplePortal 2.3.7 © 2008-2020, SimplePortal