-
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.
-
A SetPlayerGravity nem az?: D
-
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.
-
Erre emlékszem, hogy már kérted egyszer, és én le is írtam, szóval fent van a fórumon, ez biztos.
-
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;
}
}
}
-
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.
-
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.
-
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.
-
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
-
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 :)
-
GetPlayerGravity nincsen a YSF-be...
Használd a GRF-et abba van area gravity
-
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)???
-
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;
}
-
sajnos nem megy ::| :-\\.
Betettem és odamegyek a \"kijelölt\" helyre és semmi. :\'(
Valami más megoldás??
-
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?
-
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??
-
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.
-
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:
-
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.
-
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.
-
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.
-
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.
-
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 )
-
Nem jó a letöltõ link. :\'(
A kapcsolat alaphelyzetbe állt[/quote] :angry: :dead:
-
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
-
Ezzel az YSF-el is mihelyt berakom az #include <YSF> --et akkor elõjön ugyanaz a 2 error mint eddig :\'( :angry: :dead: