Üdv mindenkinek!
Írtam egy teleport parancsot ami a groove streetre teléz, csak az a baj vele hogy gyalog vagy akkor mûködik, ha meg kocsiba akkor elteleportál csak \" Server Unoknow Command\" -ot ír ? ez miért van ?
[pawn]public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, \"/ls\", true) == 0)
if (IsPlayerInAnyVehicle(playerid))
{
SetVehiclePos(GetPlayerVehicleID(playerid),2433.5042,-1658.9111,13.3828);
SendClientMessage(playerid, 0xFFFF00AA, \"Elteleportáltál: Los-Santosba\");
}
else
{
SetPlayerPos(playerid,2433.5042,-1658.9111,13.3828);
SendClientMessage(playerid, 0xFFFF00AA, \"Elteleportáltál: Los-Santosba\");
return 1;
}
return 0;
}
[/pawn]
Így a helyes:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, \"/ls\", true) == 0)
{
if (!IsPlayerInAnyVehicle(playerid))
{
SetVehiclePos(GetPlayerVehicleID(playerid),2433.5042,-1658.9111,13.3828);
SendClientMessage(playerid, 0xFFFF00AA, \"Elteleportáltál: Los-Santosba\");
}
else
{
SetPlayerPos(playerid,2433.5042,-1658.9111,13.3828);
SendClientMessage(playerid, 0xFFFF00AA, \"Elteleportáltál: Los-Santosba\");
}
return 1;
}
return 0;
}
A kód írásnál használj tab gombot figyelj a sor eltolódásra sokkal átláthatóbb lesz akkor.
A kódban van egy feltétel vizsgálat ami két útvonal lehetõséget biztosít ha a játékos jármûben van vagy ha nincs az egyik útvonal ( return 0; ) -val tér vissza ezért jelenik meg nálad a Server Unknown üzenet.
Próbáld ki így:
[pawn]
public
OnPlayerCommandText(playerid, cmdtext[ ])
{
//--
if(strcmp(cmdtext, \"/ls\", true) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
SetVehiclePos(GetPlayerVehicleID(playerid),2433.5042,-1658.9111,13.3828);
} else {
SetPlayerPos(playerid,2433.5042,-1658.9111,13.3828);
}
SendClientMessage(playerid, 0xFFFF00AA, \"Elteleportáltál: Los-Santosba\");
return 1;
}
//--
return 0;
}
[/pawn]
Köszönöm a segítséget!
Témát zárom!