Squirrel

Объявление

Ru-hoster - качественный хостинг Web Hosting Хостинг Облачные VPS сервера от 3.60$ под ваши проекты

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Squirrel » Вопрос/Ответ » 2 вопроса


2 вопроса

Сообщений 1 страница 30 из 44

1

Здравствуйте у меня 2 вопроса!
1. Подскажите как сделать команду покраски например /buycolor.
2. Как сделать чтоб через админку можно было менять погоду.
3. И ещё один вопросик у меня появился:)).Как сделать так что бы когда ты подходил к боту тебе он отвечал например."Здравствуйте я инструктор!Хотите сдать на права?тогда вы по адресу"
Версия клиента T3
Заранее спасибо:)

Отредактировано Sanya (2013-01-29 18:30:38)

0

2

Попробуй так

Код:
local cmd = split(command, " ");
	if(cmd[0] == "/buycolor") {
    if(cmd.len() == 3) {
    	if(isPlayerInAnyVehicle(playerid)) {
        local vehicle = getPlayerVehicleId(playerid);
        setVehicleColor(vehicle, cmd[1].tointeger(), cmd[2].tointeger(), 1, 1);
        givePlayerMoney(playerid, -100);
    	}
    }
	}

0

3

Спасибо я сам уже разобрался с этой командой!Не подскажите как сделать так?
2. Как сделать чтоб через админку можно было менять погоду.
3. И ещё один вопросик у меня появился:)).Как сделать так что бы когда ты подходил к боту тебе он отвечал например."Здравствуйте я инструктор!Хотите сдать на права?тогда вы по адресу"

0

4

Код:
if(cmd[0] == "/weather") 
    {
    if(cmd.len() != 2) return sendPlayerMessage(playerid, "Usage: /weather [1-10]", 0xFF9900AA);
    if(Admin[playerid] <= 3) return sendPlayerMessage(playerid, "Нет прав на использование этой команды", 0xFF9900AA);
    if(cmd[1] == "1")
    {
    	setPlayerWeather(playerid, 1);
    	sendPlayerMessage(playerid, "You set your weather to extra snnny", 0xFFDE00CF, true);
    }
    if(cmd[1] == "2")
    {
    	setPlayerWeather(playerid, 2);
    	sendPlayerMessage(playerid, "You set your weather to snnny", 0xFFDE00CF, true);
    }
    if(cmd[1] == "3")
    {
    	setPlayerWeather(playerid, 3);
    	sendPlayerMessage(playerid, "You set your weather to sunny and windy", 0xFFDE00CF, true);
    }
    if(cmd[1] == "4")
    {
    	setPlayerWeather(playerid, 4);
    	sendPlayerMessage(playerid, "You set your weather to cloudy", 0xFFDE00CF, true);
    }
    if(cmd[1] == "5")
    {
    	setPlayerWeather(playerid, 5);
    	sendPlayerMessage(playerid, "You set your weather to raining", 0xFFDE00CF, true);
    }
    if(cmd[1] == "6")
    {
    	setPlayerWeather(playerid, 6);
    	sendPlayerMessage(playerid, "You set your weather to drizzle", 0xFFDE00CF, true);
    }
    if(cmd[1] == "7")
    {
    	setPlayerWeather(playerid, 7);
    	sendPlayerMessage(playerid, "You set your weather to foggy", 0xFFDE00CF, true);
    }
    if(cmd[1] == "8")
    {
    	setPlayerWeather(playerid, 8);
    	sendPlayerMessage(playerid, "You set your weather to Thunderstorm", 0xFFDE00CF, true);
    }
    if(cmd[1] == "9")
    {
    	setPlayerWeather(playerid, 9);
    	sendPlayerMessage(playerid, "You set your weather to Extra sunny 2", 0xFFDE00CF, true);
    }
    if(cmd[1] == "10")
    {
    	setPlayerWeather(playerid, 10);
    	sendPlayerMessage(playerid, "You set your weather to Sunny and windy 2", 0xFFDE00CF, true);
    }
    return 1;
    }

Admin[playerid] заменить на свою переменную

0

5

А на счет бота, тет можно использовать функцию

Код:
sayActorSpeech(actorid, "JIMMY_PEGORINO", "GET_OUT_OF_HERE");

но вроде там только он может говорить только тексты которые в игре.
Больше не знаю пока нет наверное такой функции
http://wiki.iv-multiplayer.com/wiki/ind … ctorSpeech

0

6

С погодой все отлично большое спасибо
У меня возникла проблема с /buycolor думал разобрался а не фига....Как сделать так когда подъижаешь в определенное место пишешь /buycolor и машинка краситься .
И насчет бота по подробней можно пожалуйста как сделать.))

Отредактировано Sanya (2013-01-30 12:48:01)

0

7

Код:
if(cmd[0] == "/buycolor") {
    if(playerToPoint(playerid, 2.0, коры, коры, коры)) {
    	if(cmd.len() == 3) {
        if(isPlayerInAnyVehicle(playerid)) {
        	local vehicle = getPlayerVehicleId(playerid);
        	setVehicleColor(vehicle, cmd[1].tointeger(), cmd[2].tointeger(), 1, 1);
        	givePlayerMoney(playerid, -100);
        }
    	}
    }
	}

playerToPoint

0

8

не работает.Может не так делаю
К local добавил

Код:
local cmd = split(command, " ");

потом к командам

Код:
if(cmd[0] == "/buycolor") {
    if(playerToPoint(playerid, 2.0, 109.371384, 1136.905518, 14.558421)) 
    {
    	if(cmd.len() == 3) {
        if(isPlayerInAnyVehicle(playerid)) {
        	local vehicle = getPlayerVehicleId(playerid);
        	setVehicleColor(vehicle, cm92.255.176.32:9999d[1].tointeger(), cmd[2].tointeger(), 1, 1);
        	givePlayerMoney(playerid, -100);
        }
    	}
    }
	}

И не работает 0 внимания
И ещё вопрос. Как сделать что бы значки только на главной карте показывались а на радаре толь ко те которые находятся по близости.

Отредактировано Sanya (2013-01-30 13:31:17)

0

9

Код:
function onPlayerCommand(playerid, command)
{
	local cmd = split(command, " ");
        if(cmd[0] == "/buycolor") {
        if(playerToPoint(playerid, 2.0, 109.371384, 1136.905518, 14.558421)) 
        {
    	     if(cmd.len() == 3) {
            if(isPlayerInAnyVehicle(playerid)) {
        	local vehicle = getPlayerVehicleId(playerid);
        	setVehicleColor(vehicle, cmd[1].tointeger(), cmd[2].tointeger(), 1, 1);
        	givePlayerMoney(playerid, -100);
            }
    	}
    }
	}
}
addEvent("playerCommand", onPlayerCommand);

function playerToPoint(playerid, radius, x, y, z)
{
	local playerpos = getPlayerCoordinates(playerid);
	return isPointInBall(x, y, z, playerpos[0], playerpos[1], playerpos[2], radius);
}

так получается.
Я не знаю есть ли вообще функция setVehicleColor в Т3
http://wiki.iv-multiplayer.com/wiki/ind … hicleColor

0

10

А на счет ближайших вот пример
http://forum.iv-multiplayer.com/index.p … 478.0.html

0

11

Вот я добавил

Код:
local atm = [
	[211.493286, -207.398773, 10.755931], [-522.286560, 969.959778, 8.557680],    
	[81.721191, 674.163818, 14.668252], [78.331909, -339.338379, 11.169301],     
	[-280.921021, 1358.058838, 25.637440], [123.207695, -667.341370, 14.771728],    
	[950.865051, -246.908035, 15.874080], [-17.313923, -468.282135, 15.412236],    
	[-1110.233643, -376.305206, 3.197416], [-434.134613, 232.745605, 12.274262],    
	[65.092522, 803.410217, 15.163138], [330.868683, -709.673584, 5.09505],    
	[-350.831177, -630.257568, 4.940412], [-1240.656372, 1085.132446, 19.785316],    
	[-1075.078857, 1471.531738, 24.791849], [-1005.995117, 1626.311401, 24.318979],    
	[-1187.520508, 1597.160156, 35.010738], [-1215.524780, 1670.111328, 35.418251],
 [-1654.814453, 604.678711, 28.414637], [-413.581512, 1319.374146, 17.135017],
 [970.992004, -173.327850, 24.198725], [-334.950409, 1394.836304, 12.918186],
 [-148.075516, 1644.817871, 20.569912], [110.264305, 1138.230225, 14.558404],
 [56.707855, 1115.843994, 3.166997], [2246.583008, 615.062561, 5.813160],
 [-32.293858, -118.978653, 14.768418], [-478.938141, -209.323120, 7.749002],
 [1050.517822, 822.541382, 31.726810], [1642.954956, 226.305939, 25.216974],
 [-431.092194, 1194.583984, 13.052014], [-1497.499634, 1119.075317, 23.213762],
 [1032.907471, 293.568207, 32.037388], [-120.889969, -256.323334, 12.691925],
 [1191.115723, 1696.230835, 17.726774], [-1578.903076, 15.851748, 10.015328],
 [-1070.497803, 250.688278, 8.770545], [-172.776062, 288.375610, 14.825078],
 [1110.057007, 1587.307617, 16.912527], [-617.168762, 136.734680, 4.816164],
 [449.056549, 1504.671875, 16.320711], [1199.757080, -654.151489, 16.849855],
 [-123.331154, 70.562881, 14.808045], [1186.412354, 362.221741, 25.108282],
 [-433.395508, 452.707153, 10.399960], [1142.703247, 739.112610, 35.520061],
 [935.890869, -492.201965, 15.489689], [937.353271, -554.688904, 14.127671],
 [1197.904541, 635.559753, 38.686451], [52.161125, 522.008667, 14.663062],
 [52.562008, 514.338989, 14.688434], [-1476.846558, 655.848511, 20.070127],
 [-1243.296997, 1125.521484, 19.577259], [-948.770691, 1482.877075, 24.817621],
 [573.522705, 1399.786743, 10.989782], [-393.529602, 1203.099731, 14.763377],
 [892.340881, -498.311218, 19.407339], [564.016357, 235.445938, 13.774999],
 [-428.332825, 1451.402344, 39.108452], [21.921730, 803.184570, 14.766825],
 [815.136414, -265.249237, 15.342730], [-1514.240356, -592.310730, 3.007328],
 [-1238.093140, 1855.889771, 6.624396], [-1096.479980, 677.236877, 8.767212],
 [-1590.132568, -318.471527, -2.877428], [715.064758, -359.004517, 5.942504],
 [-1301.557495, 527.653137, 12.516341], [-1236.584351, 1854.772095, 6.624391],
 [944.303894, 1660.428467, 16.266426], 
];

Не работает)

0

12

нужно делать с таймером
в onScriptInit

Код:
timer(proverka, 3000, -1);

ко всем local

Код:
local atm = [
	[211.493286, -207.398773, 10.755931], [-522.286560, 969.959778, 8.557680],    
	[81.721191, 674.163818, 14.668252], [78.331909, -339.338379, 11.169301],     
	[-280.921021, 1358.058838, 25.637440], [123.207695, -667.341370, 14.771728],    
	[950.865051, -246.908035, 15.874080], [-17.313923, -468.282135, 15.412236],    
	[-1110.233643, -376.305206, 3.197416], [-434.134613, 232.745605, 12.274262],    
	[65.092522, 803.410217, 15.163138], [330.868683, -709.673584, 5.09505],    
	[-350.831177, -630.257568, 4.940412], [-1240.656372, 1085.132446, 19.785316],    
	[-1075.078857, 1471.531738, 24.791849], [-1005.995117, 1626.311401, 24.318979],    
	[-1187.520508, 1597.160156, 35.010738], [-1215.524780, 1670.111328, 35.418251],
 [-1654.814453, 604.678711, 28.414637], [-413.581512, 1319.374146, 17.135017],
 [970.992004, -173.327850, 24.198725], [-334.950409, 1394.836304, 12.918186],
 [-148.075516, 1644.817871, 20.569912], [110.264305, 1138.230225, 14.558404],
 [56.707855, 1115.843994, 3.166997], [2246.583008, 615.062561, 5.813160],
 [-32.293858, -118.978653, 14.768418], [-478.938141, -209.323120, 7.749002],
 [1050.517822, 822.541382, 31.726810], [1642.954956, 226.305939, 25.216974],
 [-431.092194, 1194.583984, 13.052014], [-1497.499634, 1119.075317, 23.213762],
 [1032.907471, 293.568207, 32.037388], [-120.889969, -256.323334, 12.691925],
 [1191.115723, 1696.230835, 17.726774], [-1578.903076, 15.851748, 10.015328],
 [-1070.497803, 250.688278, 8.770545], [-172.776062, 288.375610, 14.825078],
 [1110.057007, 1587.307617, 16.912527], [-617.168762, 136.734680, 4.816164],
 [449.056549, 1504.671875, 16.320711], [1199.757080, -654.151489, 16.849855],
 [-123.331154, 70.562881, 14.808045], [1186.412354, 362.221741, 25.108282],
 [-433.395508, 452.707153, 10.399960], [1142.703247, 739.112610, 35.520061],
 [935.890869, -492.201965, 15.489689], [937.353271, -554.688904, 14.127671],
 [1197.904541, 635.559753, 38.686451], [52.161125, 522.008667, 14.663062],
 [52.562008, 514.338989, 14.688434], [-1476.846558, 655.848511, 20.070127],
 [-1243.296997, 1125.521484, 19.577259], [-948.770691, 1482.877075, 24.817621],
 [573.522705, 1399.786743, 10.989782], [-393.529602, 1203.099731, 14.763377],
 [892.340881, -498.311218, 19.407339], [564.016357, 235.445938, 13.774999],
 [-428.332825, 1451.402344, 39.108452], [21.921730, 803.184570, 14.766825],
 [815.136414, -265.249237, 15.342730], [-1514.240356, -592.310730, 3.007328],
 [-1238.093140, 1855.889771, 6.624396], [-1096.479980, 677.236877, 8.767212],
 [-1590.132568, -318.471527, -2.877428], [715.064758, -359.004517, 5.942504],
 [-1301.557495, 527.653137, 12.516341], [-1236.584351, 1854.772095, 6.624391],
 [944.303894, 1660.428467, 16.266426], 
];

потом

Код:
function proverka()
{
    foreach(playerid, name in getPlayers()) {
    for( local i = 0; i< atm.len(); i++)
	{
                local Index = getNearestCoordinates( 20.0, 0.0 );
    blip = createBlip(32, atm[Index][0], atm[Index][1], atm[Index][2], true);
    setBlipName(blip,"ATM");
	}
	}
	return true;
}
Код:
function getNeaCoordinates( x, y ) {
	local Dist = array(atm.len());

	for( local i = 0; i<atm.len(); i++ ) {
    Dist[i] = (getDistanceBetweenPoints2D( atm[i][0], atm[i][1], x, y ).tostring() + i).tointeger();
	}
	return Dist[0] % 10;
}

Попробуй так
таймер делай как на Т3

0

13

Спасибо за ответ.Добавил сегодня не получилось серв запустился только авторизировался и пишет *FUNCTION [proverka()] C:\Users\comp\Desktop\ivmp\мод\aws\scripts/new mod.nut line [194]
Делал все как вы написали помогите пожалуйста а то значки по всей карте не удобно))

Отредактировано Sanya (2013-02-03 13:06:58)

0

14

А почему вы не хотите перейти на версию RC2. Чем T3 лучше.
В RC3 добавлена функция 3DLebel как на самп
Я не использовал T3 и не знаю какие там функции так что извините.

0

15

rc 3 это еще в разработке и там свои не достатки что качаеться рк 2 там вылета как и в рк1  ........На нагруженом моде не сможешь даже 3 человека не смогут играть а на стандартном все норм Ладно спасибо за остальное

Отредактировано Sanya (2013-02-04 07:43:29)

0

16

Тут у меня ошибка. Попробуй так

Код:
function proverka()
{
        local Index = getNearestCoordinates( 20.0, 0.0 );
        local blip = createBlip(32, atm[Index][0], atm[Index][1], atm[Index][2], true);
        setBlipName(blip,"ATM");
	return true;
}
Код:
function getNearestCoordinates( x, y ) {
	local Distance 	= array(atm.len());

	for( local i = 0; i<atm.len(); i++ ) {
    Distance[i] = (getDistanceBetweenPoints2D( atm[i][0], atm[i][1], x, y ).tostring() + i).tointeger();
	}
	Distance.sort(@(a,b) a <=> b);
	return Distance[0] % 10;
}

0

17

[2013-02-05 18:32:02] *FUNCTION [proverka()] C:\Users\comp\Desktop\мод\scripts/ mod.nut line [16524]
[2013-02-05 18:32:02] LOCALS
[2013-02-05 18:32:02] [atm] ARRAY
[2013-02-05 18:32:02] [Index] 0
[2013-02-05 18:32:02] [this] TABLE
Не канает ошибачка таже блин что же делать......

0

18

Выложи линии 16523-16524

0

19

у меня там бизнес оружейки ))Жалко очень карта в значках на радаре не удобно не видно

Отредактировано Sanya (2013-02-06 15:02:48)

0

20

Код:
function getNearestCoordinates( x, y ) {
	local Distance 	= array(atm.len());

	for( local i = 0; i<atm.len(); i++ ) {
    Distance[i] = (getDistanceBetweenPoints2D( atm[i][0], atm[i][1], x, y ).tostring() + i).tointeger();
	}
	Distance.sort(@(x,y) x <=> y);
	return Distance[0] % 10;
}

0

21

ошибок нет но нет но не работает на радаре всеравно все значки

0

22

Черт! Я почему-то не могу разобраться! Вроде все делаю, как вы пишите, но значки не скрываются! Помогите пожалуйста!!!

0

23

Vinste
А вы для какой версии сервера делаете мод?

+1

24

Aleks_X, я сервер делаю для IV:MP 0.1 T3. Хотел перейти на RC2, но у меня вылетает очень часто, даже 5 минут не проходит. :( И функция со скрыванием дальних блипов самая необходимая, Т.К значков довольно много.

Отредактировано Vinste (2014-08-29 21:47:24)

0

25

Можно наверное просто сделать проверку в нахождении в какой то зоне, тогда появляются блипы.

0

26

Aleks_X, я вот делаю все, как вы писали, но пу меня все блипы остаются на своих местах. и еще, у меня выдает [Wrong number of parameters] при создании блипов. я убираю "true", тогда пускает, но ничего не исчезает... :(

0

27

а вот еще, вспомнил. в local atm надо ведь координаты значков вставлять? я вставляю, но у меня один значек появляется и все... И это, Aleks_X,  у вас нет дефолтного мода для rc3? замучился искать. клиент нашел, а мод нет...

0

28

Вот есть файл. С последнего релиза RC3
Ссылка

0

29

А с блипами поможете? очень прошу, помогите... на радаре очень неудобно...

Отредактировано Vinste (2014-08-31 09:25:05)

0

30

Вот нашел самый простой способ. Мы просто изменяем позицию иконки

Код:
local blips;

local atm = [
	[211.493286, -207.398773, 10.755931], [-522.286560, 969.959778, 8.557680],    
	[81.721191, 674.163818, 14.668252], [78.331909, -339.338379, 11.169301],     
	[-280.921021, 1358.058838, 25.637440], [123.207695, -667.341370, 14.771728],    
	[950.865051, -246.908035, 15.874080], [-17.313923, -468.282135, 15.412236],    
	[-1110.233643, -376.305206, 3.197416], [-434.134613, 232.745605, 12.274262],    
	[65.092522, 803.410217, 15.163138], [330.868683, -709.673584, 5.09505],    
	[-350.831177, -630.257568, 4.940412], [-1240.656372, 1085.132446, 19.785316],    
	[-1075.078857, 1471.531738, 24.791849], [-1005.995117, 1626.311401, 24.318979],    
	[-1187.520508, 1597.160156, 35.010738], [-1215.524780, 1670.111328, 35.418251],
 [-1654.814453, 604.678711, 28.414637], [-413.581512, 1319.374146, 17.135017],
 [970.992004, -173.327850, 24.198725], [-334.950409, 1394.836304, 12.918186],
 [-148.075516, 1644.817871, 20.569912], [110.264305, 1138.230225, 14.558404],
 [56.707855, 1115.843994, 3.166997], [2246.583008, 615.062561, 5.813160],
 [-32.293858, -118.978653, 14.768418], [-478.938141, -209.323120, 7.749002],
 [1050.517822, 822.541382, 31.726810], [1642.954956, 226.305939, 25.216974],
 [-431.092194, 1194.583984, 13.052014], [-1497.499634, 1119.075317, 23.213762],
 [1032.907471, 293.568207, 32.037388], [-120.889969, -256.323334, 12.691925],
 [1191.115723, 1696.230835, 17.726774], [-1578.903076, 15.851748, 10.015328],
 [-1070.497803, 250.688278, 8.770545], [-172.776062, 288.375610, 14.825078],
 [1110.057007, 1587.307617, 16.912527], [-617.168762, 136.734680, 4.816164],
 [449.056549, 1504.671875, 16.320711], [1199.757080, -654.151489, 16.849855],
 [-123.331154, 70.562881, 14.808045], [1186.412354, 362.221741, 25.108282],
 [-433.395508, 452.707153, 10.399960], [1142.703247, 739.112610, 35.520061],
 [935.890869, -492.201965, 15.489689], [937.353271, -554.688904, 14.127671],
 [1197.904541, 635.559753, 38.686451], [52.161125, 522.008667, 14.663062],
 [52.562008, 514.338989, 14.688434], [-1476.846558, 655.848511, 20.070127],
 [-1243.296997, 1125.521484, 19.577259], [-948.770691, 1482.877075, 24.817621],
 [573.522705, 1399.786743, 10.989782], [-393.529602, 1203.099731, 14.763377],
 [892.340881, -498.311218, 19.407339], [564.016357, 235.445938, 13.774999],
 [-428.332825, 1451.402344, 39.108452], [21.921730, 803.184570, 14.766825],
 [815.136414, -265.249237, 15.342730], [-1514.240356, -592.310730, 3.007328],
 [-1238.093140, 1855.889771, 6.624396], [-1096.479980, 677.236877, 8.767212],
 [-1590.132568, -318.471527, -2.877428], [715.064758, -359.004517, 5.942504],
 [-1301.557495, 527.653137, 12.516341], [-1236.584351, 1854.772095, 6.624391],
 [944.303894, 1660.428467, 16.266426], 
];

function onScriptInit()

Код:
timer(proverka, 300, -1);
	
	blips = createBlip(32, atm[0][0], atm[0][1], atm[0][2], true);
Код:
function proverka() {
	foreach(playerid, playername in getPlayers()) {
    for(local i = 0; i < atm.len(); i++) {
    	if(playerToPoint(playerid, 200.0, atm[i][0], atm[i][1], atm[i][2])) {
        setBlipName(blips,"ATM");
        setBlipPosition(blips, atm[i][0], atm[i][1], atm[i][2]);
    	}
    }
	}
	return true;
}

function playerToPoint(playerid, radius, x, y, z) {
	local playerpos = getPlayerCoordinates(playerid);
	return isPointInBall(x, y, z, playerpos[0], playerpos[1], playerpos[2], radius);
}

0


Вы здесь » Squirrel » Вопрос/Ответ » 2 вопроса


Рейтинг форумов | Создать форум бесплатно