All pastes #366591 Raw Edit

Stuff

public text v1 · immutable
#366591 ·published 2007-02-21 19:41 UTC
rendered paste body
#include <a_samp>

#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA

#define dcmd(%1,%2,%3) if ((strcmp(%3, "/%1", true, %2+1) == 0)&&(((%3[%2+1]==0)&&(dcmd_%1(playerid,"")))||((%3[%2+1]==32)&&(dcmd_%1(playerid,%3[%2+2]))))) return 1

dcmd_goto(playerid, target[])
{
    new targetid = strval(target);
    if (!strlen(target))
    {
        SendClientMessage(playerid,COLOR_RED,"Usage: /goto [playerid]");
    }
    else if(!IsPlayerConnected(targetid) || targetid < 0 || targetid > 99)
    {
        SendClientMessage(playerid,COLOR_RED,"Invalid playerid");
    }
    else
    {
        new Float:Pos[3],str[50];
        GetPlayerPos(targetid,Pos[0],Pos[1],Pos[2]);
        SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]+0.5);
        new targetname = GetPlayerName(targetid,str,sizeof(str));
        format(str,sizeof(str),"You have been teleported near %s",targetname);
        SendClientMessage(playerid,COLOR_GREEN,str);
    }
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    dcmd(goto,4,cmdtext);
    return 0;
}


main()
{
    print("\n  +---------------+");
    print("  | /goto command |");
    print("  +---------------+\n");
}


public OnGameModeInit()
{
    SetGameModeText("/goto command");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
}


public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
}