shape1
shape2
shape3
shape4
shape7
shape8

Обмен скином с игроком

  • Автор темы Amfy
  • Дата начала

A

Amfy

Гость
Гость
Как-то нужна была такая команда. Кто не понял - команда для обмена скином с другим игроком. Может быть кому нибудь пригодится  :D83DDE07:

Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    new tmp[256], idx;
    if(strcmp("/exchangeskin", cmdtext, true, 10) == 0)
    {
        tmp = strtok(cmdtext, idx);
	if(!strlen(tmp)) return SendClientMessage(playerid, -1, "ИНФО: /exchangeskin [ID игрока]");
	new giveplayerid = strval(tmp);
	if(giveplayerid == playerid) return SendClientMessage(playerid, -1, "Вы указали свой ID!");
	if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, -1, "Этот игрок оффлайн!");
	new Float:pos[3];
	GetPlayerPos(giveplayerid, pos[0], pos[1], pos[2]);
        if(!IsPlayerInRangeOfPoint(playerid, 1.0, pos[0], pos[1], pos[2])) return SendClientMessage(playerid, -1, "Вы слишком далеко!");
	new name[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME], s[70];
	GetPlayerName(playerid, name, sizeof(name));
	GetPlayerName(giveplayerid, name2, sizeof(name2));
	format(s, sizeof(s), "Вы предложили %s поменяться с вами одеждой", name2);
	SendClientMessage(playerid, 0x33CCFFAA, s);
	format(s, sizeof(s), "% предлагает вам поменяться с ним одеждой", name);
	SendClientMessage(giveplayerid, 0x33CCFFAA, s);
	SendClientMessage(giveplayerid, 0x33CCFFAA, "Нажмите клавишу Y - согласиться, N - отказаться");
	SetPVarInt(giveplayerid, "Skin", GetPlayerSkin(playerid));
	SetPVarInt(giveplayerid, "PlayerID", playerid);
	Proverka[giveplayerid] = true;
	return 1;
    }
    return 0;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == KEY_YES)
    {
	if(Proverka[playerid] == true)
	{
	    new name[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME], s[50];
	    GetPlayerName(playerid, name, sizeof(name));
	    GetPlayerName(GetPVarInt(playerid, "PlayerID"), name2, sizeof(name2));
	    format(s, sizeof(s), "Вы поменялись одеждой с %s", name2);
	    SendClientMessage(playerid, 0x33CCFFAA, s);
	    format(s, sizeof(s), "Вы поменялись одеждой с %s", name);
	    SendClientMessage(GetPVarInt(playerid, "PlayerID"), 0x33CCFFAA, s);
	    SetPlayerSkin(playerid, GetPVarInt(playerid, "Skin"));
	    SetPlayerSkin(GetPVarInt(playerid, "PlayerID"), GetPlayerSkin(playerid));
	    DeletePVar(playerid, "Skin");
	    DeletePVar(playerid, "PlayerID");
	    Proverka[playerid] = false;
	    return 1;
	}
    }
    if(newkeys == KEY_NO)
    {
        if(Proverka[playerid] == true)
	{
	    new name[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME], s[50];
	    GetPlayerName(playerid, name, sizeof(name));
	    GetPlayerName(GetPVarInt(playerid, "PlayerID"), name2, sizeof(name2));
	    format(s, sizeof(s), "Вы отказались меняться одеждой с %s", name2);
	    SendClientMessage(playerid, 0x33CCFFAA, s);
	    format(s, sizeof(s), "%s отказался меняться с вами одеждой", name);
	    SendClientMessage(GetPVarInt(playerid, "PlayerID"), 0x33CCFFAA, s);
	    DeletePVar(playerid, "Skin");
	    DeletePVar(playerid, "PlayerID");
	    Proverka[playerid] = false;
	    return 1;
	}
    }
    return 1;
}
 
Последнее редактирование:

vovik995

Новичок
Пользователь
24.06.2014
22
1
0
Сможешь оптимизировать для мода Connected RP?