/sendto command help?
#1

I am trying to make a /sendto command which is going to be like "/sendto [location] [playerid]" But I can't :/

Locations are going to be LS and SF. LS Pos.: 1529.6,-1691.2,13.3 and SF Pos.: -2015.261108, 154.379516, 27.687500

Can anyone help me?
Reply
#2

This maybe:

pawn Код:
CMD:sendto(playerid, params[])
{
    new playerb;
    if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use this command.");
    if(sscanf(params,"us[32]", playerb, params))
    {
        SendClientMessage(playerid, COLOR_WHITE, "[Usage]: /sendto [playerid] [place]");
        SendClientMessage(playerid, COLOR_GREY, "PLACES: ls | sf | lv");
        return 1;
    }
    if(!IsPlayerLoggedIn(playerb)) return SendClientMessage(playerid, COLOR_GREY, "Invalid player id.");
    if(!strcmp(params, "ls", true))
    {
        SetPlayerInterior(playerb, 0);
        SetPlayerVirtualWorld(playerb, 0);
        SetPlayerPos(playerb,1529.6,-1691.2,13.3);
        SendClientMessage(playerb, COLOR_WHITE, " You have been teleported to Los Santos.");
        return 1;
    }
    else if(!strcmp(params, "sf", true))
    {
        SetPlayerInterior(playerb, 0);
        SetPlayerVirtualWorld(playerb, 0);
        SetPlayerPos(playerb,-2015.261108, 154.379516, 27.687500);
        SendClientMessage(playerb, COLOR_WHITE, " You have been teleported to San Fierro.");
        return 1;
    }
    else if(!strcmp(params, "lv", true))
    {
        SetPlayerInterior(playerb, 0);
        SetPlayerVirtualWorld(playerb, 0);
        SetPlayerPos(playerid,1699.2,1435.1, 10.7);
        SendClientMessage(playerb, COLOR_WHITE, " You have been teleported to Las Venturas.");
        return 1;
    }
    return 1;
}
gave ya LV as a gift.
Reply
#3

Quote:
Originally Posted by Stanford
Посмотреть сообщение
This maybe:

pawn Код:
CMD:sendto(playerid, params[])
{
    new playerb;
    if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use this command.");
    if(sscanf(params,"us[32]", playerb, params))
    {
        SendClientMessage(playerid, COLOR_WHITE, "[Usage]: /sendto [playerid] [place]");
        SendClientMessage(playerid, COLOR_GREY, "PLACES: ls | sf | lv");
        return 1;
    }
    if(!IsPlayerLoggedIn(playerb)) return SendClientMessage(playerid, COLOR_GREY, "Invalid player id.");
    if(!strcmp(params, "ls", true))
    {
        SetPlayerInterior(playerb, 0);
        SetPlayerVirtualWorld(playerb, 0);
        SetPlayerPos(playerb,1529.6,-1691.2,13.3);
        SendClientMessage(playerb, COLOR_WHITE, " You have been teleported to Los Santos.");
        return 1;
    }
    else if(!strcmp(params, "sf", true))
    {
        SetPlayerInterior(playerb, 0);
        SetPlayerVirtualWorld(playerb, 0);
        SetPlayerPos(playerb,-2015.261108, 154.379516, 27.687500);
        SendClientMessage(playerb, COLOR_WHITE, " You have been teleported to San Fierro.");
        return 1;
    }
    else if(!strcmp(params, "lv", true))
    {
        SetPlayerInterior(playerb, 0);
        SetPlayerVirtualWorld(playerb, 0);
        SetPlayerPos(playerid,1699.2,1435.1, 10.7);
        SendClientMessage(playerb, COLOR_WHITE, " You have been teleported to Las Venturas.");
        return 1;
    }
    return 1;
}
gave ya LV as a gift.
Copy >> Paste really?
Reply
#4

You must download sscanf & zcmd includes ++ You must type this on the top of your script

pawn Код:
#include zcmd
#include sscanf
pawn Код:
CMD:sendto //LS Command
{
     if(IsPlayerAdmin(playerid)
     {
           new targetid,reason,str[128];
           if(sscanf(params,"us", targetid, reason)) return SendClientMessage(playerid, -1, "/sendto [Player ID] [Reason]");
            {
                   if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, -1, "Player not connected");
                   format(str,sizeof(str),"%s has teleported %s to LS",Name(playerid),Name(targetid);
                   SendClientMessageToAll(-1,str);
                   SetPlayerPos(playerid,1529.6,-1691.2,13.3);
             }
        }
         else return SendClientMessage(playerid,-1,"You can't use this command");
}
pawn Код:
CMD:sendto2 //SFCommand
{
     if(IsPlayerAdmin(playerid)
     {
           new targetid,reason,str[128];
           if(sscanf(params,"us", targetid, reason)) return SendClientMessage(playerid, -1, "/sendto [Player ID] [Reason]");
            {
                   if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, -1, "Player not connected");
                   format(str,sizeof(str),"%s has teleported %s to SF",Name(playerid),Name(targetid);
                   SendClientMessageToAll(-1,str);
                   SetPlayerPos(playerid,-2015.261108, 154.379516, 27.687500);
             }
        }
         else return SendClientMessage(playerid,-1,"You can't use this command");
}
Don't forget to download sscanf plugin and put it on plugins folder, then write it on server.cfg on plugins line.

P.S: Late.
Reply
#5

Can you do it as /sendto [location] [playerid] and not /sendto [playerid] [location]?
Reply
#6

Quote:
Originally Posted by Necip
Посмотреть сообщение
Can you do it as /sendto [location] [playerid] and not /sendto [playerid] [location]?
Can't see the difference.
Reply
#7

pawn Код:
CMD:sendto(playerid, params[])
{
    new targetid, loc[32];
    if(sscanf(params, "s[32]u", loc, targetid))
    {
        SendClientMessage(playerid, 0xFFFFFFAA, "USAGE: /sendto [location] [playerid/name]");
        SendClientMessage(playerid, 0xFFFFFFAA, "Available Locations: ls, sf");
        return 1;
    }
   
    if(strcmp(loc, "ls", true) == 0))
    {
        if(GetPlayerState(targetid) == 2)
        {
            new veh = GetPlayerVehicleID(targetid);
            SetVehiclePos(veh, 1529.6,-1691.2,13.3);
            LinkVehicleToInterior(veh, 0);
            SetVehicleVirtualWorld(veh, 0);
        }
        else
        {
            SetPlayerPos(targetid, 1529.6,-1691.2,13.3);
        }
        SendClientMessage(targetid, 0xFFFFFFAA, "You have been sent to Los Santos.");
        SetPlayerInterior(targetid,0);
        SetPlayerVirtualWorld(targetid, 0);
    }
    else if(strcmp(loc, "sf", true) == 0))
    {
        if(GetPlayerState(targetid) == 2)
        {
            new veh = GetPlayerVehicleID(targetid);
            SetVehiclePos(veh, -2015.261108, 154.379516, 27.687500);
            LinkVehicleToInterior(veh, 0);
            SetVehicleVirtualWorld(veh, 0);
        }
        else
        {
            SetPlayerPos(targetid, -2015.261108, 154.379516, 27.687500);
        }
        SendClientMessage(targetid, 0xFFFFFFAA, "You have been sent to San Fierro.");
        SetPlayerInterior(targetid,0);
        SetPlayerVirtualWorld(targetid, 0);
    }
    return 1;
}
Something like this? if you use other command processor I will change it.
Reply
#8

pawn Код:
CMD:sendto(playerid, params[])
{
    new playerb;
    if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid, COLOR_GREY, "You are not authorized to use this command.");
    if(sscanf(params,"us[32]", params, playerb))
    {
        SendClientMessage(playerid, COLOR_WHITE, "[Usage]: /sendto [location] [player]");
        SendClientMessage(playerid, COLOR_GREY, "PLACES: ls | sf | lv");
        return 1;
    }
    if(!IsPlayerLoggedIn(playerb)) return SendClientMessage(playerid, COLOR_GREY, "Invalid player id.");
    if(!strcmp(params, "ls", true))
    {
        SetPlayerInterior(playerb, 0);
        SetPlayerVirtualWorld(playerb, 0);
        SetPlayerPos(playerb,1529.6,-1691.2,13.3);
        SendClientMessage(playerb, COLOR_WHITE, " You have been teleported to Los Santos.");
        return 1;
    }
    else if(!strcmp(params, "sf", true))
    {
        SetPlayerInterior(playerb, 0);
        SetPlayerVirtualWorld(playerb, 0);
        SetPlayerPos(playerb,-2015.261108, 154.379516, 27.687500);
        SendClientMessage(playerb, COLOR_WHITE, " You have been teleported to San Fierro.");
        return 1;
    }
    else if(!strcmp(params, "lv", true))
    {
        SetPlayerInterior(playerb, 0);
        SetPlayerVirtualWorld(playerb, 0);
        SetPlayerPos(playerid,1699.2,1435.1, 10.7);
        SendClientMessage(playerb, COLOR_WHITE, " You have been teleported to Las Venturas.");
        return 1;
    }
    return 1;
}
Reply
#9

Thank you all. +REPed to all of you
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)