Перейти к содержанию

Поиск сообщества

Показаны результаты для тегов 'уроки crmp'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Информационный раздел
    • Новости портала
    • Техническая поддержка
    • Приватный форум
  • CRMP 0.3е
    • Помощь по Скриптингу
    • Ошибки
    • Готовые сервера
    • Дополнительные скрипты
    • Мануалы/Уроки
    • Модификации
    • Поиск
    • Архив Вопросов/Проблем/Ошибок
    • Файловый архив
    • Другое
  • SAMP/CRMP 0.3.7
    • Помощь по Скриптингу
    • Ошибки
    • Готовые сервера
    • Плагины
    • Поиск
    • Документация
  • Другое
    • Флейм

Поиск результатов в...

Поиск результатов, которые содержат...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Найдено: 180 результатов

  1. Здравствуйте пользователи форума CR-MP.RU, сегодня я бы хотел вам рассказать про команду которая будет выдавать деньги и уровень для новичков, которые зашли на сервер и ввели команду . И так приступим: 1) Ищем public OnPlayerCommandText. 2) Вставляем команду.
  2. Заменяем стандартный спидометр под картой на мой спидометр
  3. Здравствуйте, сегодня я хочу продемонстрировать красивый TextDraw после смерти. Лично мне очень понравился. - Похож на TextDraw в GTA V - Приглушает задний фон - Просто красиво Ко всем new добавляем: new Text:Wasted[MAX_PLAYERS], Text:Wasted1[MAX_PLAYERS], Text:Wasted2[MAX_PLAYERS], Text:Wasted3[MAX_PLAYERS]; В public OnPlayerConnect(playerid) кидаем наши текстравы Wasted[playerid] = TextDrawCreate(720.243469, -122.166549, "usebox"); TextDrawLetterSize(Wasted[playerid], 0.306881, 116.333961); TextDrawTextSize(Wasted[playerid], -1222.372070, 0.000000); TextDrawAlignment(Wasted[playerid], 1); TextDrawColor(Wasted[playerid], 0); TextDrawUseBox(Wasted[playerid], true); TextDrawBoxColor(Wasted[playerid], 102); TextDrawSetShadow(Wasted[playerid], 0); TextDrawSetOutline(Wasted[playerid], 0); TextDrawFont(Wasted[playerid], 0); Wasted1[playerid] = TextDrawCreate(1369.141845, 148.499908, "usebox"); TextDrawLetterSize(Wasted1[playerid], -0.071681, 12.002384); TextDrawTextSize(Wasted1[playerid], -1287.496459, 48.416664); TextDrawAlignment(Wasted1[playerid], 1); TextDrawColor(Wasted1[playerid], 0); TextDrawUseBox(Wasted1[playerid], true); TextDrawBoxColor(Wasted1[playerid], 102); TextDrawSetShadow(Wasted1[playerid], 0); TextDrawSetOutline(Wasted1[playerid], 0); TextDrawFont(Wasted1[playerid], 0); Wasted2[playerid] = TextDrawCreate(248.316223, 182.583267, "KILLING"); TextDrawLetterSize(Wasted2[playerid], 1.045490, 4.079166); TextDrawAlignment(Wasted2[playerid], 1); TextDrawColor(Wasted2[playerid], -16776961); TextDrawSetShadow(Wasted2[playerid], 0); TextDrawSetOutline(Wasted2[playerid], 1); TextDrawBackgroundColor(Wasted2[playerid], 51); TextDrawFont(Wasted2[playerid], 3); TextDrawSetProportional(Wasted2[playerid], 1); Wasted3[playerid] = TextDrawCreate(295.168579, 218.750000, "[reklama]"); TextDrawLetterSize(Wasted3[playerid], 0.320686, 0.934997); TextDrawAlignment(Wasted3[playerid], 1); TextDrawColor(Wasted3[playerid], -1); TextDrawSetShadow(Wasted3[playerid], 0); TextDrawSetOutline(Wasted3[playerid], 1); TextDrawBackgroundColor(Wasted3[playerid], 51); TextDrawFont(Wasted3[playerid], 1); TextDrawSetProportional(Wasted3[playerid], 1); Далее идёт появление и удаление наших "картинок" В public OnPlayerDisconnect(playerid,reason) TextDrawDestroy(Wasted[playerid]);TextDrawDestroy(Wasted1[playerid]);TextDrawDestroy(Wasted2[playerid]);TextDrawDestroy(Wasted3[playerid]); В public OnPlayerDeath(playerid, killerid, reason) TextDrawShowForPlayer(playerid, Wasted[playerid]);TextDrawShowForPlayer(playerid, Wasted1[playerid]);TextDrawShowForPlayer(playerid, Wasted2[playerid]);TextDrawShowForPlayer(playerid, Wasted3[playerid]); В public OnPlayerSpawn(playerid) TextDrawHideForPlayer(playerid, Wasted[playerid]);TextDrawHideForPlayer(playerid, Wasted1[playerid]);TextDrawHideForPlayer(playerid, Wasted2[playerid]);TextDrawHideForPlayer(playerid, Wasted3[playerid]); Автор: неизвестно
  4. Нашёл подобную работу (халтурку), думаю кому нибудь помог. - Всё на пикапах (нет команд) - Используется функция рандом - Всё очень легко - Когда встаёшь на пикап всё происходит автоматически (бежишь, бежишь и тут "опа") Начнём: Ко всем new: new klad[14]; // Можете увеличить число пикапов В public OnGameModeInit: Kladj(); Create3DTextLabel( "Хорошая почва", COLOR_ORANGE, X, Y, Z, 8.0, 0,1 );// Ставим свои координаты Create3DTextLabel( "Хорошая почва", COLOR_ORANGE, X, Y, Z, 8.0, 0,1 ); Create3DTextLabel( "Хорошая почва", COLOR_ORANGE, X, Y, Z, 8.0, 0,1 ); Create3DTextLabel( "Хорошая почва", COLOR_ORANGE, X, Y, Z, 8.0, 0,1 ); Create3DTextLabel( "Хорошая почва", COLOR_ORANGE, X, Y, Z, 8.0, 0,1 ); Create3DTextLabel( "Хорошая почва", COLOR_ORANGE, X, Y, Z, 8.0, 0,1 ); Create3DTextLabel( "Хорошая почва", COLOR_ORANGE, X, Y, Z, 8.0, 0,1 ); Create3DTextLabel( "Хорошая почва", COLOR_ORANGE, X, Y, Z, 8.0, 0,1 ); Create3DTextLabel( "Хорошая почва", COLOR_ORANGE, X, Y, Z, 8.0, 0,1 ); Create3DTextLabel( "Хорошая почва", COLOR_ORANGE, X, Y, Z, 8.0, 0,1 ); Create3DTextLabel( "Хорошая почва", COLOR_ORANGE, X, Y, Z, 8.0, 0,1 ); Create3DTextLabel( "Хорошая почва", COLOR_ORANGE, X, Y, Z, 8.0, 0,1 ); Create3DTextLabel( "Хорошая почва", COLOR_ORANGE, X, Y, Z, 8.0, 0,1 ); Create3DTextLabel( "Хорошая почва", COLOR_ORANGE, X, Y, Z, 8.0, 0,1 ); Создаем stock: PHP код: stock Kladj() { klad[0] = CreatePickup(2228,2,X, Y, Z,);// Ставим свои координаты klad[1] = CreatePickup(2228,2,X, Y, Z,); klad[2] = CreatePickup(2228,2,X, Y, Z,); klad[3] = CreatePickup(2228,2,X, Y, Z,); klad[4] = CreatePickup(2228,2,X, Y, Z,); klad[5] = CreatePickup(2228,2,X, Y, Z,); klad[6] = CreatePickup(2228,2,X, Y, Z,); klad[7] = CreatePickup(2228,2,X, Y, Z,); klad[8] = CreatePickup(2228,2,X, Y, Z,); klad[9] = CreatePickup(2228,2,X, Y, Z,); klad[10] = CreatePickup(2228,2,X, Y, Z,); klad[11] = CreatePickup(2228,2,X, Y, Z,); klad[12] = CreatePickup(2228,2,X, Y, Z,); klad[13] = CreatePickup(2228,2,X, Y, Z,); } В public OnPlayerPickUpPickup: for(new i; i { if(pickupid == klad[i]) { TogglePlayerControllable(playerid, 0); GameTextForPlayer(playerid, "Пожалуйста, подождите", 7000,3); ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 1, 0, 0, 0, 0); SetTimerEx("klad", 7000, false, "i", playerid); } } Создаем public: forward klad(playerid); public klad(playerid) { TogglePlayerControllable(playerid, 1); GameTextForPlayer(playerid, "~g~Хорошая работа", 1500,3); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,0,0,0,0,0,1); new x = random(4); switch(x) { case 0:{PlayerInfo[playerid][pCash] += 10000;}//ваше значение денег case 1:{SendClientMessage(playerid, 0xCD5C5C, "{CD5C5C}Вы ничего не нашли");} case 2:{SendClientMessage(playerid, 0xCD5C5C, "{CD5C5C}Вы ничего не нашли");} case 3:{SendClientMessage(playerid, 0xCD5C5C, "{CD5C5C}Вы ничего не нашли");} } } Автор: Mr.Benitto Автор идеи: Lev Popov
  5. Такая тема уже была, но данная система теперь дополнена. - Теперь вас спрашивают тпшаться или нет - Вы тпшаетесь в нулей виртуальный мир и нулевой интерьер Ко всем new добавляем: new Float:pos[MAX_PLAYERS][3];Далее добавляем паблик:public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ){ if(PlayerInfo[playerid][pAdmin] >= 1) { pos[playerid][0] = fX; pos[playerid][1] = fY; pos[playerid][2] = fZ; ShowPlayerDialog(playerid, 122, DIALOG_STYLE_MSGBOX, "Телепорт", "\t\t\t{9ACD32}Уважаемый администратор!\n Вы подтверждаете действие: {9ACD32}переместиться на поставленную точку", "Да", "Нет"); }}И конечно же диалог:if(dialogid == 122) { if(response) { SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid, 0); SetPlayerPos(playerid, pos[playerid][0], pos[playerid][1], pos[playerid][2]); SendClientMessage(playerid,0x88AA88AA,"Вы переместились на отмеченную точку!"); } else { SendClientMessage(playerid,0x88AA88AA,"Вы отменили перемещение!"); return 1; }}Вот и все. Автор: неизвестно
  6. Копался в просторах интернета и нашел систему авторынка из мода gamer. В коде есть закомментированные строки, их нужно включить когда вошьете авторынок в свой мод. Если не включите, будет не понятно, что у вас случиться. Автор вырезки вроде бы: Amfy Ссылка на скачивание: https://yadi.sk/d/2am3Efm7ckW9N
  7. Доброго времени суток, уважаемые пользователи cr-mp.ru Автор урока : Vlad_Dredd Итак начнём: 1) Ко всем new добавьте: new engine,lights,alarm,doors,bonnet,boot,objective; new zavodis[MAX_PLAYERS]; 2) В public OnGameModeInit добавьте: ManualVehicleEngineAndLights(); 3) В public OnPlayerCommandText добавьте: else if (strcmp("/engine", cmdtext, true) == 0) { if(zavodis[playerid] == 0) { if(GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,VEHICLE_PARAMS_ON,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective); zavodis[playerid] = 1; } } } else if(zavodis[playerid] == 1) { if(GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID) { if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective); zavodis[playerid] = 0; } } } return 1; }
  8. Всем привет пользователи GSG хочу вам показать систему Система поднятие/выкидывание оружие давайте начнем. Ко всем define #define MAX_GUNS 500 Ко всем enum enum DGUN_INFO { dID, // ID Float:dPos[3], // Позиция dWeapon, // Оружие dAmmo, // Патроны dVirtualWorld, // Виртуальный мир dInterior, // Интерьер Text3D:dLabel // 3D текст }; new Dgun[MAX_GUNS][DGUN_INFO]; Ко всем глобальным переменным: new GunObjects[47] = { 0, 331, 333, 334, 335, 336, 337, 338, 339, 341, 321, 322, 323, 324, 325, 326, 342, 343, 344, 0, 0, 0, 346, 347, 348, 349, 350, 351, 352, 353, 355, 356, 372, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 368, 371 }; В конец мода: stock B_RemovePlayerWeapon(playerid, b_weapon) { new b_weaponammo[13][2]; for(new s; s != 13; s++) GetPlayerWeaponData(playerid, s, b_weaponammo[s][0], b_weaponammo[s][1]); ResetPlayerWeapons(playerid); for(new g; g != 13; g++) { if(b_weaponammo[g][0] == b_weapon || b_weaponammo[g][1] <= 0) continue; GivePlayerWeapon(playerid, b_weaponammo[g][0], b_weaponammo[g][1]); break; } return true; } Команды: CMD:drop(playerid, params[]) { if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, 0xAFAFAFAA, "[!] Вы находитесь в транспорте."); if(GetPlayerWeapon(playerid) <= 0 && GetPlayerAmmo(playerid) <= 0) return SendClientMessage(playerid, 0xAFAFAFAA, "[!] Вы не имеете при себе оружие."); for(new g; g != MAX_GUNS; g++) { if(g > MAX_GUNS) return SendClientMessage(playerid, 0xAFAFAFAA, "[!] Вы не можете выбросить оружие. Превышен максимальный лимит."); B_RemovePlayerWeapon(playerid, GetPlayerWeapon(playerid)); ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0); GetPlayerPos(playerid, Dgun[g][dPos][0], Dgun[g][dPos][1], Dgun[g][dPos][2]); Dgun[g][dWeapon] = GetPlayerWeapon(playerid); Dgun[g][dAmmo] = GetPlayerAmmo(playerid); Dgun[g][dVirtualWorld] = GetPlayerVirtualWorld(playerid); Dgun[g][dInterior] = GetPlayerInterior(playerid); Dgun[g][dID] = CreateDynamicObject(GunObjects[Dgun[g][dWeapon]], Dgun[g][dPos][0], Dgun[g][dPos][1], Dgun[g][dPos][2]-1, 93.7, 120.0, 120.0, Dgun[g][dVirtualWorld], Dgun[g][dInterior], -1, 300.0); GetWeaponName(Dgun[g][dWeapon], m_string, sizeof(m_string)); format(f_string, sizeof(f_string), "Оружие %s и %d патронов.\n{00A86B}Введите: /take", m_string, Dgun[g][dAmmo]); Dgun[g][dLabel] = CreateDynamic3DTextLabel(f_string, 0xFFFF00AA, Dgun[g][dPos][0], Dgun[g][dPos][1], Dgun[g][dPos][2], 5.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, Dgun[g][dVirtualWorld], Dgun[g][dInterior], -1, 100.0); format(f_string, sizeof(f_string), "Вы выбросили оружие %s и %d патронов.", m_string, Dgun[g][dAmmo]); SendClientMessage(playerid, 0xFFA500AA, f_string); format(f_string, sizeof(f_string), "Выбросил оружие %s и %d патронов", m_string, Dgun[g][dAmmo]); SetPlayerChatBubble(playerid, f_string, 0xFF9900AA, 5.0, 3000); break; } return true; } CMD:take(playerid, params[]) { if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, 0xAFAFAFAA, "[!] Вы находитесь в транспорте."); for(new g; g != MAX_GUNS; g++) { if(!IsPlayerInRangeOfPoint(playerid, 1.0, Dgun[g][dPos][0], Dgun[g][dPos][1], Dgun[g][dPos][2])) continue; if(g > MAX_GUNS) return SendClientMessage(playerid, 0xAFAFAFAA, "[!] Вы не можете подобрать оружие. Превышен максимальный лимит."); ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0); DestroyDynamicObject(Dgun[g][dID]); DestroyDynamic3DTextLabel(Dgun[g][dLabel]); GivePlayerWeapon(playerid, Dgun[g][dWeapon], Dgun[g][dAmmo]); GetWeaponName(Dgun[g][dWeapon], m_string, sizeof(m_string)); format(f_string, sizeof(f_string), "Вы подобрали оружие %s и %d патронов.", m_string, Dgun[g][dAmmo]); SendClientMessage(playerid, 0xFFA500AA, f_string); format(f_string, sizeof(f_string), "Подобрал оружие %s и %d патронов", m_string, Dgun[g][dAmmo]); SetPlayerChatBubble(playerid, f_string, 0xFF9900AA, 5.0, 3000); Dgun[g][dID] = -1; Dgun[g][dPos][0] = 0.0; Dgun[g][dPos][1] = 0.0; Dgun[g][dPos][2] = 0.0; Dgun[g][dWeapon] = -1; Dgun[g][dAmmo] = -1; Dgun[g][dVirtualWorld] = -1; Dgun[g][dInterior] = -1; break; } return true; } [textred]Командный процесс - ZCMD. Так что, при необходимости подгоняйте под свой мод.[/textred] Автор-Неизвестен
  9. Rici

    Названия улиц

    Название районов пишется под радаром в нижнем левом углу в виде TextDraw`a. Если место зоны неизвестно - пишет "Неизвестно". Каким макаром вписывать координаты, объясню в конце урока. Ко всем глобальным переменным: new Text:TDZona[MAX_PLAYERS]; enum ZoneInfo { Float:zMin_x, Float:zMin_y, Float:zMax_x, Float:zMax_y, zName[30] }; new ZoneName[][ZoneInfo] = { {1722.9976, 2243.8809, 1800.4734, 2314.0176, "Автобаза"},//Оставил просто для примера {1906.2468, 2219.3777, 1944.9504, 2253.3904, "Автошкола"}//Оставил просто для примера }; В public OnPlayerConnect TDZona[playerid] = TextDrawCreate(10.000000, 427.000000, "-"); TextDrawBackgroundColor(TDZona[playerid], 1182971135); TextDrawFont(TDZona[playerid], 1); TextDrawLetterSize(TDZona[playerid], 0.500000, 1.600000); TextDrawColor(TDZona[playerid], -520093697); TextDrawSetOutline(TDZona[playerid], 1); TextDrawSetProportional(TDZona[playerid], 1); В public OnPlayerDisconnect TextDrawDestroy(TDZona[playerid]); В public OnPlayerSpawn TextDrawShowForPlayer(playerid, TDZona[playerid]); В секундный таймер или в public OnPlayerUpdate (лучше в секундный) UpdateZonaPlayer(playerid); В конец мода forward UpdateZonaPlayer(playerid); public UpdateZonaPlayer(playerid) { new Float:coord[3]; GetPlayerPos(playerid, coord[0], coord[1], coord[2]); for(new z = 0; z != sizeof(ZoneName); z ++) { if((coord[0] <= ZoneName[z][zMax_x] && coord[0] >= ZoneName[z][zMin_x]) && (coord[1] <= ZoneName[z][zMax_y] && coord[1] >= ZoneName[z][zMin_y])) { TextDrawSetString(TDZona[playerid], ZoneName[z][zName]); break; } else { TextDrawSetString(TDZona[playerid], "Неизвестно"); } } return 1; } Как добавлять свои координаты? Координаты нужно снимать в виде квадрата. Для этого нужно снять в левом верхнем углу, это будет min_x, min_y и в правом нижнем углу, это будет max_x, max_y. Аналогично как и с функцией PlayerToKvadrat. Координаты вписывайте внимательно, смотрите какая X и Y меньше или больше. В массиве ZoneName идет с минимальной к максимальной. Т.е сначало две минимальные координаты, а потом две максимальные. Это был весь кому нужно тот возмет. Автор: Amfy
  10. Идея: Если авто игрока сломано, скрипт не даст разогнаться быстрее 50 км/ч (регулируется) Реализация: Измеряется скорость по осям X и Y, если замечаем превышение скорости замедляем транспортное средство. Особенности: Используется оптимизированная версия без тригонометрии чтобы сильно не нагружать процессор. В ней имеется недостаток который заключается в том что предельная скорость в направлениях СВ, ЮВ, ЮЗ, СЗ будет больше максимальной, но не более чем на 30%. Также стоит отметить что нет проверки на тип транспортного средства. Ко всем дефайнам: #define BE_MIN_HLS 500.00 // здоровье ниже которого машина считается сломанной #define BE_MAX_SPD_VAR 50 // максимальная скорость, можно изменять #define BE_MAX_SPD BE_MAX_SPD_VAR*0.005 Ко всем глобальным переменным: new const BE_Bad_Vehs[] = {460, 464, 476, 511, 512, 513, 519, 520, 539, 553, 577, 592, 593, // planes 417, 425, 447, 465, 469, 487, 488, 497, 501, 548, 563 // heli }; new bool: BE_Play_Check[MAX_PLAYERS]; В конец мода: forward BadEngine();public BadEngine() { new veh, Float:spd[3], Float:hls; for(new i; i != GetMaxPlayers(); i++) { if( !BE_Play_Check[i] ) { continue; } veh = GetPlayerVehicleID( i ); if( !veh ) { continue; } GetVehicleHealth( veh, hls ); if( hls > BE_MIN_HLS ) { continue; } GetVehicleVelocity( veh, spd[0], spd[1], spd[2] ); if( floatabs(spd[0]) > floatabs(spd[1]) ) { if( floatabs(spd[ 0 ]) > BE_MAX_SPD ) { hls = BE_MAX_SPD / floatabs(spd[ 0 ]); SetVehicleVelocity( veh, spd[0]*hls, spd[1]*hls, spd[2] ); } } else { if( floatabs(spd[ 1 ]) > BE_MAX_SPD ) { hls = BE_MAX_SPD / floatabs(spd[ 1 ]); SetVehicleVelocity( veh, spd[0]*hls, spd[1]*hls, spd[2] ); } } } } В public OnPlayerStateChange if( newstate == PLAYER_STATE_DRIVER ){ new temp; temp = GetVehicleModel( GetPlayerVehicleID( playerid ) ); BE_Play_Check[ playerid ] = true; for(new i; i != sizeof( BE_Bad_Vehs ); i++ ) { if( temp == BE_Bad_Vehs[ i ] ) { BE_Play_Check[ playerid ] = false; break; } } } if( oldstate == PLAYER_STATE_DRIVER ) { BE_Play_Check[ playerid ] = false; } В public OnGameModeInit SetTimer("BadEngine", 500, true); Автор: OFFREAL
  11. Rici

    Анти ДБ

    Ко всем глобальным переменным: new bool:JustSat[MAX_PLAYERS]; В public OnPlayerStateChange(playerid, newstate, oldstate) if(newstate == PLAYER_STATE_DRIVER) { JustSat[playerid] = true; SetTimerEx("SetJustSat", 5000, 0, "i", playerid); } В public OnPlayerDeath(playerid, killerid, reason) if(reason == 50) // 50 - убит лопастями вертолета (Helicopter Blades) { new Games[256]; if(GetPlayerState(killerid) == PLAYER_STATE_DRIVER && !JustSat[killerid]) //если игрок на водительском месте { new Float:Vel[3]; GetVehicleVelocity(GetPlayerVehicleID(killerid), Vel[0], Vel[1], Vel[2]); if(Vel[0] == 0 && Vel[1] == 0 && Vel[2] == 0) { format(Games,sizeof(Games),"%s прыгнул на винты игроку %s!",PlayerName(playerid),PlayerName(killerid)); SendClientMessageToAll(0xAFAFAFAA,Games); SendClientMessage(playerid,0xAFAFAFAA,"На нашем сервере запрещено прыгать на винты!"); //думаю, соообщения достаточно, хотя можете использовать и другое наказание } else { format(Games,sizeof(Games),"%s убил лопастями вертолета игрока %s",PlayerName(killerid),PlayerName(playerid)); SendClientMessageToAll(0xAFAFAFAA,Games); Kick(killerid); //наказываем игрока, можете заменить посадкой в тюрьму или просто выводом сообщения } } } В конец мода добавить: forward SetJustSat(playerid); public SetJustSat(playerid) { JustSat[playerid] = false; return 1; } Это был весь урок.Спасибо за Внимания Автор Games
  12. Всем привет пользователи GSG сегодня хочу вам показать анти чит на деньги,давайте начнем Ко всем include добавляем: И так ко всем include #include <a_samp> Затем ко всем new: new Money[MAX_PLAYERS]; Ко всем forward: forward Loshadka(); Создаем новый паблик: public Loshadka() { for(new i =0;i<MAX_PLAYERS;i++) { if(GetPlayerMoney(i) != Money[i]) { GivePlayerMoney(i,Money[i]-GetPlayerMoney(i)); //SendClientMessage(i,0xFEFEFEFF,"Не шали с читами тута"); } } } stock ResetPlMon(playerid) { Money[playerid] =0; GivePlayerMoney(playerid,0-GetPlayerMoney(playerid)); return 1; } stock GiveMoney(playerid,a) { Money[playerid] += a; GivePlayerMoney(playerid,a); return 1; } Вот урок окончен,может пригодится. Автор - Jockey
  13. В этом туториале я покажу вам,как искать пропущенную скобку. Нам потребуется: ActivePerl ссылка Скрипт Brackets ссылка Устанавливаем ActivePerl, затем открываем архив со скриптом Brackets и содержимое папки perl в архиве,переносим в папу Perl,которая создалась при установке ActivePerl. Теперь как проверить мод: Берём мод(Именно исходник[.pwn]) и кидаем его в папку Perl.После этого открываем GUI в папке Perl.В левом верхнем углу мы наблюдаем кнопку "Open File" и указываем путь до нашего исходника,после того как вы указали путь,он просканирует ваш мод и покажет вам: Кол-во закрытых скобок Кол-во открытых скобок Если где-то недостаёт какой-либо скобки,он покажет в каком месте. Автор: мне не известен.
  14. Здравствуйте хочу вам представить работу,Создания часов,которая показывает время и секунды,Text Draw,над ХП. Начнем. Шаг первый. Ко всем New. new Text:Times; new Text:lbt; new Text:lbb; Шаг второй. Далее к forward. forward settime(playerid); Шаг третий. Опять к всем New. new text:textdraw0; Шаг четвертый. Продолжим,далее ищем public OnPlayerConnect(playerid) вставляем туда. TextDrawShowForPlayer(playerid,Text:Times); TextDrawShowForPlayer(playerid,Text:textdraw0); Шаг пятый. Ищем public OnGameModeInit() вставляем туда SetTimer("settime",1000,true); Times = TextDrawCreate(547.000000,23.000000,"--"); TextDrawLetterSize(Times,0.399999,2.000000); TextDrawFont(Times,3); TextDrawColor(Times,0xffffffff); SetTimer("settime",1000,true); DisableInteriorEnterExits(); EnableStuntBonusForAll(0); ManualVehicleEngineAndLights(); lbt = TextDrawCreate(-1.000000,2.000000,"---"); lbb = TextDrawCreate(0.000000,337.000000,"---"); TextDrawUseBox(lbt,1); TextDrawBoxColor(lbt,0x000000ff); TextDrawTextSize(lbt,640.000000,-69.000000); TextDrawUseBox(lbb,1); TextDrawBoxColor(lbb,0x000000ff); TextDrawTextSize(lbb,638.000000,-60.000000); TextDrawAlignment(lbt,0); TextDrawAlignment(lbb,0); TextDrawBackgroundColor(lbt,0x000000ff); TextDrawBackgroundColor(lbb,0x000000ff); TextDrawFont(lbt,3); TextDrawLetterSize(lbt,1.000000,12.199999); TextDrawFont(lbb,3); TextDrawLetterSize(lbb,0.899999,15.000000); TextDrawColor(lbt,0x000000ff); TextDrawColor(lbb,0x000000ff); TextDrawSetOutline(lbt,1); TextDrawSetOutline(lbb,1); TextDrawSetProportional(lbt,1); TextDrawSetProportional(lbb,1); TextDrawSetShadow(lbt,1); TextDrawSetShadow(lbb,1); Ну и последний шаг.В конец мода создаем паблик. public settime(playerid) { new string[256],year,month,day,hours,minutes,seconds; getdate(year, month, day), gettime(hours, minutes, seconds); format(string, sizeof string, "%s%d:%s%d:%s%d", (hours < 10) ? ("0") : (""), hours, (minutes < 10) ? ("0") : (""), minutes, (seconds < 10) ? ("") : (""), seconds); TextDrawSetString(Times, string); }
  15. Здравствуйте, уважаемые пользователи форума. Допустим, у Вас на сервере есть какая-либо дыра, которую Вы не можете исправить, или же, просто не подозреваете о её существовании. У меня лично была такая проблема, я долго искал решение проблемы и наткнулся на такую систему и решил поделиться с вами. Подробнее: смысл системы в том, что у каждого Администратора свой пароль. Вероятность того что вам навредят при взломе сервера уменьшается в несколько раз! Ко всем new добавьте: new AdminLoggining[MAX_PLAYERS]; Теперь нам нужно придумать пароль. Для каждого администратора отдельный пароль. Для этого создаем в ../scriptfiles файлик adminpasses.ini. Содержимое файлика: ник = пароль Теперь создаем непосредственно команду логина в админ-панель. if(strcmp(cmd,"/logininadminpanel",true)==0 || strcmp(cmd,"/liapl",true)==0) { if(PlayerInfo[playerid][pAdmin] > 0) { ShowPlayerDialog(playerid,16726,DIALOG_STYLE_INPUT,"Администраторская панель. Авторизация","Введите Ваш персональный администраторский пароль в окошко\nВам дается 3 попытки.","Принять","Отмена"); } } Теперь к диалогам добавляем if(dialogid == 16726)//Если верный ид диалога { if(response)//И если соглашено { new AdminName[32]; GetPlayerName(playerid,AdminName,sizeof(AdminName));//Берем имя new namefile[20]; new pass; format(namefile,sizeof(namefile),"%s",AdminName); new string[128]; new iniOpen = ini_openFile("adminpasses.ini"); ini_setInteger(iniOpen,namefile,pass);//забираем пасс ini_closeFile(iniOpen); if(pass == 0) return 0; //Если пасса не забрали, то отключаем new chanse; new passs = strval(inputtext);//забираем введенное if(passs == pass) { SendClientMessage(playerid,COLOR_LIGHTRED,"Вы успешно залогинились в системе!"); AdminLoggining[playerid] = 1;//врубаем переменную догининга } else { if(chanse != 3) { SendClientMessage(playerid,COLOR_FADE1,"Вы ввели неверный пароль! Администрация оповещена."); format(string,sizeof(string),"%s ввел неверный пароль при логиннинге в адм-панель.",AdminName); SendAdminMessage(0x10F441AA, string); chanse++; } if(chanse == 3) { SendClientMessage(playerid,COLOR_FADE1,"Вы забанены за подбор пароля"); Ban(playerid); } } } } В public OnPlayerDisconnect(playerid, reason) добавьте AdminLoggining[playerid] = 0; А в командах администратора вставляем: if(AdminLoggining[playerid] != 1) return SendClientMessage(playerid,COLOR_FADE1,"Вы не залогинились ((/liap))"); На этом все. Таким способом мы обезопасим сервер от школьников типа Fedya_Chy и т.п. Автор John_Smith&Cliffka
  16. #JokeStar

    [C.M.D] /gg (SAMP)

    Здравствуйте! Сегодня хочу представить команду /gg ! Для чего она нужна? Чтобы много времени не терять просто достаточно ввести команду а там уже поймёте ! Команду взял с 1 паблика ! CMD:gg(playerid) { if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessae(playerid, -1, "Неизвестная команда. Используйте: /mm > Команды сервера"); new nsa[100]; GetPlayerName(playerid, nsa, 24); foreach(new i:Player) { if(i != playerid) { format(nsa, sizeof(nsa), "Ответ от администратор %s[%d]: Желаю тебе приятной игры на нашем сервере! Спасибо что ты с нами :)", nsa, playerid); SendClientMessage(i,0x99FF33aa,nsa); } } return 1; } Спасибо за внимание
  17. Всех приветствую. Один человечек попросил меня выложить свою работу сюда Спидометр в стиле СССР. Все переменные спидометра меняйте под себя.
  18. Всем здравствуйте. Ко public OnPlayerConnect // if(!IsRPNick(playerid)) { SendClientMessage(playerid,0xFF0000FF,"[Сервер]: Извините, но у Вас никнейм, который не подходит формату RP Имени. "); SendClientMessage(playerid,0xFF0000FF,"[Сервер]: Измените ваш никнейм в клиенте CR:MP на RP имя и попробуйте зайти еще раз."); SendClientMessage(playerid,0xFF0000FF,"[Сервер]: Если этого сообщение повторно не будет, значит вы ввели все верно!"); SendClientMessage(playerid,0xFF0000FF,"[Подсказка]:Пример RP имени: Ivan_Ivanov."); Kick(playerid); return true; } ко stock stock IsRPNick(playerid) { new plname[MAX_PLAYER_NAME]; GetPlayerName(playerid, plname, MAX_PLAYER_NAME); for(new i=0;i<strlen(plname);i++) { if( !((plname[i]>='a'&&plname[i]<='z') || (plname[i]>='A'&&plname[i]<='Z') || plname[i]=='_')) { return false; // недопустимые символы в нике } } new d = strfind(plname, "_"); if( d==-1 ) return false; // нет_ в нике if(strfind(plname, "_", false, d+1) != -1) return false; // больше одного _ в нике new name[10]; strmid(name, plname, 0, d, sizeof name); new surname[10]; strmid(surname, plname, d+1, strlen(plname), sizeof surname); if(strlen(name)<3 || strlen(name)>9) return false; // неверная длина имени if(strlen(surname)<3 || strlen(surname)>9) return false; // неверная длина фамилии if(!(name[0]>='A' && name[0]<='Z')) return false; // первая буква в имени не заглавная if(!(surname[0]>='A' && surname[0]<='Z')) return false; // первая буква в фамилии не заглавная for(new i=1;i<strlen(name);i++) { if(!(name[i]>='a'&&name[i]<='z')) return false; // неверные буквы в имени } for(new i=1;i<strlen(surname);i++) { if(!(surname[i]>='a'&&surname[i]<='z'))return false; // неверные буквы в фамилии } return true;// ok } P.S Вырезал с геймера новичкам пригодится.
  19. Приветствую.Данный код подойдёт совершенно для любого мода, если конечно правильно его вставить Ко всем new добавить: new bool:Offer[MAX_PLAYERS] = false; В public OnPlayerCommandText(playerid, cmdtext[]) if(strcmp(cmd, "/givemygun", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid,-1,"ИНФО: /givemygun [ID]"); new ID = strval(tmp); if(ID == playerid) return SendClientMessage(playerid,-1,"Вы не можете передать оружие самому себе!"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid,-1,"Игрок оффлайн!"); if(GetPlayerWeapon(playerid) == 0) return SendClientMessage(playerid,-1,"У вас нет оружия в руках!"); new Float:pos[3]; GetPlayerPos(ID, pos[0], pos[1], pos[2]); if(!IsPlayerInRangeOfPoint(playerid, 1.2, pos[0], pos[1], pos[2])) return SendClientMessage(playerid,-1,"Вы далеко от этого игрока!"); new nickplayer1[MAX_PLAYER_NAME], nickplayer2[MAX_PLAYER_NAME], sg[90]; GetPlayerName(playerid, nickplayer1, sizeof(nickplayer1)); GetPlayerName(ID, nickplayer2, sizeof(nickplayer2)); SetPVarInt(ID, "Gun", GetPlayerWeapon(playerid)); SetPVarInt(ID, "Ammo", GetPlayerAmmo(playerid)); SetPVarInt(ID, "IDplayer", playerid); SetPVarString(ID, "Nick1", nickplayer1); SetPVarString(ID, "Nick2", nickplayer2); format(sg, 70, "Вы предложили %s оружие которое у вас в руках.", nickplayer2); SendClientMessage(playerid, -1, sg); format(sg, 90, "%s предлагает вам оружие. Клавиша: Y - согласиться, N - отказаться.", nickplayer1); SendClientMessage(ID, -1, sg); Offer[ID] = true; return 1; } В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) if(newkeys == KEY_YES) { if(Offer[playerid] == true) { new getnick1[MAX_PLAYER_NAME], getnick2[MAX_PLAYER_NAME], sg[45]; GetPVarString(playerid, "Nick1", getnick1, sizeof(getnick1)); GetPVarString(playerid, "Nick2", getnick2, sizeof(getnick2)); format(sg, sizeof(sg), "Вы передали оружие %s", getnick2); SendClientMessage(GetPVarInt(playerid, "IDplayer"), -1, sg); format(sg, sizeof(sg), "Вы взяли оружие у %s", getnick1); SendClientMessage(playerid, -1, sg); RemovePlayerWeapon(GetPVarInt(playerid, "IDplayer"), GetPVarInt(playerid, "Gun")); GivePlayerWeapon(playerid, GetPVarInt(playerid, "Gun"), GetPVarInt(playerid, "Ammo")); DeletePVar(playerid, "Gun"); DeletePVar(playerid, "Ammo"); DeletePVar(playerid, "IDplayer"); DeletePVar(playerid, "Nick1"); DeletePVar(playerid, "Nick2"); Offer[playerid] = false; return 1; } } if(newkeys == KEY_NO) { if(Offer[playerid] == true) { new getnick1[MAX_PLAYER_NAME], getnick2[MAX_PLAYER_NAME], sg[60]; GetPVarString(playerid, "Nick1", getnick1, sizeof(getnick1)); GetPVarString(playerid, "Nick2", getnick2, sizeof(getnick2)); format(sg, sizeof(sg), "%s отказался принимать ваше оружие", getnick2); SendClientMessage(GetPVarInt(playerid, "IDplayer"), -1, sg); format(sg, sizeof(sg), "Вы отказались принимать оружие от %s", getnick1); SendClientMessage(playerid, -1, sg); DeletePVar(playerid, "Gun"); DeletePVar(playerid, "Ammo"); DeletePVar(playerid, "IDplayer"); DeletePVar(playerid, "Nick1"); DeletePVar(playerid, "Nick2"); Offer[playerid] = false; return 1; } } Если у вас ошибка error 017: undefined symbol "RemovePlayerWeapon", то добавьте в конец мода следующий код.
  20. Dmitriy Toporov

    Потребность сна

    1.В начале мода ко всем new добавляем: new psleep[MAX_PLAYERS]; // переменная отвечающая за сессию игрока 2.Создаём forward для будущего паблика (требует таймер): forward UpdateSleep(playerid); // наш форвард (для паблика) 3.Создаём наш public, вне других public'oв: public UpdateSleep(playerid) { // паблик упдейта потребностей if(psleep[playerid] == 0) { psleep[playerid] = 1; return 1; } if(psleep[playerid] == 1) { psleep[playerid] = 2; return 1; } if(psleep[playerid] == 2) { psleep[playerid] = 3; return 1; } if(psleep[playerid] == 3) { psleep[playerid] = 4; return 1; } if(psleep[playerid] == 4) { psleep[playerid] = 5; return 1; } if(psleep[playerid] == 5) { psleep[playerid] = 6; return 1; } if(psleep[playerid] == 6) { psleep[playerid] = 7; return 1; } if(psleep[playerid] == 7) { SendClientMessage(playerid, -1, "Внимание! У вас мало сил, вы очень устали! Вам нужно поспать!"); psleep[playerid] = 8; return 1; } if(psleep[playerid] == 8) { SendClientMessage(playerid, -1, "Внимание! У вас мало сил, вы очень устали! Вам нужно поспать!"); psleep[playerid] = 9; return 1; } if(psleep[playerid] == 9) { SendClientMessage(playerid, -1, "Внимание! У вас мало сил, вы очень устали! Вам нужно поспать!"); psleep[playerid] = 10; return 1; } if(psleep[playerid] == 10) { SendClientMessage(playerid, -1, "От усталости вы упали и уснули."); psleep[playerid] = 0; return 1; } return 1; } 4.В public OnGameModeInit вставляем наш таймер: SetTimer("UpdateSleep",300000,1); // Каждые пять минут добавляет 1 пункт усталости 5.Создаём места для сна: if (strcmp(cmd, "/sleep", true) == 0) { if (!PlayerToPoint(3.0, playerid, X,Y,Z )) { // вместо X,Y,Z вставляем координаты "кровати" SendClientMessage(playerid,-1,"Вы не на кровати!"); return 1; } if (psleep[playerid] <= 3) { // условие, если кол-во очков сна меньше или равно 3, то игрок не будет спать! SendClientMessage(playerid,-1,"Вы недавно спали, приходите позже!"); return 1; } SendClientMessage(playerid,-1,"Вы поспали Можете идти"); psleep[playerid] = 0; // сброс кол-ва очков усталости return 1; } Автор :
  21. И так увжаемые пользыватели форума , я выложу урок как сделать заморозку в инте,, чтоб игрок не падал под инт. Такая проблема возникает когда инт на стримере стойт вообщем начинаем. Первое в Паблики OnPlayerSpawn SetPlayerSpawn OnPlayerPickUpPickup добавим в начало Frez(playerid);// замораживает игрока при появление в инте. и в самый конец добавим сам сток и паблик который отвечает за разморозку и заморозку. stock Frez(playerid) { TogglePlayerControllable(playerid, 0);// замараживаем игрока SetTimerEx("unFrez",3000,0,"%d",playerid);// время через которое разморозим } forward unFrez(playerid); public unFrez(playerid) TogglePlayerControllable(playerid, 1);// разморозка Вот и все. Автор: Longer(Artem_Storn)
  22. Здравствуйте уважаемые пользователи GSG! Сегодня я решил вырезать команду на ПТС(Паспорт Транспортного средства) Для новичков думаю самое то! Вот сама команда. if(strcmp(cmd, "/tehpass", true) == 0) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "[Подсказка]: /tehpass [id]"); giveplayerid = ReturnUser(tmp); if(IsPlayerConnected(giveplayerid)) { if(giveplayerid != INVALID_PLAYER_ID) { if (ProxDetectorS(8.0, playerid, giveplayerid)) { new str[128],sctring[2000]; new carid = GetPlayerVehicleID(playerid); format(str,sizeof(str),"{33CCFF}Зарегестрировано на: {ffffff}%s\n",CarInfo[GetRealID(carid)][cOwner]); strcat(sctring,str); format(str,sizeof(str),"{33CCFF}Марка транспорта: {ffffff}%s\n",VehiclesName[CarInfo[GetRealID(carid)][cMod]-400]); strcat(sctring,str); format(str,sizeof(str),"{33CCFF}Гос. рег. знак: {ffffff}%s\n",CarInfo[GetRealID(carid)][cNumber]); strcat(sctring,str); new lol[256]; format(lol,sizeof(lol),"[ПТС] Паспорт транспортного средства"); ShowPlayerDialog(giveplayerid,4567,DIALOG_STYLE_MSGBOX,lol,sctring,"Ок","Отмена"); GetPlayerName(playerid, sendername, sizeof(sendername)); format(string, sizeof(string), "Игрок %s: Показал свой Тех.Паспорт от Авто.", sendername); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); format(string,sizeof(string), "Показал свой Тех.Паспорт от Авто"); SetPlayerChatBubble(playerid,string,COLOR_PURPLE,30.0,10000); return true; } } } } P.S.Взято из мода GreenTech 7.5.2 Но пришлось переделывать под свой мод.Так как там были другие значения. Автор неизвестен Авторы мода Red_Devils, Vlad_Dredd, мапинг: Artem_Stetham
  23. И так многим интересно как сделать так чтобы где игрок вышел из игры,там же при входе он и появится. На эту тему я решил поискать немного информации,нашёл не плохой урок,от Extazy. Смотрите. И так первое что вам нужно добавить 3 переменных которые будут записываться в аккаунт пользователя. (!)Если у вас нет регистрации,ничего не выйдет! (!)Этот мануал написан для ГФ модов,но оптимизировать можно под что угодно,главное чтобы была регистрация. И так находим конструкцию enum pInfo в своём моде,и в конец добавляем Float:pCordX, Float:pCordY, Float:pCordZ, Далее в OnPlayerRegister добавляем строку format(var, 32, "CordinataX=%.1f\n",PlayerInfo[playerid][pCordX]);fwrite(hFile, var); format(var, 32, "CordinataX=%.1f\n",PlayerInfo[playerid][pCordY]);fwrite(hFile, var); format(var, 32, "CordinataX=%.1f\n",PlayerInfo[playerid][pCordZ]);fwrite(hFile, var); Поясняю: Тут мы делаем чтобы при создании аккаунта в него добавились нужные нам переменные. Далее в OnPlayerUpdate добавляем аналогичный код format(var, 32, "CordinataX=%.1f\n",PlayerInfo[playerid][pCordX]);fwrite(hFile, var); format(var, 32, "CordinataX=%.1f\n",PlayerInfo[playerid][pCordY]);fwrite(hFile, var); format(var, 32, "CordinataX=%.1f\n",PlayerInfo[playerid][pCordZ]);fwrite(hFile, var); Поясняю: Тут мы делаем чтобы переменные записывались в аккаунт И в OnPlayerLogin добавляем if( strcmp( key , "CordinataX" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCordX] = strval( val ); } if( strcmp( key , "CordinataY" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCordY] = strval( val ); } if( strcmp( key , "CordinataZ" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCordZ] = strval( val ); } Поясняю: Тут мы извлекаем значение переменных из файла Далее в OnGameModeInit добавляем бесконечный таймер,который будет получать позиции игроков SetTimer("SavePlayerPos",1000,1); Далее создадим сам паблик public SavePlayerPos() { new Float:x,Float:y,Float:z; //используем цикл for(new i = 0;i , MAX_PLAYERS;i++) { GetPlayerPos(i,px,py,pz);//Получаем позицию игрока PlayerInfo[i][pCordX] = px;//записываем x PlayerInfo[i][pCordY] = py;//записываем y PlayerInfo[i][pCordZ] = pz;//записываем z } } И не забудьте добавить форвард,в начало кода Ну и наконец при спавне игрока,устанавливаем ему эти координаты. Это ставим в OnPlayerSpawn forward SavePlayerPos(); x = PlayerInfo[i][pCordX]; y = PlayerInfo[i][pCordY]; z = PlayerInfo[i][pCordZ]; SetPlayerPos(playerid, x,y,z);//Установим координаты из переменной SetPlayerFacingAngle(playerid, 360.0); В принципе можно убрать все спавны фракциям,и добавить условия только зарегистрирован или нет,и если нет то ставить другую позицию. Но это уже нюансы. Автор: Extazy.
  24. PROMO_4ka!™

    Смайлы, действия

    Всем привет. Выкладываю замену смайликов на действия. И так, начнем Ко всем new new string[32+MAX_PLAYER_NAME]; new sendername[MAX_PLAYER_NAME]; В public OnPlayerText(playerid, text[]) добавляем if(!strcmp(text,"xD",true))//команду можно поменять как захочется { GetPlayerName(playerid,sendername,sizeof(sendername)); format(string, sizeof(string), "%s смеётся", sendername); ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 0; } if(!strcmp(text,"xDD",true))//команду можно поменять как захочется { GetPlayerName(playerid,sendername,sizeof(sendername)); format(string, sizeof(string), "%s ржет", sendername); ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0); ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 0; } if(!strcmp(text,"xDDD",true))//команду можно поменять как захочется { GetPlayerName(playerid,sendername,sizeof(sendername)); format(string, sizeof(string), "%s валяется от смеха", sendername);// вы можете изменять как вам захочется, тоись %s смеется или как либо ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0);//анимация смеха ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 0; } if(!strcmp(text,"(",true))//команду можно поменять как захочется { GetPlayerName(playerid,sendername,sizeof(sendername)); format(string, sizeof(string), "%s грустит", sendername);// вы можете изменять как вам захочется, тоись %s смеется или как либо ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 0; } if(!strcmp(text,"чВ",true))//команду можно поменять как захочется { GetPlayerName(playerid,sendername,sizeof(sendername)); format(string, sizeof(string), "%s валяется от смеха", sendername);// вы можете изменять как вам захочется, тоись %s смеется или как либо ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0);//анимация смеха ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 0; } if(!strcmp(text,")",true))//команду можно поменять как захочется { GetPlayerName(playerid,sendername,sizeof(sendername)); format(string, sizeof(string), "%s улыбается", sendername);// вы можете изменять как вам захочется, тоись %s смеется или как либо ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 0; } if(!strcmp(text,":D",true))//команду можно поменять как захочется { GetPlayerName(playerid,sendername,sizeof(sendername)); format(string, sizeof(string), "%s хохочет во весь голос", sendername);// вы можете изменять как вам захочется, тоись %s смеется или как либо ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0);//анимация смеха ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 0; } if(!strcmp(text,"xD",true))//команду можно поменять как захочется { GetPlayerName(playerid,sendername,sizeof(sendername)); format(string, sizeof(string), "%s хохочет во весь голос", sendername);// вы можете изменять как вам захочется, тоись %s смеется или как либо ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0);//анимация смеха ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); return 0; } На этом все, думая вещь полезна! Автор: Hawkins
×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.