-
Sziasztok!
Azt szeretném kérdezni hogy is kell olyan csinálni hogy pl valaki kijön/bemegy azt lefagyasztja míg be nem töltenek az objectek? :hmmm:
UI:RP mod
-
Elindítasz neki egy timert, amikor a pozícióját megváltoztatod, tetszőleges értékkel. Ugyanekkor a lefagyasztod a játékost, és mikor lejár a timer pedig felolvasztod, ilyen egyszerű. :)
2 függvényre van szükséged hozzá(+ egyéni dolgok amiket te készítesz):
Lefagyasztás: TogglePlayerControllable
SetTimerEx: SetTimerEx
Direkt nem írom meg a szkriptet, mert akkor sosem tanulod meg. :) Majd próbálkozz és ha kész egy próbaszkripted, és nem működik, és nem érted(de átnézted legalább 8x) akkor szólj és küld el a szkriptet ;)
-
Elindítasz neki egy timert, amikor a pozícióját megváltoztatod, tetszőleges értékkel. Ugyanekkor a lefagyasztod a játékost, és mikor lejár a timer pedig felolvasztod, ilyen egyszerű. :)
2 függvényre van szükséged hozzá(+ egyéni dolgok amiket te készítesz):
Lefagyasztás: TogglePlayerControllable
SetTimerEx: SetTimerEx
Direkt nem írom meg a szkriptet, mert akkor sosem tanulod meg. :) Majd próbálkozz és ha kész egy próbaszkripted, és nem működik, és nem érted(de átnézted legalább 8x) akkor szólj és küld el a szkriptet ;)
Nem jön be az oldal :/
-
Akkor megint szar a hivatalos wiki :/
Tessék sampfórumos linkek:
SetTimerEx
TogglePlayerControllable
Dupla hozzászólás automatikusan összefûzve. ( 2016. március 22. - 21:49:16 )
Bár lényegtelen szkriptileg, ill. nézőpont kérdése, de én azt ajánlom, hogy a \'TogglePlayerControllable\' függvénynél a \'toggle\' helyén ne 1 és 0 értékeket adj meg, hanem true(igaz - 1), és false(hamis - 0) értékekkel, szerintem könnyebben átlátható a szemnek mikor sok kódod van már a környezetében. :)
-
forward belepes(playerid);
if(PlayerToPointStripped(1, playerid,-2627.4290,2024.6559,8.4660, cx,cy,cz))
{//VÁROSHÁZA BE / BS
SetPlayerVirtualWorld(playerid, 27);
GameTextForPlayer(playerid, \"~w~Varoshaza\", 5000, 1);
SetPlayerInterior(playerid, 10);
SetPlayerPos(playerid,246.375991,109.245994,1003.218750);
PlayerInfo[playerid][pInt] = 10;
TogglePlayerControllable(playerid,0);
SetTimerEx(\"belepes\", 5000, false, \"i\", playerid);
}
public belepes(playerid)
{
SendClientMessage(playerid, -1, \"Objectek betöltve\");
return 1;
}
Így? Már csak az kéne h 5 másodperc mulva felolvasztja
-
Kicsit gondolkozz, lefagyasztani már letudod, ott a függvény ugyanazzal kell felolvasztani is. :) Na de hol? Ez a kérdés ;)
-
Kicsit gondolkozz, lefagyasztani már letudod, ott a függvény ugyanazzal kell felolvasztani is. :) Na de hol? Ez a kérdés ;)
Hmm nem bisztos hogy jó.
forward belepes(playerid);
if(PlayerToPointStripped(1, playerid,-2627.4290,2024.6559,8.4660, cx,cy,cz))
{//VÁROSHÁZA BE / BS
SetPlayerVirtualWorld(playerid, 27);
GameTextForPlayer(playerid, \"~w~Varoshaza\", 5000, 1);
SetPlayerInterior(playerid, 10);
SetPlayerPos(playerid,246.375991,109.245994,1003.218750);
PlayerInfo[playerid][pInt] = 10;
TogglePlayerControllable(playerid,0);
SetTimerEx(\"belepes\", 5000, false, \"i\", playerid);
}
public belepes(playerid)
{
SendClientMessage(playerid, -1, \"Objectek betöltése\");
TogglePlayerControllable(playerid,1);
return 1;
}
-
Teszteld, jónaktűnik.
-
Teszteld, jónaktűnik.
Köszönöm majd csak holnap tudom tesztelni! És ha tényleg jó akkor már értem az egészet! És csak azért írtam oda a felolvasztást mert ha a belép az initbe akkor lefagyasztja és elkezd 5Mp-et számolni. És ha lejár az 5Mp akkor kiírja hogy betöltve és egybe felolvasztja! Ennyit tanultam meg belőle
-
Hogy ne kelljen minden teleporthoz beirni a timert, használd az onplayerinteriorchange alatt a timert
-
Hogy ne kelljen minden teleporthoz beirni a timert, használd az onplayerinteriorchange alatt a timert
és azt hogy?
-
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
SetTimerEx(\"spawnvedelem\", 5000, false, \"i\", playerid);
SendClientMessage(playerid,-1,\"Objectek betöltése..........\");
TogglePlayerControllable(playerid,false);
return 1;
}
forward spawnvedelem(playerid);
public spawnvedelem(playerid)
{
TogglePlayerControllable(playerid,true);
SendClientMessage(playerid,-1,\"Objectek betöltve!\");
return1;
}
Ha esetélegvalami nem lenne jó írj, csak böngészőbe írtam tesztelés nélkül, de szerintem jó