Retry hello until RPG_TopDown; Message cmd
This commit is contained in:
1 parent
1d14820bf9
commit
a806541204
1 file changed
+20
-2
@@ -8,6 +8,7 @@ $RPGClient::Yaw = 0;
|
||||
$RPGClient::Dist = 14;
|
||||
$RPGClient::HelloPending = 0;
|
||||
$RPGClient::HelloLast = "";
|
||||
$RPGClient::TopDownWatchSched = 0;
|
||||
|
||||
function RPGClient_NormPos(%ctrl, %pos)
|
||||
{
|
||||
@@ -227,7 +228,7 @@ function RPGClient_SendHello()
|
||||
$RPGClient::HelloLast = %now;
|
||||
commandToServer('RPG_Hello', $RPGClient::Version);
|
||||
commandToServer('RPGHello', $RPGClient::Version);
|
||||
commandToServer('message', "/rpg clienthello " @ $RPGClient::Version);
|
||||
commandToServer('Message', "/rpg clienthello " @ $RPGClient::Version);
|
||||
}
|
||||
|
||||
function clientCmdRPG_Probe()
|
||||
@@ -239,8 +240,8 @@ function clientCmdRPG_Welcome(%serverProto, %accepted)
|
||||
{
|
||||
if (%accepted && %serverProto == $RPGClient::Version)
|
||||
{
|
||||
$RPGClient::Server = 1;
|
||||
$RPGClient::HelloPending = 0;
|
||||
schedule(2500, 0, RPGClient_TopDownWatch);
|
||||
}
|
||||
else if (!%accepted)
|
||||
{
|
||||
@@ -249,10 +250,25 @@ function clientCmdRPG_Welcome(%serverProto, %accepted)
|
||||
}
|
||||
}
|
||||
|
||||
function RPGClient_TopDownWatch()
|
||||
{
|
||||
$RPGClient::TopDownWatchSched = 0;
|
||||
if ($RPGClient::Active || $RPGClient::Server || !RPGClient_CanSendCmd())
|
||||
{
|
||||
return;
|
||||
}
|
||||
$RPGClient::HelloLast = "";
|
||||
RPGClient_SendHello();
|
||||
$RPGClient::TopDownWatchSched = schedule(2500, 0, RPGClient_TopDownWatch);
|
||||
}
|
||||
|
||||
function clientCmdRPG_TopDown(%on, %yaw, %dist)
|
||||
{
|
||||
if (%on)
|
||||
{
|
||||
cancel($RPGClient::TopDownWatchSched);
|
||||
$RPGClient::TopDownWatchSched = 0;
|
||||
$RPGClient::Server = 1;
|
||||
$RPGClient::Active = 1;
|
||||
$RPGClient::Yaw = %yaw;
|
||||
$RPGClient::Dist = %dist > 0 ? %dist : 14;
|
||||
@@ -391,6 +407,8 @@ package RPGClient_Cleanup
|
||||
$RPGClient::Server = 0;
|
||||
$RPGClient::HelloPending = 0;
|
||||
$RPGClient::HelloLast = "";
|
||||
cancel($RPGClient::TopDownWatchSched);
|
||||
$RPGClient::TopDownWatchSched = 0;
|
||||
Parent::disconnectedCleanup(%doReconnect);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in new issue
Block a user