An2d1s 0 Опубликовано 28 июня, 2019 Дорогие форумчане, подскажите как сделать по принципу: /fire и пишешь координаты, по принципу (/setpos), только на этих координатах образуется взрыв. Подскажите пожалуйста. Из скриптеров просто никто не хочет помочь, вся надежда на вас. Пример: /fire (x, y, z). на x,y,z -взрыв Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Shao 116 Опубликовано 28 июня, 2019 CreateExplosion(если для определенного игрока CreateExplosionForPlayer) - это взрыв(с помощью него же и сделаешь /setpos(т.к в этой функции есть аргументы x, y, z). Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
An2d1s 0 Опубликовано 28 июня, 2019 CMD:fire(playerid, params[]) new Float:x, Float:y, Float:z; if(sscanf(params, "p<,>fff", x, y, z)) return SendClientMessage(playerid, -1, "Введи /fire [X] [Y] [Z]."); // Проверка, введены ли все координаты CreateExplosion(playerid, x,y,z) } Так? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Shao 116 Опубликовано 28 июня, 2019 (изменено) 1 час назад, An2d1s сказал: CMD:fire(playerid, params[]) new Float:x, Float:y, Float:z; if(sscanf(params, "p<,>fff", x, y, z)) return SendClientMessage(playerid, -1, "Введи /fire [X] [Y] [Z]."); // Проверка, введены ли все координаты CreateExplosion(playerid, x,y,z) } Так? Так, но вот тебе мой вариант: CMD:fire(playerid, params[]) { if(sscanf(params,"fff",params[0], params[1], params[2])) return SCM(playerid, -1, "Используйте: /fire [x], [y], [z]); CreateExplosion(playerid, params[0], params[1], params[2]); return true; } Изменено 28 июня, 2019 пользователем Shao Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
An2d1s 0 Опубликовано 28 июня, 2019 (изменено) CreateExplosion(playerid, params[0], params[1], params[2]); :\Users\79010\Downloads\Cr-Mp 0.3e Server\gamemodes\Survival.pwn(9242) : warning 202: number of arguments does not match definition ошибка в данной строчке Изменено 28 июня, 2019 пользователем An2d1s Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Shao 116 Опубликовано 28 июня, 2019 15 минут назад, An2d1s сказал: if(sscanf(params,"fff",params[0], params[1], params[2])) return SCM(playerid, -1, "Используйте: /fire [x], [y], [z]); C:\Users\79010\Downloads\Cr-Mp 0.3e Server\gamemodes\Survival.pwn(9231) : error 037: invalid string (possibly non-terminated string) C:\Users\79010\Downloads\Cr-Mp 0.3e Server\gamemodes\Survival.pwn(9231) : error 029: invalid expression, assumed zero C:\Users\79010\Downloads\Cr-Mp 0.3e Server\gamemodes\Survival.pwn(9231) : error 029: invalid expression, assumed zero C:\Users\79010\Downloads\Cr-Mp 0.3e Server\gamemodes\Survival.pwn(9231) : fatal error 107: too many error messages on one line ошибки в данной строчке #define SCM SendClientMessage(если нет). Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
An2d1s 0 Опубликовано 28 июня, 2019 Эти 4-ре ошибки пофиксил, там кавычек не было кое где) одна вот ошибка осталасьCreateExplosion(playerid, params[0], params[1], params[2]);:\Users\79010\Downloads\Cr-Mp 0.3e Server\gamemodes\Survival.pwn(9242) : warning 202: number of arguments does not match definitionошибка в данной строчке Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Shao 116 Опубликовано 28 июня, 2019 Несовпадения аргументов, значит делаем следующее: CMD:fire(playerid, params[]) { if(sscanf(params,"fffuf",params[0], params[1], params[2], params[3], params[4]) return SCM(playerid, -1, "Используйте: /fire [x], [y], [z]); CreateExplosion(playerid, params[0], params[1], params[2], params[3], params[4]); return true; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
An2d1s 0 Опубликовано 29 июня, 2019 Всё также: C:\Users\79010\Downloads\Cr-Mp 0.3e Server\gamemodes\Survival.pwn(9243) : warning 202: number of arguments does not match definition 9243: CreateExplosion(playerid, params[0], params[1], params[2], params[3], params[4]); Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Weishaypt 12 Опубликовано 29 июня, 2019 CMD:fire(playerid, params[]) { if(sscanf(params,"fffuf",params[0], params[1], params[2], params[3], params[4]) return SCM(playerid, -1, "Используйте: /fire [x], [y], [z]); CreateExplosion(params[0], params[1], params[2], params[3], params[4]); return true; } Вот рабочий пример. playerid - для этой функции не требуется, если хотите для определённого игрока, то тогда используйте функцию CreateExplosionForPlayer, но она была добавлена только в SAMP 0.3z, так что в CRMP 0.3e не прокатит. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Shao 116 Опубликовано 29 июня, 2019 Только что, An2d1s сказал: Всё также: C:\Users\79010\Downloads\Cr-Mp 0.3e Server\gamemodes\Survival.pwn(9243) : warning 202: number of arguments does not match definition 9243: CreateExplosion(playerid, params[0], params[1], params[2], params[3], params[4]); CMD:fire(playerid, params[]) { if(sscanf(params,"fffuf",params[0], params[1], params[2], params[3], params[4]) return SCM(playerid, -1, "Используйте: /fire [x],[y],[z] [ид взрыва);// ещё для удобства радиус допиши. GetPlayerPos(playerid, params[0], params[1], params[2]); CreateExplosion(playerid, params[0], params[1], params[2], params[3], params[4]); return true; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
An2d1s 0 Опубликовано 29 июня, 2019 (изменено) C:\Users\79010\Downloads\Cr-Mp 0.3e Server\gamemodes\Survival.pwn(9243) : warning 213: tag mismatch C:\Users\79010\Downloads\Cr-Mp 0.3e Server\gamemodes\Survival.pwn(9243) : warning 213: tag mismatch C:\Users\79010\Downloads\Cr-Mp 0.3e Server\gamemodes\Survival.pwn(9243) : warning 213: tag mismatch C:\Users\79010\Downloads\Cr-Mp 0.3e Server\gamemodes\Survival.pwn(9244) : warning 202: number of arguments does not match definition =9 9243: GetPlayerPos(playerid, params[0], params[1], params[2]); 9244: CreateExplosion(playerid, params[0], params[1], params[2], params[3], params[4]); Изменено 29 июня, 2019 пользователем An2d1s Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Shao 116 Опубликовано 29 июня, 2019 18 минут назад, An2d1s сказал: C:\Users\79010\Downloads\Cr-Mp 0.3e Server\gamemodes\Survival.pwn(9243) : warning 213: tag mismatch C:\Users\79010\Downloads\Cr-Mp 0.3e Server\gamemodes\Survival.pwn(9243) : warning 213: tag mismatch C:\Users\79010\Downloads\Cr-Mp 0.3e Server\gamemodes\Survival.pwn(9243) : warning 213: tag mismatch C:\Users\79010\Downloads\Cr-Mp 0.3e Server\gamemodes\Survival.pwn(9244) : warning 202: number of arguments does not match definition =9 9243: GetPlayerPos(playerid, params[0], params[1], params[2]); 9244: CreateExplosion(playerid, params[0], params[1], params[2], params[3], params[4]); CMD:fire(playerid, params[]) { new Float:coordi[3]; if(sscanf(params,"fffuf",params[0], params[1], params[2], params[3], params[4])) return SCM(playerid, -1, "Используйте: /fire [x],[y],[z] [ид взрыва]"); GetPlayerPos(playerid, coordi[0], coordi[1], coordi[2]); CreateExplosion(params[0], params[1], params[2], params[3], params[4]); return true; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
An2d1s 0 Опубликовано 29 июня, 2019 Ошибок не выбило, но когда пишу эту команду в чате, прописываю все данные и координаты, просто в чате пишется: Используйте: /fire [x],[y],[z] [ид взрыва] а взрывов самих нет Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Shao 116 Опубликовано 29 июня, 2019 14 минут назад, An2d1s сказал: Ошибок не выбило, но когда пишу эту команду в чате, прописываю все данные и координаты, просто в чате пишется: Используйте: /fire [x],[y],[z] [ид взрыва] а взрывов самих нет CMD:fire(playerid, params[]) { new Float:coordi[4]; if(sscanf(params,"fffuf",coordi[0], coordi[1], coordi[2], params[3], coordi[3])) return SCM(playerid, -1, "Используйте: /fire [x],[y],[z] [ид взрыва] [радиус]"); GetPlayerPos(playerid, coordi[0], coordi[1], coordi[2]); CreateExplosion(coordi[0], coordi[1], coordi[2], params[3], coordi[3]); return true; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
An2d1s 0 Опубликовано 29 июня, 2019 Чувствую на финишной прямой, взрыв образуется, команда работает. Но взрыв появляется не на тех координатах, которые вписал я, а на том месте, где я стою. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Shao 116 Опубликовано 29 июня, 2019 1 час назад, An2d1s сказал: Чувствую на финишной прямой, взрыв образуется, команда работает. Но взрыв появляется не на тех координатах, которые вписал я, а на том месте, где я стою. CMD:fire(playerid, params[]) { new Float:coordi[4]; if(sscanf(params,"fffuf",coordi[0], coordi[1], coordi[2], params[3], coordi[3])) return SCM(playerid, -1, "Используйте: /fire [x],[y],[z] [ид взрыва] [радиус]"); SetPlayerPos(playerid, coordi[0], coordi[1], coordi[2]); CreateExplosion(coordi[0], coordi[1], coordi[2], params[3], coordi[3]); return true; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
An2d1s 0 Опубликовано 29 июня, 2019 Взрыв на координатах появляется, только телепортирует персонажа еще на это место, а нужно, чтобы на месте оставался. Если получится, заплачу, очень помогаешь) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
An2d1s 0 Опубликовано 29 июня, 2019 Уже исправил, можешь пожалуйста дать свой КИВИ, очень помог) Спасибо огромное Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты