fa
Feedback
Переходник FILIP GAMES

Переходник FILIP GAMES

رفتن به کانال در Telegram

Переходник FILIP GAMES

نمایش بیشتر
روسيا437 131دسته بندی مشخص نشده است
426
مشترکین
-224 ساعت
-37 روز
-3130 روز
آرشیو پست ها
Добьём 450 подписчиков до 1 сентября?

Спасибо за 400 подписчиков, вы лучшие ❤️

Repost from N/a
🔧 В разработке — Pawn Compiler от FILIP GAMES! Друзья! Мы начали разработку полезного инструмента для всего SAMP/CRMP сообщества! 📝 Pawn Compiler — простое и удобное приложение для компиляции .pwn файлов прямо на твоём Android-устройстве! Что уже готово: ✅ Стильный интерфейс ✅ Поле для ввода кода ✅ Вывод результата компиляции ✅ Сохранение .amx в папку на телефоне Зачем это нужно: 🎮 Разработчикам серверов SAMP/CRMP 📱 Компиляция без компьютера 🚀 Быстро, удобно, бесплатно Релиз уже скоро! Следите за новостями!

🔥 Сливаю для вас имбовый фон для вашего CRMP проекта 💸 Автор слива = @FilipStudio
🔥 Сливаю для вас имбовый фон для вашего CRMP проекта 💸 Автор слива = @FilipStudio

+услуга

🥳 Крупный Конкурс с мощными призами! 1. Приватка FILIP STUDIO 2. Приватка FILIP STUDIO 3. Приватка FILIP STUDIO 4. Приватка FILIP STUDIO 5. Приватка FILIP STUDIO Итоги конкурса на 50 тапов! ☺️😋 Условия — подписаться на @FilipStudio и @origincrmp

🥳 Крупный Конкурс с мощными призами! 1. Приватка FILIP STUDIO 2. Приватка FILIP STUDIO 3. Приватка FILIP STUDIO 4. Приватка FILIP STUDIO 5. Приватка FILIP STUDIO Итоги конкурса на 50 тапов! ☺️😋 Условия — подписаться на @FilipStudio и @origincrmp

🥳 Крупный Конкурс с мощными призами! 1. Приватка FILIP STUDIO 2. Приватка FILIP STUDIO 3. Приватка FILIP STUDIO 4. Приватка FILIP STUDIO 5. Приватка FILIP STUDIO Итоги конкурса на 50 тапов! ☺️😋 Условия — подписаться на @FilipStudio и @origincrmp

🥳 Крупный Конкурс с мощными призами! 1. Приватка FILIP STUDIO 2. Приватка FILIP STUDIO 3. Приватка FILIP STUDIO 4. Приватка FILIP STUDIO 5. Приватка FILIP STUDIO Итоги конкурса на 50 тапов! ☺️😋 Условия — подписаться на @FilipStudio и @origincrmp

Добавлена новая услуга в прайс лист!

Вот .zip если кому удобней Автор слива = @FilipStudio

Вот, держите

gangwar.pwn0.29 KB

С этим кодом

Код слишком большой, давайте я кину готовый файл?

else { format(label, sizeof(label), "%s\nНейтральная", ZoneData[i][zName]); } Update3DTextLabelText(g_ZoneLabels[i], COLOR_WHITE, label); } return 1; } forward UpdateZoneMarkers(); public UpdateZoneMarkers() { UpdateZoneLabels(); return 1; } SendGangInfo(playerid) { if(!PlayerGang[playerid][pInGang]) return 1; new gangID = PlayerGang[playerid][pGangID]; if(gangID < 0 gangID >= GangCount !GangData[gangID][gLoaded]) return 1; new msg[128]; format(msg, sizeof(msg), "~w~Семья: ~g~%s~n~~w~Роль: ~y~%s~n~~w~Денег: ~g~$%d", GangData[gangID][gName], PlayerGang[playerid][pRole], GangData[gangID][gMoney]); GameTextForPlayer(playerid, msg, 5000, 3); return 1; } GetZoneIDByName(const zonename[]) { for(new i = 0; i < ZoneCount; i++) { if(strcmp(ZoneData[i][zName], zonename, true) == 0) { return i; } } return -1; } GetPlayerIDByName(const playername[]) { new name[MAX_PLAYER_NAME]; for(new i = 0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i)) continue; GetPlayerName(i, name, sizeof(name)); if(strcmp(name, playername, true) == 0) { return i; } } return INVALID_PLAYER_ID; } GetPlayerNameEx(playerid) { new name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); return name; } Float:GetDistanceBetweenPoints(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2) { return floatsqroot(floatpower(x1 - x2, 2.0) + floatpower(y1 - y2, 2.0) + floatpower(z1 - z2, 2.0)); } stock max(a, b) { return (a > b) ? a : b; } ’’’ (☝️этот код выше копируем, создаём на вашем устройстве файл gangwar.pwn и туда этот код.) ПОДКЛЮЧЕНИЕ В файле куда вы уже вставили код найдите строку ‘‘‘pawn g_SQL = mysql_connect("localhost", "root", "password", "gang_database"); ’’’ *Замени там: localhost — на адрес твоего MySQL сервера. *root — на имя пользователя (обычно root). *password — на пароль (если есть). *gang_database — если назвал базу по-другому, измени. УСТАНОВКА НЕОБХОДИМЫХ ИНКЛУДОВ Скачай и установи: *MySQL Plugin R41+ для SA-MP. Положи mysql.dll в plugins/ папку сервера. Добавь mysql в server.cfg в строку plugins. *sscanf2 плагин. Положи sscanf.dll в plugins/. Добавь sscanf в server.cfg. *foreach инклуд (необязательно, но рекомендую). Положи foreach.inc в pawno/include/. КОМПИЛЯЦИЯ *Открой pawno.exe. (желательно на пк, если андроид то ищите туторы тут по андроиду объяснять не буду.) *открой файл который создал ранее(открой в pawno.exe, найди клавишу открытия на пк там) *Нажми F5 (или кнопку "Compile"). *Убедись, что нет ошибок. Если есть — проверь пути к инклудам. *В папке filterscripts/ появится файл gangwar.amx. ЗАПУСК НА СЕРВЕРЕ *В server.cfg добавь в строку filterscripts слово gangwar *запусти сервер *В консоли сервера должно появиться: ‘‘‘txt Gang War System v1.0 Loaded MySQL connected successfully! Loaded gangs: ’’’ Далее зайди на сервер и проверь следующие команды: /createfam [Название] [Тэг] — создать семью. Пример: /createfam Bandits BND /gangs — список всех семей. /ganginfo — информация о твоей семье. /invite [Имя] — пригласить игрока. /accept — принять приглашение. /setvice [Имя] — назначить заместителя (только лидер). /gangkick [Имя] — исключить из семьи. /capture [Название зоны] — захватить территорию. Пример: /capture Grove Street Поэтому система и масштабная тут можно создать что то типо банды, для профессионалов в сфере кодинга скажу, можете доделать сами, эта система больше для самп 0.3.7 движка, улицы все для захвата взяты именно оттуда с базовой карты гта са, Вот зоны захвата: Los Santos Bank 1406.0, -1524.0, 13.5 Grove Street 2495.0, -1680.0, 13.5 Ballas Hood 2300.0, -1200.0, 25.0 Pier 69 -1930.0, 850.0, 35.0 Jefferson Motel 1223.0, -1800.0, 16.0 Ganton Gym 2100.0, -1400.0, 25.0 Ocean Docks -1600.0, 700.0, 10.0 Verdant Bluffs 2800.0, -2000.0, 10.0 Надеюсь все всё поняли, если что задавайте вопрос в комментариях.

format(query, sizeof(query), "SELECT * FROM turfs"); mysql_query(g_SQL, query); new rows = mysql_num_rows(g_SQL); ZoneCount = sizeof(g_ZoneNames); for(new i = 0; i < ZoneCount; i++) { format(ZoneData[i][zName], 32, "%s", g_ZoneNames[i]); ZoneData[i][zX] = g_CapturePositions[i][0]; ZoneData[i][zY] = g_CapturePositions[i][1]; ZoneData[i][zZ] = g_CapturePositions[i][2]; ZoneData[i][zRadius] = g_CaptureRadius[i]; ZoneData[i][zOwner] = -1; ZoneData[i][zCapturing] = false; ZoneData[i][zCaptureProgress] = 0; ZoneData[i][zCaptureTimer] = -1; ZoneData[i][zCaptureGang] = -1; } if(rows > 0) { new row[128]; new field[32]; for(new i = 0; i < rows; i++) { mysql_fetch_row(g_SQL, row); mysql_get_field("zone_name", field); new zoneid = GetZoneIDByName(field); if(zoneid != -1) { mysql_get_field("gang_id", field); ZoneData[zoneid][zOwner] = strval(field); } } } mysql_free_result(g_SQL); return 1; } LoadPlayerGang(playerid) { new pName[MAX_PLAYER_NAME]; GetPlayerName(playerid, pName, sizeof(pName)); new query[256]; format(query, sizeof(query), "SELECT gang_id, role FROM gang_members WHERE player_name = '%s'", pName); mysql_query(g_SQL, query); new rows = mysql_num_rows(g_SQL); if(rows == 0) { mysql_free_result(g_SQL); return 1; } new row[128]; new field[32]; mysql_fetch_row(g_SQL, row); mysql_get_field("gang_id", field); new gangID = strval(field); if(gangID >= 0 && gangID < GangCount && GangData[gangID][gLoaded]) { PlayerGang[playerid][pInGang] = true; PlayerGang[playerid][pGangID] = gangID; mysql_get_field("role", field); format(PlayerGang[playerid][pRole], 16, "%s", field); } mysql_free_result(g_SQL); return 1; } SavePlayerGang(playerid) { if(!PlayerGang[playerid][pInGang]) return 1; new pName[MAX_PLAYER_NAME]; GetPlayerName(playerid, pName, sizeof(pName)); new query[256]; format(query, sizeof(query), "UPDATE gang_members SET role = '%s' WHERE player_name = '%s' AND gang_id = %d", PlayerGang[playerid][pRole], pName, PlayerGang[playerid][pGangID]); mysql_query(g_SQL, query); return 1; } forward SaveAllGangs(); public SaveAllGangs() { for(new i = 0; i < GangCount; i++) { if(GangData[i][gLoaded]) { new query[256]; format(query, sizeof(query), "UPDATE gangs SET level = %d, money = %d, turf = '%s' WHERE id = %d", GangData[i][gLevel], GangData[i][gMoney], GangData[i][gTurf], GangData[i][gID]); mysql_query(g_SQL, query); } } print("[GangWar] All gangs saved to database."); return 1; } UpdateGangMoney(gangID) { if(gangID < 0 || gangID >= GangCount) return 1; if(!GangData[gangID][gLoaded]) return 1; new query[128]; format(query, sizeof(query), "UPDATE gangs SET money = %d WHERE id = %d", GangData[gangID][gMoney], GangData[gangID][gID]); mysql_query(g_SQL, query); return 1; } CreateZoneLabels() { for(new i = 0; i < ZoneCount; i++) { new label[64]; format(label, sizeof(label), "%s\nТерритория", ZoneData[i][zName]); g_ZoneLabels[i] = Create3DTextLabel(label, COLOR_WHITE, ZoneData[i][zX], ZoneData[i][zY], ZoneData[i][zZ] + 3.0, 50.0, 0, 0); } UpdateZoneLabels(); return 1; } UpdateZoneLabels() { for(new i = 0; i < ZoneCount; i++) { new label[128]; if(ZoneData[i][zOwner] != -1 && GangData[ZoneData[i][zOwner]][gLoaded]) { format(label, sizeof(label), "%s\nВладелец: %s", ZoneData[i][zName], GangData[ZoneData[i][zOwner]][gName]); }

progress = ZoneData[zoneid][zCaptureProgress]; if(progress > 100) progress = 100; if(progress < 0) progress = 0; if(progress >= 100) { CaptureZone(zoneid, gangID); return 1; } if(progress % 10 == 0) { new msg[128]; format(msg, sizeof(msg), "[WAR] Захват %s: %d%%", ZoneData[zoneid][zName], progress); SendClientMessageToAll(COLOR_YELLOW, msg); } return 1; } forward StopCapture(zoneid); public StopCapture(zoneid) { if(zoneid < 0 || zoneid >= ZoneCount) return 1; ZoneData[zoneid][zCapturing] = false; ZoneData[zoneid][zCaptureProgress] = 0; ZoneData[zoneid][zCaptureGang] = -1; if(ZoneData[zoneid][zCaptureTimer] != -1) { KillTimer(ZoneData[zoneid][zCaptureTimer]); ZoneData[zoneid][zCaptureTimer] = -1; } return 1; } forward CaptureZone(zoneid, gangID); public CaptureZone(zoneid, gangID) { if(zoneid < 0 || zoneid >= ZoneCount) return 1; if(gangID < 0 || gangID >= GangCount) return 1; if(!GangData[gangID][gLoaded]) return 1; new oldOwner = ZoneData[zoneid][zOwner]; ZoneData[zoneid][zOwner] = gangID; format(GangData[gangID][gTurf], 32, "%s", ZoneData[zoneid][zName]); new query[256]; format(query, sizeof(query), "UPDATE gangs SET turf = '%s' WHERE id = %d", ZoneData[zoneid][zName], gangID); mysql_query(g_SQL, query); format(query, sizeof(query), "INSERT INTO turfs (gang_id, zone_name) VALUES (%d, '%s') ON DUPLICATE KEY UPDATE gang_id = %d", gangID, ZoneData[zoneid][zName], gangID); mysql_query(g_SQL, query); GangData[gangID][gMoney] += 5000; UpdateGangMoney(gangID); new msg[128]; format(msg, sizeof(msg), "[WAR] Территория %s захвачена семьей %s!", ZoneData[zoneid][zName], GangData[gangID][gName]); SendClientMessageToAll(COLOR_GREEN, msg); if(oldOwner != -1 && GangData[oldOwner][gLoaded]) { format(msg, sizeof(msg), "[WAR] %s потеряла территорию %s!", GangData[oldOwner][gName], ZoneData[zoneid][zName]); SendClientMessageToAll(COLOR_RED, msg); GangData[oldOwner][gTurf] = "None"; } StopCapture(zoneid); UpdateZoneLabels(); return 1; } LoadGangsFromDB() { new query[128]; format(query, sizeof(query), "SELECT * FROM gangs"); mysql_query(g_SQL, query); new rows = mysql_num_rows(g_SQL); if(rows == 0) { mysql_free_result(g_SQL); print("No gangs found in database."); return 1; } new row[128]; new field[32]; new gangIndex = 0; for(new i = 0; i < rows; i++) { mysql_fetch_row(g_SQL, row); mysql_get_field("id", field); GangData[gangIndex][gID] = strval(field); mysql_get_field("name", field); format(GangData[gangIndex][gName], 32, "%s", field); mysql_get_field("tag", field); format(GangData[gangIndex][gTag], 16, "%s", field); mysql_get_field("leader", field); format(GangData[gangIndex][gLeader], MAX_PLAYER_NAME, "%s", field); mysql_get_field("level", field); GangData[gangIndex][gLevel] = strval(field); mysql_get_field("money", field); GangData[gangIndex][gMoney] = strval(field); mysql_get_field("turf", field); format(GangData[gangIndex][gTurf], 32, "%s", field); GangData[gangIndex][gLoaded] = true; GangData[gangIndex][gMemberCount] = 0; gangIndex++; } GangCount = gangIndex; mysql_free_result(g_SQL); for(new i = 0; i < GangCount; i++) { format(query, sizeof(query), "SELECT COUNT(*) FROM gang_members WHERE gang_id = %d", GangData[i][gID]); mysql_query(g_SQL, query); mysql_fetch_row(g_SQL, row); GangData[i][gMemberCount] = strval(row); mysql_free_result(g_SQL); } print("Loaded gangs: "); return 1; } LoadZonesFromDB() { new query[256];