-
Sziiasztok.!
Azt szeretném megvalósítani a szerveremre hogy mikor egy Játékos elér egy adott pozicióhoz az x,y,z \"tengely\"hez akkor 20mes körzetbe elinduljon autómatikusan egy rádió pl a Rádió1 És ha mégközeleb bmegy méghangosabban hallja ha távolod akkor elhalkul és mikor kimegy abbol a \"20m\"es körzetbõl akkor abbamarad a zene/Rádió.
Ebben kérném segítségeteke. Egy Fs vagy egy könnyû scriptel is nagyon sokat segítenétek.! Válaszotokat elõre is köszönöm.!
-
Szerintem ezt nem lehet megvalósítani :/
-
Próbáld meg ezzel:
PlayerPlaySound(playerid,x,y,z);
Csak ez nem biztos, hogy 20 méteres körzetben fogja hallani a játékos.
-
Igen, meg lehet valósítani, pl. Paradise RPG-n megcsinálta Epsilon.
\"public OnPlayerUpdate\" callback alatt ellenõrzõd hogy ott van-e a játékos. Ha ott van, elindítod a rádiót.
Azt viszont nem tudom, hogy lehet a hangosítást/halkítást.
-
public OnPlayerUpdate ( playerid )
{
new Float:X, Float:Y, Float:Z, Float:Distance = 20.0;
GetPlayerPos(playerid, X, Y, Z);
PlayAudioStreamForPlayer(playerid, \" Ide a zene linket!\" );
return 1;
}
-
Zyzu, te most komolyan mit csináltál?:DDD
Lekérted a pozícióját és kilõtted a kvanagy semmibe?
Kellene egy \"if\" elágazás...
public OnPlayerUpdate ( playerid )
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(IsPlayerInRangeOfPoint(playerid, X, Y, Z, távolság))
{
PlayAudioStreamForPlayer(playerid, \" Ide a zene linket!\" );
}
return 1;
}
-
Hoppá elírtam bocsánat :facepalm: Köszi, hogy javítottad.. :D
-
Hát vagy:
OnPlayerConnect alá:
PlayAudioStreamForPlayer(playerid,x,y,z,távolság,0);
-
Zyzu, te most komolyan mit csináltál?:DDD
Lekérted a pozícióját és kilõtted a kvanagy semmibe?
Kellene egy \"if\" elágazás...
public OnPlayerUpdate ( playerid )
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(IsPlayerInRangeOfPoint(playerid, X, Y, Z, távolság))
{
PlayAudioStreamForPlayer(playerid, \" Ide a zene linket!\" );
}
return 1;
}
public OnPlayerUpdate ( playerid )
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(IsPlayerInRangeOfPoint(playerid, X, Y, Z, 20.0))
{
PlayAudioStreamForPlayer(playerid, \" Ide a zene linket!\", X, Y, Z, 20.0);
}
return 1;
}
-
Hát vagy:
OnPlayerConnect alá:
PlayAudioStreamForPlayer(playerid,x,y,z,távolság,0);
miért az OnPlayerConnect alá?
-
Bazsi is baromságot írt:D
-
public OnPlayerUpdate ( playerid )
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(IsPlayerInRangeOfPoint(playerid, X, Y, Z, 20.0))
{
PlayAudioStreamForPlayer(playerid, \"http://195.70.35.172:8000/radio1.mp3\" );
}
return 1;
}
Tessék, elvileg jó.. :D
X, Y , Z helyére a pozíciót. :)
-
Most nézem van rá függvény :D
PlayAudioStreamForPlayer(playerid, \"zene/rádió url\", x, y, z, 20, 1);
-
Csak ne OnPlayerUpdate-t használj. :confused:
Miért tanítjátok a rosszra?
-
Mindenhogy próbáltam Error, vagy megáll a pawnó. :/
D:\\Játékdvd-cd\\GTA SA SCRIPT\\samp03e_svr_R2_win32\\pawno\\legendrpg.pwn(42257) : error 021: symbol already defined: \"GetPlayerPos\"
D:\\Játékdvd-cd\\GTA SA SCRIPT\\samp03e_svr_R2_win32\\pawno\\legendrpg.pwn(42258) : error 010: invalid function or declaration
D:\\Játékdvd-cd\\GTA SA SCRIPT\\samp03e_svr_R2_win32\\pawno\\legendrpg.pwn(42262) : error 010: invalid function or declaration
-
Én inkább egy timert készítenék mert az onplayerupdate elõ hívja 100x és laggot csinál ..
-
Értem. Õhhm ha nem lennék bunkó esetleg kérhetnék segítséget benne.?
-
OnPlayerConnect alá írd be például..
SetTimerEx(\"ZeneOn\", 1000, 1, \"i\", playerid);
Ezt a módba írd bele valahová..
forward ZeneOn(playerid);
public ZeneOn(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 20.0, X, Y, Z))
{
//Zene elindítása.
}
return 1;
}
-
baromság... a timer sokkal jobban fárasztja a szervert mint az update.. update-t használj.
-
De az update elõhívja a szerveren lévõ függvényt akkor vagy 1000x :facepalm:
-
Zyzuuu Köszönöm.:)Mûûködik csak van 1 kis probléma. ha ott vagyok az adott helyen akkor ezt csinálja.:/
Floodolja befele a rádiót és csak akkor szól ha azon a \"20\"ason kívül mentem sztem.

Segítséget a. http://www.sampforum.huTámogatja.!
~~~~Igazság szerint ezt úgy kellene megcsinálni hogy mikor a \"20m\"es körzeten belül vagy akkor Elinduljon a zene. És mikor azon kívül vagy akkor elhalkuljon/megálljon.
-
Hát erre nem tudok mit mondani az úgy ki jelenik max ha teszel oda clearchatet akkor frissíti és úgy.. de várom más valaszát.. :hmmm:
-
Létrehozol egy \"bool\" változót, amely eltárolja az \"if\" elágazás eredményét.
-
Rupert ha nem lennék Bunkó és megkérnélek hogy írj egy példát, akkor írsz?!
-
Ezt használd inkább.
PlayAudioStreamForPlayer(playerid, \"zene/rádió url\", x, y, z, 20, 1);
-
Igen ez így lenne tökéletes.!
Csak az a gond hogy mikor már belépek a szerverre már Bejelentkezésnél is Floodolja. De most viszont csak ott megy ahol kell, csak floodolja meg vízhangzik a zene.

-. http://www.kepfeltoltes.hu
~Flood 1 részét megoldottam.
Mostmár csak akkor floodol mikor az adott helyre érek. De ezt hogy lehetne kijavítani ?:S
Itt az egész függv.
forward ZeneOn(playerid);
SetTimerEx(\"ZeneOn\", 1000, 1, \"i\", playerid); //Ez az OnPlayerConnect Alatt van.
public ZeneOn(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 20.0, -212.0682,2656.9719,62.6016))
{
PlayAudioStreamForPlayer(playerid, \"http://195.70.35.172:8000/radio1.mp3.m3u\", -212.0682,2656.9719,62.6016, 20, 1);
}
return 1;
}
A Timerrel van a hiba de hogy javítsam ?
-
Ha megadtad a Kordinátát már 1x akkor miért adod meg még 1x -er? :crazy: Javítottam.
forward ZeneOn(playerid);
SetTimerEx(\"ZeneOn\", 1000, 1, \"i\", playerid); //Ez az OnPlayerConnect Alatt van.
public ZeneOn(playerid)
{
PlayAudioStreamForPlayer(playerid, \"http://195.70.35.172:8000/radio1.mp3.m3u\", -212.0682,2656.9719,62.6016, 20, 1);
return 1;
}
-
De Zyzu nem jó. :S
Ugyan úgy Floodolja a Rádiót. A Timerrel van valami baj.:S
-
Mód elejére:
new check[MAX_PLAYERS];
Aztán:
public OnPlayerUpdate(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 20.0, -212.0682,2656.9719,62.6016))
{
if(check[playerid] == 1) return 0;
else { PlayAudioStreamForPlayer(playerid, \"http://195.70.35.172:8000/radio1.mp3.m3u\", -212.0682,2656.9719,62.6016, 20, 1);
check[playerid] = 1; }
}
else { check[playerid] = 0; }
return 1;
}
Módosítva.
-
~
~Sajnos mégsem jó.:/
Teszt Szerveren Hibátlanul mûködik De ahogy felrakom a Hostos szerverre Olyan laggot okoz hogy KiCrashel aki épp ottvan.:/