Szerző Téma: GetPlayerVelocity hiba  (Megtekintve 2133 alkalommal)

Nem elérhető M4tr1X

  • 1131
    • Profil megtekintése
GetPlayerVelocity hiba
« Dátum: 2010. augusztus 22. - 22:22:18 »
0 Show voters
Sziasztok.
Akadna egy kis gondom ezzen a fügvénnyel.
A kód így néz ki:
 

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(!IsPlayerInAnyVehicle(playerid))
    {
         if(pSpeedBoost[playerid] == true)
         {
              if(newkeys & KEY_SPRINT)
              {
                   new Float:x, Float:y, Float:z;
                   GetPlayerVelocity(playerid,x,y,z);
                   SetPlayerVelocity(playerid,x+(x/4),y+(y/4),z+(z/4));
              }
         }
         if(BiggestJump[playerid] == true)
         {
              if(newkeys & KEY_JUMP)
              {
                   SetPlayerVelocity(playerid,0.0,0.0,0.2);
              }
         }
    }
    return 1;
}

 
De sajnos nem mûködik. Én írtam el valamit, vagy bugos a SetPlayerVelocity függvény?
« Utoljára szerkesztve: 2010. augusztus 22. - 22:35:37 írta M4tr1X »

GetPlayerVelocity hiba
« Válasz #1 Dátum: 2010. augusztus 22. - 22:28:38 »
0 Show voters
SetPlayerVelocity(playerid,x+x(/4),y+(y/4),z+(z/4));

 
Ez nem inkább
 
SetPlayerVelocity(playerid,x+(x/4),y+(y/4),z+(z/4));

 
?

Nem elérhető M4tr1X

  • 1131
    • Profil megtekintése
GetPlayerVelocity hiba
« Válasz #2 Dátum: 2010. augusztus 22. - 22:35:20 »
0 Show voters
Nem teljesen a módból másoltam most, csak úgy írtam itt is meg, ahogyan ott van. Kössz, hogy szóltál, de ott nincs elírva.

GetPlayerVelocity hiba
« Válasz #3 Dátum: 2010. augusztus 22. - 22:47:06 »
0 Show voters
Talán így:
 
#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
     if(!IsPlayerInAnyVehicle(playerid))
     {
          if(pSpeedBoost[playerid] == true)
          {
               if(PRESSED(KEY_SPRINT))
               {
                    new Float:x, Float:y, Float:z;
                    GetPlayerVelocity(playerid,x,y,z);
                    SetPlayerVelocity(playerid,x+(x/4),y+(y/4),z+(z/4));
               }
          }
          if(BiggestJump[playerid] == true)
          {
               if(PRESSED( KEY_SPRINT ))
               {
                    SetPlayerVelocity(playerid,0.0,0.0,0.2);
               }
          }
     }
     return 1;
}

Nem elérhető M4tr1X

  • 1131
    • Profil megtekintése
GetPlayerVelocity hiba
« Válasz #4 Dátum: 2010. augusztus 22. - 22:49:01 »
0 Show voters
PRESSED definíció és newkeys & KEY_AKARMI ugyanaz, de egy próbát megér.

Nem elérhető maark

  • 565
    • Profil megtekintése
GetPlayerVelocity hiba
« Válasz #5 Dátum: 2010. augusztus 22. - 22:54:39 »
0 Show voters
Idézetet írta: M4tr1X date=1282510141\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2943\" data-ipsquote-contentclass=\"forums_Topic
PRESSED definíció és newkeys & KEY_AKARMI ugyanaz, de egy próbát megér.
 
A pressed az amikor lenyomva tartja
A newkeys az pedig egy nyomásra
Tudomásom szerint

Nem elérhető M4tr1X

  • 1131
    • Profil megtekintése
GetPlayerVelocity hiba
« Válasz #6 Dátum: 2010. augusztus 22. - 22:56:34 »
0 Show voters
Rosszul tudod. :) SA-MP Wikirõl származik a PRESSED, ahol megemlítik még a HOLDING és a RELEASED defínciót is. Most leírnám ezeknek jelentését:
PRESSED = Megnyomta a gombot
HOLDING = Nyomva tartja a gombot
RELEASED = Elengedte a gombot

GetPlayerVelocity hiba
« Válasz #7 Dátum: 2010. augusztus 22. - 22:57:38 »
0 Show voters
Idézetet írta: maark date=1282510479\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2943\" data-ipsquote-contentclass=\"forums_Topic


PRESSED definíció és newkeys & KEY_AKARMI ugyanaz, de egy próbát megér.
 
A pressed az amikor lenyomva tartja
A newkeys az pedig egy nyomásra
Tudomásom szerint
 
[/quote]
pressed = lenyomva
Tehát ugyanaz,csak a definíció még ellenörzi az oldkeys-t is.
Most esett le!SZerintem ez volt a hiba:
 
if(newkeys & KEY_JUMP == KEY_JUMP)

 
nem
 
if(newkeys & KEY_JUMP)

 
Szerk:Megelõztek.

Nem elérhető M4tr1X

  • 1131
    • Profil megtekintése
GetPlayerVelocity hiba
« Válasz #8 Dátum: 2010. augusztus 22. - 23:01:28 »
0 Show voters
Idézetet írta: ChuckNorris date=1282510658\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2943\" data-ipsquote-contentclass=\"forums_Topic


 

PRESSED definíció és newkeys & KEY_AKARMI ugyanaz, de egy próbát megér.
 
A pressed az amikor lenyomva tartja
A newkeys az pedig egy nyomásra
Tudomásom szerint
 
[/quote]
pressed = lenyomva
Tehát ugyanaz,csak a definíció még ellenörzi az oldkeys-t is.
Most esett le!SZerintem ez volt a hiba:
 
if(newkeys & KEY_JUMP == KEY_JUMP)

 
nem
 
if(newkeys & KEY_JUMP)

 
Szerk:Megelõztek.
 
[/quote]
Már bocs, de ez hülyeség, mellesleg errort kapnék rá.
« Utoljára szerkesztve: 2010. augusztus 22. - 23:04:59 írta M4tr1X »

GroX

  • Vendég
GetPlayerVelocity hiba
« Válasz #9 Dátum: 2010. augusztus 22. - 23:04:51 »
0 Show voters
A kódban nincs hiba. Talán a változókkal rontottál el valamit.

GetPlayerVelocity hiba
« Válasz #10 Dátum: 2010. augusztus 22. - 23:05:33 »
0 Show voters
Már bocs,de miért lenne hülyeség?Érdekes,nekem nincs rá error,és nézd csak meg jobban a defiíciót:
 

#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))

 
newkeys & (%0)) == (%0))
newkeys & KEY_JUMP == KEY_JUMP
A () jelek most nem számítanak.

GroX

  • Vendég
GetPlayerVelocity hiba
« Válasz #11 Dátum: 2010. augusztus 22. - 23:08:14 »
0 Show voters
Idézetet írta: ChuckNorris date=1282511133\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2943\" data-ipsquote-contentclass=\"forums_Topic
Már bocs,de miért lenne hülyeség?Érdekes,nekem nincs rá error,és nézd csak meg jobban a defiíciót:
 

#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))

 
newkeys & (%0)) == (%0))
newkeys & KEY_JUMP == KEY_JUMP
A () jelek most nem számítanak.
 
Mûveletek végzésénél (mint itt is), igenis számítanak, különben össze kavarodik az egész.

Nem elérhető M4tr1X

  • 1131
    • Profil megtekintése
GetPlayerVelocity hiba
« Válasz #12 Dátum: 2010. augusztus 22. - 23:12:00 »
0 Show voters
Teszteltem, de semmi. Változókat átnézem.

GetPlayerVelocity hiba
« Válasz #13 Dátum: 2010. augusztus 22. - 23:15:23 »
0 Show voters
Idézetet írta: Fade date=1282511294\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2943\" data-ipsquote-contentclass=\"forums_Topic


Már bocs,de miért lenne hülyeség?Érdekes,nekem nincs rá error,és nézd csak meg jobban a defiíciót:
 

#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))

 
newkeys & (%0)) == (%0))
newkeys & KEY_JUMP == KEY_JUMP
A () jelek most nem számítanak.
 
Mûveletek végzésénél (mint itt is), igenis számítanak, különben össze kavarodik az egész.
 
[/quote]
Jó,de félreértetél  :D
Én úgyértettem,nézze meg hogy zárójelek nélkül a 2 kód ugyanaz,csak az összehasonlítás kedvéért.
Egyébként igazad van,és úgylátszik még mindig nem mûködik...

Nem elérhető M4tr1X

  • 1131
    • Profil megtekintése
GetPlayerVelocity hiba
« Válasz #14 Dátum: 2010. augusztus 22. - 23:28:25 »
0 Show voters
Tudom, utána vettem észre, hogya a PRESSED is így van definiálva, azért húztam át, hogy errort írna rá.
Am, a változókban se találok hibát. .\\

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal