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: ptlevi - 2010. augusztus 19. - 16:30:58

Cím: [HELP] Gravitáció
Írta: ptlevi - 2010. augusztus 19. - 16:30:58
Helló mindenkinek.
Azt szeretném kérdezni, hogy azt meg lehetne-e oldani, hogy egy \"kijelölt\" helyen 0.002 -es legyen a gravitáció és a többi helyen normál (0.008).
Ha valaki tud rá választ akkor írjon.
Tõlem lehet az egy script is amiben csak ki kell cseréljem a koordinátákat.
Nagyon sokat segítenétek ezzel.
Cím: [HELP] Gravitáció
Írta: Mambo - 2010. augusztus 19. - 16:35:16
A SetPlayerGravity nem az?: D
Cím: [HELP] Gravitáció
Írta: ptlevi - 2010. augusztus 19. - 16:37:08
De az (gondolom), csak azt nem tudom hogy úgy hogy lehet megcsinálni hogy 1ik helyen 0.002 -es a gravity es más helyen normál.
Cím: [HELP] Gravitáció
Írta: ZeRo - 2010. augusztus 19. - 16:54:44
Erre emlékszem, hogy már kérted egyszer, és én le is írtam, szóval fent van a fórumon, ez biztos.
Cím: [HELP] Gravitáció
Írta: ptlevi - 2010. augusztus 19. - 16:59:07
Idézetet írta: ZeRo date=1282229684\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2908\" data-ipsquote-contentclass=\"forums_Topic
Erre emlékszem, hogy már kérted egyszer, és én le is írtam, szóval fent van a fórumon, ez biztos.
 
Igazad van. Kértem. A témát töröltem sry, mert az már rég volt meg minden. Azóta már nem vagyok annyira nagy kezdõ.
De amúgy nem volt jó amit leírtál abban a témában.
Itt van amit írtál:
 
#include < a_samp >
#include < YSF >
static bool: Isset[ MAX_PLAYERS ];
public OnPlayerUpdate( playerid ) {
static Float: fPosX, Float: fPosY, Float: fPosZ;
GetPlayerPos( playerid, fPosX, fPosY, fPosZ );
if( fPosX > 2213.2791 && fPosX < 2847.8337 && fPosY > -2156.7886 && fPosY < -1625.9885 ) {
    if( !Isset[ playerid ] ) {
    SetPlayerGravity( playerid, 0.002 );
    Isset[ playerid ] = true;
       }
} else {
   if( Isset[ playerid ] ) {
          SetPlayerGravity( playerid, 0.008 );
           Isset[ playerid ] = false;
}
   }
}
Cím: [HELP] Gravitáció
Írta: M4tr1X - 2010. augusztus 19. - 17:50:09
Nos, ez az egész nagyon egyzerû.
 

#include <YSF>
public OnPlayerUpdate(playerid)
{
    if(IsPlayerInRangeOfPoint(playerid,\'hatótávolság\',\'X koordináta\',\'Y koordináta\',\'Z koordináta\') && GetPlayerGravity(playerid) != 0.002) return SetPlayerGravity(playerid,0.002);
    else if(GetPlayerGravity(playerid) != 0.008) return SetPlayerGravity(0.008);
    return 1;
}

 
A YSF include-t ha valaki tudja, linkelje be plz, mert nekem is kellene.
Cím: [HELP] Gravitáció
Írta: Mambo - 2010. augusztus 19. - 18:05:17
SetPlayerGravityInArenaIfIsPlayerInArea(player, gravity, minx, maxx, miny, maxy, minz, maxz);
Ez a funkció a játékos gravitációját állítja át egy területen bellül. Ehhez természetesen az kell, hogy a játékos a területen bellül legyen. Ha nincs a területen bellül, akkor -1 a visszatérés. Ha a játékos nincs kapcsolódva (érvénytelen), akkor 0 a visszatérés. Ha pedig sikerült átállítani, a visszatérés 1.
Cím: [HELP] Gravitáció
Írta: jana4 - 2010. augusztus 19. - 18:07:33
Idézetet írta: Alejandro date=1282233917\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2908\" data-ipsquote-contentclass=\"forums_Topic
SetPlayerGravityInArenaIfIsPlayerInArea(player, gravity, minx, maxx, miny, maxy, minz, maxz);
Ez a funkció a játékos gravitációját állítja át egy területen bellül. Ehhez természetesen az kell, hogy a játékos a területen bellül legyen. Ha nincs a területen bellül, akkor -1 a visszatérés. Ha a játékos nincs kapcsolódva (érvénytelen), akkor 0 a visszatérés. Ha pedig sikerült átállítani, a visszatérés 1.
 
E funkció használatához szükséges a YSF plugin, és a GRF-ben található area függvénykönyvtár.
Cím: [HELP] Gravitáció
Írta: Mambo - 2010. augusztus 19. - 18:17:44
Idézetet írta: ScreaM date=1282234053\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2908\" data-ipsquote-contentclass=\"forums_Topic


SetPlayerGravityInArenaIfIsPlayerInArea(player, gravity, minx, maxx, miny, maxy, minz, maxz);
Ez a funkció a játékos gravitációját állítja át egy területen bellül. Ehhez természetesen az kell, hogy a játékos a területen bellül legyen. Ha nincs a területen bellül, akkor -1 a visszatérés. Ha a játékos nincs kapcsolódva (érvénytelen), akkor 0 a visszatérés. Ha pedig sikerült átállítani, a visszatérés 1.
 
E funkció használatához szükséges a YSF plugin, és a GRF-ben található area függvénykönyvtár.
 
[/quote]
ja
xD
Cím: [HELP] Gravitáció
Írta: ptlevi - 2010. augusztus 20. - 13:02:32
Idézetet írta: M4tr1X date=1282233009\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2908\" data-ipsquote-contentclass=\"forums_Topic
Nos, ez az egész nagyon egyzerû.
 

#include <YSF>
public OnPlayerUpdate(playerid)
{
    if(IsPlayerInRangeOfPoint(playerid,\'hatótávolság\',\'X koordináta\',\'Y koordináta\',\'Z koordináta\') && GetPlayerGravity(playerid) != 0.002) return SetPlayerGravity(playerid,0.002);
    else if(GetPlayerGravity(playerid) != 0.008) return SetPlayerGravity(0.008);
    return 1;
}

 
A YSF include-t ha valaki tudja, linkelje be plz, mert nekem is kellene.
 
Köszönöm. Van YSF pluginom. Mindjárt ki is próbálom. Ha jó lesz írok és aa nem lesz jó akkor is írok.  ;D  :P
Szerk:
 
D:\\Letöltések\\Gravity0.3a.pwn(5) : error 017: undefined symbol \"GetPlayerGravity\"
D:\\Letöltések\\Gravity0.3a.pwn(6) : error 017: undefined symbol \"GetPlayerGravity\"
D:\\Letöltések\\Gravity0.3a.pwn(6) : warning 213: tag mismatch
D:\\Letöltések\\Gravity0.3a.pwn(6) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
2 Errors.

 
Ezt írja  :\'( lehet ha nincs az YSF pluginomba ez bedefinálva tehát mégis jól jönne egy YSF plugin  :)
Cím: [HELP] Gravitáció
Írta: GroX - 2010. augusztus 20. - 15:07:37
GetPlayerGravity nincsen a YSF-be...
Használd a GRF-et abba van area gravity
Cím: [HELP] Gravitáció
Írta: ptlevi - 2010. augusztus 20. - 20:34:11
Idézetet írta: Fade date=1282309657\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2908\" data-ipsquote-contentclass=\"forums_Topic
GetPlayerGravity nincsen a YSF-be...
Használd a GRF-et abba van area gravity
 
Akkor leírod nekem hogy hogy nézzen ki??? (egy példa scriptre gondoltam)???
Cím: [HELP] Gravitáció
Írta: M4tr1X - 2010. augusztus 20. - 21:49:17
Mivel nekem sincs YSF, ezért nem tudtam, hogy nincs GetPlayerGravity. :D
Akkor rakd be így:
 

#include <YSF>
public OnPlayerUpdate(playerid)
{
     new bool:Grav[MAX_PLAYERS];
    if(IsPlayerInRangeOfPoint(playerid,\'hatótávolság\',\'X koordináta\',\'Y koordináta\',\'Z koordináta\') && Grav[playerid] == false)
     {
          SetPlayerGravity(playerid,0.002);
          Grav[playerid] = true;
     }
    else if(Grav[playerid] == true)
     {
          SetPlayerGravity(0.008);
          Grav[playerid] = false;
     }
    return 1;
}
Cím: [HELP] Gravitáció
Írta: ptlevi - 2010. augusztus 20. - 22:12:53
sajnos nem megy  ::|  :-\\.
Betettem és odamegyek a \"kijelölt\" helyre és semmi.  :\'(
Valami más megoldás??
Cím: [HELP] Gravitáció
Írta: ChuckNorris - 2010. augusztus 20. - 22:24:37
Talán így:
 

#include <YSF>
public OnPlayerUpdate(playerid)
{
    if(IsPlayerInRangeOfPoint(playerid,hatótáv,X,Y,Z)) SetPlayerGravity(playerid,0.002); else SetPlayerGravity(0.008);
    return 1;
}

 
Nem teszteltem,de az elõzõben nem lehetett az a hiba hogy \' \'-jelek közé teted a koordinátákat?
Cím: [HELP] Gravitáció
Írta: ptlevi - 2010. augusztus 21. - 10:54:06
Idézetet írta: ChuckNorris date=1282335877\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2908\" data-ipsquote-contentclass=\"forums_Topic
Talán így:
 

#include <YSF>
public OnPlayerUpdate(playerid)
{
     if(IsPlayerInRangeOfPoint(playerid,hatótáv,X,Y,Z)) SetPlayerGravity(playerid,0.002); else SetPlayerGravity(0.008);
     return 1;
}

 
Nem teszteltem,de az elõzõben nem lehetett az a hiba hogy \' \'-jelek közé teted a koordinátákat?
 
Nem lehetett hogy \' \'-jelek közé raktam. Azé annyira hülye nem vagyok.
Ezzel sem megy.
Így néz ki a script behelyettesítve:
 
#include <a_samp>
#include <YSF>
public OnPlayerUpdate(playerid)
{
     if(IsPlayerInRangeOfPoint(playerid,500.0,2653.6182,-2003.9534,13.3828)) SetPlayerGravity(playerid,0.002); else SetPlayerGravity(playerid,0.008);
     return 1;
}

 
Lehetséhes hogy azért nem megy mert itt:
else SetPlayerGravity(playerid,0.008);

 odaraktam a
playerid,

-t?De ha nem írom oda akkor warning lesz. Vagy lehet attól is hogy nem a gamemode-oomba raktam hanem csináltam egy külön scriptet??
Cím: [HELP] Gravitáció
Írta: ChuckNorris - 2010. augusztus 21. - 16:11:01
Ha az az egész scripted akkor nemcsoda ,hogy nem mûködik.
 
#include <a_samp>
#include <YSF>
public OnFilterScriptInit() return 1;
public OnFilterScriptExit() return 1;
public OnPlayerUpdate(playerid)
{
     if(IsPlayerInRangeOfPoint(playerid,500.0,2653.6182,-2003.9534,13.3828)) SetPlayerGravity(playerid,0.002); else SetPlayerGravity(playerid,0.008);
     return 1;
}

 
Az OnFilterScriptInit() eljárást oda kell írni,az OnFilterScriptExit - ben nem vagyok biztos mert pl. base.pwn-ben sincs de azért odaraktam.
Cím: [HELP] Gravitáció
Írta: ptlevi - 2010. augusztus 21. - 16:25:53
Idézetet írta: ChuckNorris date=1282399861\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"2908\" data-ipsquote-contentclass=\"forums_Topic
Ha az az egész scripted akkor nemcsoda ,hogy nem mûködik.
 
#include <a_samp>
#include <YSF>
public OnFilterScriptInit() return 1;
public OnFilterScriptExit() return 1;
public OnPlayerUpdate(playerid)
{
     if(IsPlayerInRangeOfPoint(playerid,500.0,2653.6182,-2003.9534,13.3828)) SetPlayerGravity(playerid,0.002); else SetPlayerGravity(playerid,0.008);
     return 1;
}

 
Az OnFilterScriptInit() eljárást oda kell írni,az OnFilterScriptExit - ben nem vagyok biztos mert pl. base.pwn-ben sincs de azért odaraktam.
 
Mind1-ikkel kipróbáltam így is, de semmi.  :dead: :\'(  :dodge:  :dead:
Cím: [HELP] Gravitáció
Írta: ChuckNorris - 2010. augusztus 21. - 16:30:00
Akkor azt az 1 sort próbáld meg beírni a módod OnPlayerUpdate() eljárása alá.
 
if(IsPlayerInRangeOfPoint(playerid,500.0,2653.6182,-2003.9534,13.3828)) SetPlayerGravity(playerid,0.002); else SetPlayerGravity(playerid,0.008);

 
Ha ígysem jó,akkor valószínüleg a plugin nem compatibilis a szerver verziódal.
Cím: [HELP] Gravitáció
Írta: ptlevi - 2010. augusztus 21. - 16:39:03
De ha az YSF plugin nem lenne jó, akkor kiírná hogy server unkown version. Vagy nem? És amúgy is ha jól emlékszem, ahonnan letöltöttem ott azt írta hogy minden 0.3a-s verzióval kompatibilis.
Cím: [HELP] Gravitáció
Írta: ChuckNorris - 2010. augusztus 21. - 17:15:39
Akkor nemtudom,a kód hibátlan (szerintem,de az az igaság hogy még sose használtam ezt a plugint).
Megpróbáltad a módodba rakni?
Ha ugysem jó és a verziókal sincs gond,lehet hogy valami zavarja,vagy roszul raktad be mást nemtudok elképzelni.
Cím: [HELP] Gravitáció
Írta: ptlevi - 2010. augusztus 21. - 17:22:49
Ha a gamemode-omba rakom akkor kiadja ezeket a hibákat az YSF.inc-re:
 
D:\\samp server 0.3a R7\\pawno\\include\\YSF.inc(96) : error 025: function heading differs from prototype
D:\\samp server 0.3a R7\\pawno\\include\\YSF.inc(96) : error 025: function heading differs from prototype

 
Akkor ez lehetett a baj hogy nem ment filterscriptben se.
Cím: [HELP] Gravitáció
Írta: ChuckNorris - 2010. augusztus 21. - 17:39:24
Tehát a funkció címe eltér a prototípustól.
Énis letöltöttem a YSF-et az angol fórumrol,és nekem nem ír hibát.
Próbálj meg teis letölteni újabb verziót.
( http://forum.sa-mp.com/showthread.php?t=113485 )
Cím: [HELP] Gravitáció
Írta: ptlevi - 2010. augusztus 21. - 17:49:20
Nem jó a letöltõ link.  :\'(
 
A kapcsolat alaphelyzetbe állt[/quote]  :angry:  :dead:
Cím: [HELP] Gravitáció
Írta: ChuckNorris - 2010. augusztus 21. - 17:52:31
Az nem letöltõlink,hanem a téma linkje,nade itt a letöltõlink:
http://www.y-less.com/YSI/YSF%200.3.rar
Cím: [HELP] Gravitáció
Írta: ptlevi - 2010. augusztus 21. - 20:38:28
Ezzel az YSF-el is mihelyt berakom az #include <YSF> --et akkor elõjön ugyanaz a 2 error mint eddig  :\'(  :angry:  :dead: