/eagle - бросить монетку

Описание: Готовые команды
Модератор: SJplayer

May
Автор темы, Ефрейтор
Ефрейтор
Аватара
May
Автор темы, Ефрейтор
Ефрейтор
Сообщения: 22
Зарегистрирован: 8 мая 2013
С нами: 10 лет 10 месяцев

#1 May » 12 мая 2013, 14:40

Всем привет. Нашел на какомто сервере команду на подбрасывание монеты. Решил попробовать сделать копию.

Код: Выделить всё

else if(strcmp(cmd, "/eagle", true) == 0)
{
    new eagle = random(4);
    if(eagle < 2)
    {
        format(string, sizeof(string), "%s подбросил монетку. Выпал орел.", sendername);
        ProxDetector(5.0, playerid, string, COLOR_BLUE, COLOR_BLUE, COLOR_BLUE, COLOR_BLUE, COLOR_BLUE);
        format(string,sizeof(string), "Подбросил монетку. Выпал орел. ");
        SetPlayerChatBubble(playerid,string,COLOR_PURPLE,30.0,10000);
    }
    else
    
{
        format(string, sizeof(string), "%s подбросил монетку. Выпала решка.", sendername);
        ProxDetector(5.0, playerid, string, COLOR_BLUE, COLOR_BLUE, COLOR_BLUE, COLOR_BLUE, COLOR_BLUE);
         format(string,sizeof(string), "Подбросил монетку. Выпала решка.");
        SetPlayerChatBubble(playerid,string,COLOR_PURPLE,30.0,10000);
    }
return 1;
}


Автор - razor2211


Clybzotik
Рядовой
Рядовой
Аватара
Clybzotik
Рядовой
Рядовой
Сообщения: 8
Зарегистрирован: 24 апреля 2018
С нами: 5 лет 11 месяцев

#2 Clybzotik » 25 апреля 2018, 23:31

Зачем усложнять то? Зачем random(4) ? У монетки то 2 стороны.

Мой вариант:
Спойлер
Стандартный командный процесор.
Спойлер

Код: Выделить всё

if(strcmp(cmdtext, "/eagle", true) == 0)
{
    new string[54];
    GetPlayerName(playerid, string, MAX_PLAYER_NAME);
    switch(random(2)) {
        case 0: format(string, 54, "%s подбросил монетку. Выпал орёл.");
        case 1: format(string, 54, "%s подбросил монетку. Выпала решка.");
    }
    ProxDetector(playerid, 6, 0xFF80FFAA, string);
    return 1;

DC CMD
Спойлер

Код: Выделить всё

CMD:eagle(playerid)
{
    new string[54];
    GetPlayerName(playerid, string, MAX_PLAYER_NAME);
    switch(random(2))
    {
        case 0: format(string, 54, "%s подбросил монетку. Выпал орёл.");
        case 1: format(string, 54, "%s подбросил монетку. Выпала решка.");
    }
    ProxDetector(playerid, 6, 0xFF80FFAA, string);
    return 1;

ProxDetector
Спойлер

Код: Выделить всё

stock ProxDetector(playerid, Float:max_range, color, string[], Float:max_ratio = 1.6)
{
    new Float:pos_x,
        Float:pos_y,
        Float:pos_z,
        Float:range,
        Float:range_ratio,
        Float:range_with_ratio,
        clr_r, clr_g, clr_b,
        Float:color_r, Float:color_g, Float:color_b;
    if (!GetPlayerPos(playerid, pos_x, pos_y, pos_z)) return 0;
    color_r = float(color >> 24 & 0xFF);
    color_g = float(color >> 16 & 0xFF);
    color_b = float(color >> 8 & 0xFF);
    range_with_ratio = max_range * max_ratio;
    #if defined foreach
        foreach (new i : Player) {
    #else
        for (new i = GetPlayerPoolSize(); i != -1; i--) {
    #endif
     if (!IsPlayerStreamedIn(playerid, i)) continue;
      range = GetPlayerDistanceFromPoint(i, pos_x, pos_y, pos_z);
    if (range > max_range) continue;
    range_ratio = (range_with_ratio - range) / range_with_ratio;
    clr_r = floatround(range_ratio * color_r);
    clr_g = floatround(range_ratio * color_g);
    clr_b = floatround(range_ratio * color_b);
    SendClientMessage(i, (color & 0xFF) | (clr_b << 8) | (clr_g << 16) | (clr_r << 24), string);
    }
        SendClientMessage(playerid, color, string);
        return 1;
}]

Eugenuu_Kot
Аватара
Eugenuu_Kot

Мои настройки

#3 Eugenuu_Kot » 14 мая 2018, 11:30

C:\Users\NEO\Desktop\Íîâàÿ ïàïêà\gamemodes\new.pwn(268) : warning 213: tag mismatch
C:\Users\NEO\Desktop\Íîâàÿ ïàïêà\gamemodes\new.pwn(275) : warning 213: tag mismatch
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Warnings.

Eugenuu_Kot
Аватара
Eugenuu_Kot

Мои настройки

#4 Eugenuu_Kot » 14 мая 2018, 11:34

Eugenuu_Kot писал(а):C:\Users\NEO\Desktop\Íîâàÿ ïàïêà\gamemodes\new.pwn(268) : warning 213: tag mismatch
C:\Users\NEO\Desktop\Íîâàÿ ïàïêà\gamemodes\new.pwn(275) : warning 213: tag mismatch
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Warnings.

строка
ProxDetector(5.0, playerid, string, COLOR_BLUE, COLOR_BLUE, COLOR_BLUE, COLOR_BLUE, COLOR_BLUE);

LILUS M
Старшина
Старшина
Аватара
LILUS M
Старшина
Старшина
Сообщения: 136
Зарегистрирован: 2 мая 2013
С нами: 10 лет 10 месяцев

#5 LILUS » 14 мая 2018, 12:46

Почитай что это значит - ID ошибок и предупреждений


Вернуться в «Команды»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 6 гостей