1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-09-30 19:22:14 +00:00

on_newplayer and on_respawnplayer callbacks

This commit is contained in:
Perttu Ahola 2011-11-26 03:20:19 +02:00
parent d99d27dcbe
commit 945d01fd9e
5 changed files with 114 additions and 87 deletions

View file

@ -4348,9 +4348,13 @@ void Server::HandlePlayerHP(Player *player, s16 damage)
void Server::RespawnPlayer(Player *player)
{
v3f pos = findSpawnPos(m_env->getServerMap());
player->setPosition(pos);
player->hp = 20;
ServerRemotePlayer *srp = (ServerRemotePlayer*)player;
bool repositioned = scriptapi_on_respawnplayer(m_lua, srp);
if(!repositioned){
v3f pos = findSpawnPos(m_env->getServerMap());
player->setPosition(pos);
}
SendMovePlayer(player);
SendPlayerHP(player);
}
@ -4617,9 +4621,7 @@ Player *Server::emergePlayer(const char *name, const char *password, u16 peer_id
m_authmanager.setPrivs(name,
stringToPrivs(g_settings->get("default_privs")));
/*
Set player position
*/
/* Set player position */
infostream<<"Server: Finding spawn place for player \""
<<name<<"\""<<std::endl;
@ -4628,16 +4630,14 @@ Player *Server::emergePlayer(const char *name, const char *password, u16 peer_id
player = new ServerRemotePlayer(m_env, pos, peer_id, name);
/*
Add player to environment
*/
/* Add player to environment */
m_env->addPlayer(player);
/*
Add stuff to inventory
*/
/* Run scripts */
ServerRemotePlayer *srp = (ServerRemotePlayer*)player;
scriptapi_on_newplayer(m_lua, srp);
/* Add stuff to inventory */
if(g_settings->getBool("creative_mode"))
{
// Warning: double code above