Problem(error/warning): Zanima me da li postoji moguÄnost promjene gravitacije za igraÄa bez koriÅ¡tenja dodatnih incude-a.I ukoliko ne postoji po vama koji je najbolji incude za to
Dio skripte: [ pawn ]//[ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]//[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem)://
Promjena gravitacije za igraÄa
721
pregleda
9
postova
16. Avg. 2018.
16. Avg. 2018.
Ino42O wrote on August 16, 2018, 6:47 am:
http://forum.sa-mp.com/showthread.php?t=513499
Ubacio sam i ja YSF-ov ali ne radi, nisam siguran zašto, uopšte se gravitacija ne postavi.
static bool:moving[MAX_PLAYERS char], falltime, Float:velZ, Float:gravity, bool:setgravity[MAX_PLAYERS char];Pod OnPlayerConnect:
moving{playerid} = false;
velZ{playerid} = 0.0;
gravity = 0.0;
setgravity{playerid} = false;SetPlayerGravity(playerid, Float:newgravity) //Postavlja gravitaciju
{
setgravity{playerid} = true;
gravity = newgravity*50.0;
moving{playerid} = false;
}
ResetPlayerGravity(playerid) //Resetuje gravitaciju
{
setgravity{playerid} = false;
gravity = 0.0;
moving{playerid} = false;
}Pod OnPlayerUpdate:
if(setgravity{playerid} && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
new Float:x, Float:y, Float:z;
GetPlayerVelocity(playerid, x, y, z);
new anim = GetPlayerAnimationIndex(playerid);
if(anim == 1130 || anim == 1132 || anim == 1195)
{
if(!moving{playerid} || z == 0.0)
{
velZ = z;
moving{playerid} = true;
falltime = GetTickCount();
}
new time = GetTickCount()-falltime;
z = (gravity*time)/1000.0;
if(z > 1.17) z = 1.17;
SetPlayerVelocity(playerid, x, y, velZ-z);
}
else moving{playerid} = false;
}Nisam ja radio, ali radi oke, OnPlayerUpdate ima prebrz timer, možeÅ¡ ga zamjenit sa nekim sporijim, al OnPlayerUpdate najtaÄnije radi.
16. Avg. 2018.
Ino42O wrote on August 16, 2018, 6:47 am:
http://forum.sa-mp.com/showthread.php?t=513499
16. Avg. 2018.
Slade wrote on August 16, 2018, 10:34 am:
Ubacio sam i ja YSF-ov ali ne radi, nisam siguran zašto, uopšte se gravitacija ne postavi.
Pod OnPlayerConnect:
Pod OnPlayerUpdate:
Nisam ja radio, ali radi oke, OnPlayerUpdate ima prebrz timer, možeÅ¡ ga zamjenit sa nekim sporijim, al OnPlayerUpdate najtaÄnije radi.
static bool:moving[MAX_PLAYERS char], falltime, Float:velZ, Float:gravity, bool:setgravity[MAX_PLAYERS char];Pod OnPlayerConnect:
moving{playerid} = false;
velZ{playerid} = 0.0;
gravity = 0.0;
setgravity{playerid} = false;SetPlayerGravity(playerid, Float:newgravity) //Postavlja gravitaciju
{
setgravity{playerid} = true;
gravity = newgravity*50.0;
moving{playerid} = false;
}
ResetPlayerGravity(playerid) //Resetuje gravitaciju
{
setgravity{playerid} = false;
gravity = 0.0;
moving{playerid} = false;
}Pod OnPlayerUpdate:
if(setgravity{playerid} && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
new Float:x, Float:y, Float:z;
GetPlayerVelocity(playerid, x, y, z);
new anim = GetPlayerAnimationIndex(playerid);
if(anim == 1130 || anim == 1132 || anim == 1195)
{
if(!moving{playerid} || z == 0.0)
{
velZ = z;
moving{playerid} = true;
falltime = GetTickCount();
}
new time = GetTickCount()-falltime;
z = (gravity*time)/1000.0;
if(z > 1.17) z = 1.17;
SetPlayerVelocity(playerid, x, y, velZ-z);
}
else moving{playerid} = false;
}Nisam ja radio, ali radi oke, OnPlayerUpdate ima prebrz timer, možeÅ¡ ga zamjenit sa nekim sporijim, al OnPlayerUpdate najtaÄnije radi.
OnPlayerUpdate ga pozove vise puta u sekundi a to mu ne treba.
Inace da ideja sa SetPlayerVelocity je dobra.
16. Avg. 2018.
Za ovo uopste ni tajmer ne treba nikakav mogu da odradim system ako zelite 😛 sa tom funkciom i to bez tajmera 😛|
SetPlayerGravity(playerid, gravity (default 0.0) stavis sad npr 20.0 ono ce leteti 20 metara); ali bez tajmera i onplayerupdate-a 😄
SetPlayerGravity(playerid, gravity (default 0.0) stavis sad npr 20.0 ono ce leteti 20 metara); ali bez tajmera i onplayerupdate-a 😄
16. Avg. 2018.
Slade wrote on August 16, 2018, 10:34 am:
Ubacio sam i ja YSF-ov ali ne radi, nisam siguran zašto, uopšte se gravitacija ne postavi.
Pod OnPlayerConnect:
Pod OnPlayerUpdate:
Nisam ja radio, ali radi oke, OnPlayerUpdate ima prebrz timer, možeÅ¡ ga zamjenit sa nekim sporijim, al OnPlayerUpdate najtaÄnije radi.
static bool:moving[MAX_PLAYERS char], falltime, Float:velZ, Float:gravity, bool:setgravity[MAX_PLAYERS char];Pod OnPlayerConnect:
moving{playerid} = false;
velZ{playerid} = 0.0;
gravity = 0.0;
setgravity{playerid} = false;SetPlayerGravity(playerid, Float:newgravity) //Postavlja gravitaciju
{
setgravity{playerid} = true;
gravity = newgravity*50.0;
moving{playerid} = false;
}
ResetPlayerGravity(playerid) //Resetuje gravitaciju
{
setgravity{playerid} = false;
gravity = 0.0;
moving{playerid} = false;
}Pod OnPlayerUpdate:
if(setgravity{playerid} && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
new Float:x, Float:y, Float:z;
GetPlayerVelocity(playerid, x, y, z);
new anim = GetPlayerAnimationIndex(playerid);
if(anim == 1130 || anim == 1132 || anim == 1195)
{
if(!moving{playerid} || z == 0.0)
{
velZ = z;
moving{playerid} = true;
falltime = GetTickCount();
}
new time = GetTickCount()-falltime;
z = (gravity*time)/1000.0;
if(z > 1.17) z = 1.17;
SetPlayerVelocity(playerid, x, y, velZ-z);
}
else moving{playerid} = false;
}Nisam ja radio, ali radi oke, OnPlayerUpdate ima prebrz timer, možeÅ¡ ga zamjenit sa nekim sporijim, al OnPlayerUpdate najtaÄnije radi.
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava