Jump to content
  • 0

pomoc [HELP] Otázka SetPlayerCameraPos


Meric

Dotaz

Ahojte. Mám malý problém, se kterým zápasím už delší dobu. Potřeboval bych vědět, jak nebo spíše KDE použít funkce SetPlayerCameraPos (potažmo SetPlayerPos) a SetPlayerCameraLookAt, když chci, aby se hned, co se objeví Register, Login okno přemístila kamera na dané souřadnice. Neustále mě to hází na souřadnice 0 0 0 camerou. Mám to v OnPlayerConnect, předtím jsem to měl dokonce aj OnPlayerRequestSpawn a potom dokonce i k dialogům k registraci aa k loginu a už opravdu nevím, kam to mám dávat, nic nefunguje a prostě se ty funkce nejspíš ani nevyvolají. Poradíte mi někdo, prosím?

Link to comment
Share on other sites

17 odpovědí na tuto otázku

Recommended Posts

  • 0

Přesně jak píše LaMaCZE

Přikládám kod:

public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerCameraPos(playerid, x, y, z);
    SetPlayerCameraLookAt(playerid, x, y, z);
    return 1;
}
Link to comment
Share on other sites

  • 0

Právě že tam to mám taky, ale vůbec to nefunguje. Mám tam všechny tři funkce zastoupený a nejde to. I v OnPlayerRequestClass, i v OnPlayerRequestSpawn, dokonce i v OnPlayerConnect jsem zkusil, k dialogům pro login a register, snad všude. Vůbec nevím kde by mohl být zádrhel. U každé funkce mám souřadnice jinak, kromě SetPlayerPos, který mám stejný jako SetPlayerCameraPos. Ale pořád mě to hází na základní souřadnice 0 0 0, jako by to ignorovalo ty funkce.


Mám to nějak takto.

[spoiler]public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1765.552124, -1301.948730, 147.561050);
SetPlayerCameraPos(playerid, 1765.552124, -1301.948730, 142.561050);
SetPlayerCameraLookAt(playerid, 1759.0682,-1275.3308,216.6483);


if(Mrtvej[playerid] == 1){
SpawnPlayer(playerid);
TogglePlayerSpectating(playerid, true);
}
return 1;
}
[/spoiler]
Edited by Meric
Link to comment
Share on other sites

  • 0

Zkus to takto:

public OnPlayerRequestClass(playerid, classid)
{
if(Mrtvej[playerid] == 1){
SpawnPlayer(playerid);
TogglePlayerSpectating(playerid, true);
return 1;
}

stock SetupPlayerForClassSelection(playerid)
{
    SetPlayerCameraPos(playerid, 1765.552124, -1301.948730, 142.561050);
    SetPlayerCameraLookAt(playerid, 1759.0682, -1275.3308, 216.6483);
}

Když ti to nepůjde tak mi napiš do SZ

Edited by TGaMeR
Link to comment
Share on other sites

  • 0

Jen bych se chtěl zeptat jak tento stock mám poté použít? Vyvolá se sám, nebo ho mám zapsat normálně do toho publicu? Jsem totiž zvyklej takové stocky často někam zapisovat.

Link to comment
Share on other sites

  • 0

Dobrý večer. 
Stačí danú kameru nastaviť v timeri ktorý sa spustí po 1 sekunde ako sa hráč pripojí. Príklad nižšie. 
 

public OnPlayerConnect(playerid)
{
    SetTimerEx("ServerLogAnim", 1_000, false, "i",playerid);
    return true;
}

forward ServerLogAnim(playerid);
public ServerLogAnim(playerid)
{
	SetPlayerPos           (playerid, Float:X,Float:Y,Float:Z);
	SetPlayerCameraLookAt  (playerid, Float:X,Float:Y,Float:Z);
}

Edited by Matus.Cernava
Link to comment
Share on other sites

  • 0

Ani tohle mi nejde. Upravil jsem to, jelikož jsem tak nějak pochopil, že doplnit si nějaké věci mám sám. Udělal jsem to přes ten timer v OnPlayerConnect, no nicméně efekt je stejný, pořád mě to při loginu hází kameru směrem na moře v Blueberry. Zkusil jsem i alternativu s tím stockem, dokonce už i AddPlayerClass, kterej s tím souvisí. Ani tak se nic nedělo. Jednoduše se žádná z těch funkcí nevykoná. Zkusím ještě udělat timer přímo do OnPlayerRequestClass, ale jestli ani to nepomůže, tak už opravdu nevím.

Edited by Meric
Link to comment
Share on other sites

  • 0

Když to restartuju přes rcon command gmx a neodpojím se, tak mě to tam normálně hodí tak, jak má. Ale když se pak odlognu a znova naloguju, tak to zase nejde. Tomu tak trošku nerozumím. Když člověk není na serveru během restartu, tak se kamera zkrátka nenastaví.

Link to comment
Share on other sites

  • 0

Když budeš chtít napiš mě na skype: skype_ref a můžeme to vyřešit aby se předešlo spamu tedy pokud ti do té doby nikdo nepomůže.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...