ExPRO |
Дата: Среда, 14.05.2014, 15:08 | Сообщение # 1
|
Боец
Сообщений: 181
Статус: Offline
|
Задача кода не дать прорисоваться никам и маркерам игроков на большем, чем нужно, расстоянии. Работоспособность не проверял - хочу, чтобы проверили вы. Код #define NameTagDistance 30.0 new StreamID[MAX_PLAYERS char][MAX_PLAYERS char]; public OnGameModeInit() { SetNameTagDrawDistance(NameTagDistance); SetTimer("CheckRadiusPlayer", 1000, 1); return 1; } public OnPlayerStreamIn(playerid, forplayerid) { StreamID[playerid][forplayerid] = 1; StreamID[forplayerid][playerid] = 1; return 1; } public OnPlayerStreamOut(playerid, forplayerid) { StreamID[playerid][forplayerid] = 0; StreamID[forplayerid][playerid] = 0; return 1; } forward CheckRadiusPlayer(); public CheckRadiusPlayer() { new Float:x, Float:y, Float:z; for(new i = GetMaxPlayers() - 1; i != -1; i--) { if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue; for(new j = GetMaxPlayers() - 1; j != -1; j--) { if(!IsPlayerConnected(j) || IsPlayerNPC(j) || StreamID[i][j] == 0 || StreamID[j][i] == 0) continue; GetPlayerPos(j, x, y, z); if(IsPlayerInRangeOfPoint(i, NameTagDistance, x, y, z)) { ShowPlayerNameTagForPlayer(playerid, forplayerid, 1); ShowPlayerNameTagForPlayer(forplayerid, playerid, 1); SetPlayerMarkerForPlayer(i, j, GetPlayerColor(j) & 0xFFFFFF00); SetPlayerMarkerForPlayer(j, i, GetPlayerColor(i) & 0xFFFFFF00); } else { ShowPlayerNameTagForPlayer(playerid, forplayerid, 0); ShowPlayerNameTagForPlayer(forplayerid, playerid, 0); SetPlayerMarkerForPlayer(i, j, GetPlayerColor(j) | 0x000000FF); SetPlayerMarkerForPlayer(j, i, GetPlayerColor(i) | 0x000000FF); } } } return 1; } Для пущей уверенности я бы не таймер на 1 сек с 2мя циклами сделал, а в OnPlayerUpdate засунул 1 цикл. Код public OnPlayerUpdate(playerid) { new Float:x, Float:y, Float:z; for(new i = GetMaxPlayers() - 1; i != -1; i--) { if(!IsPlayerConnected(i) || IsPlayerNPC(i) || StreamID[i][playerid] == 0 || StreamID[playerid][i] == 0) continue; GetPlayerPos(i, x, y, z); if(IsPlayerInRangeOfPoint(playerid, NameTagDistance, x, y, z)) { ShowPlayerNameTagForPlayer(playerid, i, 1); ShowPlayerNameTagForPlayer(i, playerid, 1); SetPlayerMarkerForPlayer(i, playerid, GetPlayerColor(playerid) & 0xFFFFFF00); SetPlayerMarkerForPlayer(playerid, i, GetPlayerColor(i) & 0xFFFFFF00); } else { ShowPlayerNameTagForPlayer(playerid, i, 0); ShowPlayerNameTagForPlayer(i, playerid, 0); SetPlayerMarkerForPlayer(i, playerid, GetPlayerColor(playerid) | 0x000000FF); SetPlayerMarkerForPlayer(playerid, i, GetPlayerColor(i) | 0x000000FF); } } return 1; }
Автор: O.K.Style Выложил: ExPRO для www.cheat-master.ru
>>> My sa:mp server 176.32.39.43:7777 <<<
|
|
|
|
[CM]Logotipo |
Дата: Вторник, 03.06.2014, 00:35 | Сообщение # 2
|
Авторитет
Сообщений: 1083
Статус: Offline
|
Не рабочий, проверяли на оф.форуме
Скуп ВК RakDroid - прокачка аккаунтов с телефона VKMusic - вк музыка без браузера Делаю сайты/софт/стимботов на заказ
|
|
|
|
[WS]Grenhelgets |
Дата: Понедельник, 01.12.2014, 17:38 | Сообщение # 3
|
|
Добавь в скайп nicelse.ws предложение есть.
|
|
|
|