1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-25 22:17:45 +00:00
sapphire/src/servers/Scripts/common/CmnDefLinkShell.cpp

60 lines
1.3 KiB
C++
Raw Normal View History

2018-03-07 08:14:42 +01:00
#include <Script/NativeScriptApi.h>
#include "../ScriptObject.h"
#include <Actor/Player.h>
#define ACTION_CREATE 2
#define ACTION_RENAME 3
#define ACTION_REMOVE 4
class CmnDefLinkShell : public EventScript
{
public:
CmnDefLinkShell() : EventScript( 0xB0006 )
2018-03-20 23:56:06 +11:00
{}
2018-03-07 08:14:42 +01:00
void Scene00001( Entity::Player& player )
{
2018-03-20 22:33:51 +11:00
auto callback = [this]( Entity::Player& player, const Event::SceneResult& result )
2018-03-07 08:14:42 +01:00
{
switch( result.param2 )
2018-03-07 08:14:42 +01:00
{
case ACTION_CREATE:
Scene00002( player );
break;
case ACTION_RENAME:
Scene00003( player );
break;
case ACTION_REMOVE:
Scene00004( player );
break;
}
};
2018-03-20 22:33:51 +11:00
player.playScene( getId(), 1, 0, 0, 0, callback );
2018-03-07 08:14:42 +01:00
}
// create linkshell
void Scene00002( Entity::Player& player )
{
2018-03-20 22:33:51 +11:00
player.playScene( getId(), 2, 0, 0, 0 );
2018-03-07 08:14:42 +01:00
}
// rename linkshell
void Scene00003( Entity::Player& player )
{
2018-03-20 22:33:51 +11:00
player.playScene( getId(), 3, 0, 0, 0 );
2018-03-07 08:14:42 +01:00
}
// remove linkshell
void Scene00004( Entity::Player& player )
{
2018-03-20 22:33:51 +11:00
player.playScene( getId(), 4, 0, 0, 0 );
2018-03-07 08:14:42 +01:00
}
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
{
Scene00001( player );
}
};