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: staubka - 2011. október 27. - 20:08:49

Cím: Szuper Sprint
Írta: staubka - 2011. október 27. - 20:08:49
Üdv.
A napokban próbálkoztam szupersprint készítéssel, de kudarcba fulladt.
Elõször is, így néz ki a szuper sprint nálam:
[pawn]#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
#define RELEASED(%0) \\
(((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))[/pawn]
[pawn]   if (PRESSED(KEY_SPRINT) && FastRun[playerid] == true || newkeys == KEY_SPRINT && FastRun[playerid] == true || RELEASED(KEY_SPRINT) && FastRun[playerid] == true ||
PRESSED(KEY_FIRE) && FastRun[playerid] == true || newkeys == KEY_FIRE && FastRun[playerid] == true || RELEASED(KEY_FIRE) && FastRun[playerid] == true)
{
    new Float:x,Float:y,Float:z;
    GetPlayerVelocity(playerid,x,y,z);
    SetPlayerVelocity(playerid,x * 5,y * 5,z * 5);
}[/pawn]
Úgy akarnám megoldani hogy ha nyomom a sprintet (folyamatosan) akkor a karakter 5x gyorsabban fusson.
Természetesen ne legyen magasabb a sebesség ötnél, viszont kevesebb se. Változóval megvan oldva a szupersprint ki/be kapcsolása...
Ez lett belõle:
- Csak akkor mükszik ha nyomogatom a sprintet vagy a tûz gombot, tehát nemjó ha folyamatosan nyomom
- Ha egyszer nyomom a sprintet v key_fire-t akkor 5ször megszorozza az elõzõ értéket, így egyidõ után fehér kiégõ képernyõ és kiírja h loading/betöltés (kinek milyen nyelvû a SA).
Szal ha vki megtudja oldani úgy, hogy olyan legyen mint amit elõbb leírtam, azt megköszönném. :)
Cím: Szuper Sprint
Írta: palesz_88 - 2011. október 27. - 22:07:36
// HOLDING(keys)
#define HOLDING(%0) \\
((newkeys & (%0)) == (%0))
Cím: Szuper Sprint
Írta: staubka - 2011. október 28. - 14:28:52
Ezzel nem lett jobb, ugyanolyan, nem mûködik ha folyamatosan nyomom, csak mikor megnyomom... + Nagyon felszorozza az elõzõ értéket.