Sign in to follow this  
Followers 0
Guest

/ptp (player to player)

5 posts in this topic

Суть команды: вы можете телепортировать одного игрока к другому (включая виртуальный мир и интерьер).

CMD:ptp(playerid, params[])
{
    // Сюда суйте свои проверки на админки и т.д
    new player1, player2;
    if(sscanf(params, "ii", player1, player2)) return SendClientMessage(playerid, -1, "Используйте: /ptp [id] [to id]");
    if(!IsPlayerConnected(player1) || !IsPlayerConnected(player2)) return SendClientMessage(playerid, -1, "Один из указанных игроков не подключен");

    static const
        player1_message[] = "Администратор %s[%d] телепортировал к Вам игрока %s[%d]",
        player2_message[] = "Администратор %s[%d] телепортировал Вас к игроку %s[%d]",
        admin_message[] = "Вы телепортировали %s[%d] к %s[%d]";

    const
        p1_msg_size = sizeof(player1_message) + (-2+MAX_PLAYER_NAME)*2 + (-2+5)*2,
        p2_msg_size = sizeof(player2_message) + (-2+MAX_PLAYER_NAME)*2 + (-2+5)*2,
        a_msg_size = sizeof(admin_message) + (-2+MAX_PLAYER_NAME)*2 + (-2+5)*2;
        
    #if p1_msg_size > p2_msg_size && p1_msg_size > a_msg_size
        #define size p1_msg_size
        
    #elseif p2_msg_size > p1_msg_size && p2_msg_size > a_msg_size
        #define size p2_msg_size
        
    #else
        const size = a_msg_size;
        
    #endif
    
    new buffer[size];


    new
        playerid_name[MAX_PLAYER_NAME],
        player1_name[MAX_PLAYER_NAME],
        player2_name[MAX_PLAYER_NAME];

    GetPlayerName(playerid, playerid_name, sizeof(playerid_name));
    GetPlayerName(player1, player1_name, sizeof(player1_name));
    GetPlayerName(player2, player2_name, sizeof(player2_name));

    new
        Float:pos_x,
        Float:pos_y,
        Float:pos_z,
        player2_world = GetPlayerVirtualWorld(player2),
        player2_interior = GetPlayerInterior(player2);

    GetPlayerPos(player2, pos_x, pos_y, pos_z);

    SetPlayerVirtualWorld(player1, player2_world);
    SetPlayerInterior(player1, player2_interior);
    SetPlayerPos(player1, pos_x, pos_y, pos_z);

    format(buffer, sizeof(buffer), player1_message, playerid_name, playerid, player1_name, player1);
    SendClientMessage(player2, -1, buffer);
    format(buffer, sizeof(buffer), player2_message, playerid_name, playerid, player2_name, player2);
    SendClientMessage(player1, -1, buffer);
    format(buffer, sizeof(buffer), admin_message, player1_name, player1, player2_name, player2);
    SendClientMessage(playerid, -1, buffer);
    return 1;
}  

 

Share this post


Link to post
Share on other sites

Прикольно)

 

Share this post


Link to post
Share on other sites

C:\Users\МЭЛТ\Downloads\arizonasliv\arizonasliv\gamemodes\arizonarp.pwn(66683) : error 036: empty statement

что делать?

 

Заметка от keyl , создано

Как минимум приложить кусочек кода в котором возникла данная ошибка.

Share this post


Link to post
Share on other sites

Спасибо за идею

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • AndryKrut007
      By AndryKrut007
      Добрых времени суток, наш проект активно ищет разработчиков в CRMP проект.
       
      Нам требуются:
       
      Pawn разработчик
       
      PR менеджер
       
      Разработчик лаунчера
       
      Управляющий разработчиками
       
      А также рассмотрим любые другие вакансии
       
      Писать: тг @derhid
    • August_Rothschild
      By August_Rothschild
      Всем привет , как заменять анимации в игре ? Имеется ввиду анимации танцев , как прочесть файлы с анимациями или как заменять определенную анимацию