• 0
Sign in to follow this  
Followers 0

ОПЯЯЯТЬ,проблема с форматированием строк.

Question

AnimeshniK
Свой человек

Помогите,я думал всё починилось т.к я выдал сам себе оружие,но как на сервер пустили игроков я заметил весь косяк.
Пишется [A][GUN] Администратор Alexei_Cheetov выдал оружие Alexei_Cheetov[Это за место ника чела которому выдало пишет свой ник]
Вот оба кода.

CMD:gun(playerid, params[])
{
	if(PlayerInfo[playerid][pAlcoInvenxua] < 5) return true;
	if(sscanf(params, "ddd",params[0],params[1],params[2])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /gun [id] [id оружия /gi] [патроны]");
	if(!IsPlayerConnected(params[0])) return true;
	if(params[2] < 1 || params[2] > 5000) return SendClientMessage(playerid, COLOR_GRAD1, "Нельзя меньше 1 или больше 5000 патронов!");
	if(params[1] < 1 || params[1] > 46) return SendClientMessage(playerid, COLOR_GREY, "ID оружия от 1 до 46!");
	switch(params[1])
	{
		case 38,39,40,1,2,4,9,16..19,20..22,26..28,44,45: return SendClientMessage(playerid, COLOR_GRAD1, "Запрещенное оружие!");
	}
	GiveWeapon(params[0],params[1],params[2]);
	SendClientMessage(playerid, COLOR_GRAD1, "Оружие Выдано!");
	format(stringer1,sizeof(stringer1),"{00FF00}[A][GUN]{FF0000}Администратор %s выдал вам оружие!", PlayerInfo[playerid][pNames], [playerid][pNames]); // ?????? ??????
	SendClientMessage(playerid, COLOR_GRAD1,stringer1); // ????? ??????
	format(stringer1,sizeof(stringer1),"{00FF00}[A][GUN]{FF0000}Администратор %s выдал оружие игроку %s", PlayerInfo[playerid][pNames], PlayerInfo[playerid][pNames]); // ?????? ??????
	SendAdminMessage(COLOR_RED,stringer1); // ????? ??????
	return true;
}
CMD:agun(playerid, params[])
{
	if(PlayerInfo[playerid][pAlcoInvenxua] < 15) return true;
	if(sscanf(params, "ddd",params[0],params[1],params[2])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /agun [id] [id оружия /gi] [патроны]");
	if(!IsPlayerConnected(params[0])) return true;
	if(params[2] < 1 || params[2] > 9999) return SendClientMessage(playerid, COLOR_GRAD1, "Нельзя меньше 1 или больше 9999 патронов!");
	if(params[1] < 1 || params[1] > 46) return SendClientMessage(playerid, COLOR_GREY, "ID оружия от 1 до 46!");
	switch(params[1])
	{
		case 45: return SendClientMessage(playerid, COLOR_GRAD1, "Запрещенное оружие!");
	}
	GiveWeapon(params[0],params[1],params[2]);
	SendClientMessage(playerid, COLOR_GRAD1, "Оружие Выдано!");
	format(stringer1,sizeof(stringer1),"{00FF00}[A][A-GUN]{FF0000}Основатель %s выдал вам оружие!", PlayerInfo[playerid][pNames], PlayerInfo[playerid][pNames]); // ?????? ??????
	SendClientMessage(playerid, COLOR_GRAD1,stringer1); // ????? ??????
	format(stringer1,sizeof(stringer1),"{00FF00}[A][A-GUN]{FF0000}Основатель %s выдал Админ-Оружие игроку %s", PlayerInfo[playerid][pNames]); // ?????? ??????
	SendAdminMessage(COLOR_RED,stringer1); // ????? ??????
	return true;
}

 

Share this post


Link to post

3 answers to this question

  • 0
SCRIPTMAN
Великий Гуру
CMD:gun(playerid, params[])
{
	if(PlayerInfo[playerid][pAlcoInvenxua] < 5) return true;
	if(sscanf(params, "ddd",params[0],params[1],params[2])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /gun [id] [id оружия /gi] [патроны]");
	if(!IsPlayerConnected(params[0])) return true;
	if(params[2] < 1 || params[2] > 5000) return SendClientMessage(playerid, COLOR_GRAD1, "Нельзя меньше 1 или больше 5000 патронов!");
	if(params[1] < 1 || params[1] > 46) return SendClientMessage(playerid, COLOR_GREY, "ID оружия от 1 до 46!");
	switch(params[1])
	{
		case 38,39,40,1,2,4,9,16..19,20..22,26..28,44,45: return SendClientMessage(playerid, COLOR_GRAD1, "Запрещенное оружие!");
	}
	GiveWeapon(params[0],params[1],params[2]);
	SendClientMessage(playerid, COLOR_GRAD1, "Оружие Выдано!");
	format(stringer1,sizeof(stringer1),"{00FF00}[A][GUN]{FF0000}Администратор %s выдал вам оружие!", PlayerInfo[playerid][pNames], [playerid][pNames]); // ?????? ??????
	SendClientMessage(playerid, COLOR_GRAD1,stringer1); // ????? ??????
	format(stringer1,sizeof(stringer1),"{00FF00}[A][GUN]{FF0000}Администратор %s выдал оружие игроку %s", PlayerInfo[playerid][pNames], PlayerInfo[params[0]][pNames]); // ?????? ??????
	SendAdminMessage(COLOR_RED,stringer1); // ????? ??????
	return true;
}
CMD:agun(playerid, params[])
{
	if(PlayerInfo[playerid][pAlcoInvenxua] < 15) return true;
	if(sscanf(params, "ddd",params[0],params[1],params[2])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /agun [id] [id оружия /gi] [патроны]");
	if(!IsPlayerConnected(params[0])) return true;
	if(params[2] < 1 || params[2] > 9999) return SendClientMessage(playerid, COLOR_GRAD1, "Нельзя меньше 1 или больше 9999 патронов!");
	if(params[1] < 1 || params[1] > 46) return SendClientMessage(playerid, COLOR_GREY, "ID оружия от 1 до 46!");
	switch(params[1])
	{
		case 45: return SendClientMessage(playerid, COLOR_GRAD1, "Запрещенное оружие!");
	}
	GiveWeapon(params[0],params[1],params[2]);
	SendClientMessage(playerid, COLOR_GRAD1, "Оружие Выдано!");
	format(stringer1,sizeof(stringer1),"{00FF00}[A][A-GUN]{FF0000}Основатель %s выдал вам оружие!", PlayerInfo[playerid][pNames]); // ?????? ??????
	SendClientMessage(playerid, COLOR_GRAD1,stringer1); // ????? ??????
	format(stringer1,sizeof(stringer1),"{00FF00}[A][A-GUN]{FF0000}Основатель %s выдал Админ-Оружие игроку %s", PlayerInfo[playerid][pNames], PlayerInfo[params[0]][pNames]); // ?????? ??????
	SendAdminMessage(COLOR_RED,stringer1); // ????? ??????
	return true;
}

Держи, подправил тебе там еще чуток. 

Share this post


Link to post
  • 0
AnimeshniK
Свой человек
15 минут назад, SCRIPTMAN сказал:

CMD:gun(playerid, params[])
{
	if(PlayerInfo[playerid][pAlcoInvenxua] < 5) return true;
	if(sscanf(params, "ddd",params[0],params[1],params[2])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /gun [id] [id оружия /gi] [патроны]");
	if(!IsPlayerConnected(params[0])) return true;
	if(params[2] < 1 || params[2] > 5000) return SendClientMessage(playerid, COLOR_GRAD1, "Нельзя меньше 1 или больше 5000 патронов!");
	if(params[1] < 1 || params[1] > 46) return SendClientMessage(playerid, COLOR_GREY, "ID оружия от 1 до 46!");
	switch(params[1])
	{
		case 38,39,40,1,2,4,9,16..19,20..22,26..28,44,45: return SendClientMessage(playerid, COLOR_GRAD1, "Запрещенное оружие!");
	}
	GiveWeapon(params[0],params[1],params[2]);
	SendClientMessage(playerid, COLOR_GRAD1, "Оружие Выдано!");
	format(stringer1,sizeof(stringer1),"{00FF00}[A][GUN]{FF0000}Администратор %s выдал вам оружие!", PlayerInfo[playerid][pNames], [playerid][pNames]); // ?????? ??????
	SendClientMessage(playerid, COLOR_GRAD1,stringer1); // ????? ??????
	format(stringer1,sizeof(stringer1),"{00FF00}[A][GUN]{FF0000}Администратор %s выдал оружие игроку %s", PlayerInfo[playerid][pNames], PlayerInfo[params[0]][pNames]); // ?????? ??????
	SendAdminMessage(COLOR_RED,stringer1); // ????? ??????
	return true;
}
CMD:agun(playerid, params[])
{
	if(PlayerInfo[playerid][pAlcoInvenxua] < 15) return true;
	if(sscanf(params, "ddd",params[0],params[1],params[2])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /agun [id] [id оружия /gi] [патроны]");
	if(!IsPlayerConnected(params[0])) return true;
	if(params[2] < 1 || params[2] > 9999) return SendClientMessage(playerid, COLOR_GRAD1, "Нельзя меньше 1 или больше 9999 патронов!");
	if(params[1] < 1 || params[1] > 46) return SendClientMessage(playerid, COLOR_GREY, "ID оружия от 1 до 46!");
	switch(params[1])
	{
		case 45: return SendClientMessage(playerid, COLOR_GRAD1, "Запрещенное оружие!");
	}
	GiveWeapon(params[0],params[1],params[2]);
	SendClientMessage(playerid, COLOR_GRAD1, "Оружие Выдано!");
	format(stringer1,sizeof(stringer1),"{00FF00}[A][A-GUN]{FF0000}Основатель %s выдал вам оружие!", PlayerInfo[playerid][pNames]); // ?????? ??????
	SendClientMessage(playerid, COLOR_GRAD1,stringer1); // ????? ??????
	format(stringer1,sizeof(stringer1),"{00FF00}[A][A-GUN]{FF0000}Основатель %s выдал Админ-Оружие игроку %s", PlayerInfo[playerid][pNames], PlayerInfo[params[0]][pNames]); // ?????? ??????
	SendAdminMessage(COLOR_RED,stringer1); // ????? ??????
	return true;
}

Держи, подправил тебе там еще чуток. 

Спасибо,щас попробую.

 

16 минут назад, SCRIPTMAN сказал:

CMD:gun(playerid, params[])
{
	if(PlayerInfo[playerid][pAlcoInvenxua] < 5) return true;
	if(sscanf(params, "ddd",params[0],params[1],params[2])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /gun [id] [id оружия /gi] [патроны]");
	if(!IsPlayerConnected(params[0])) return true;
	if(params[2] < 1 || params[2] > 5000) return SendClientMessage(playerid, COLOR_GRAD1, "Нельзя меньше 1 или больше 5000 патронов!");
	if(params[1] < 1 || params[1] > 46) return SendClientMessage(playerid, COLOR_GREY, "ID оружия от 1 до 46!");
	switch(params[1])
	{
		case 38,39,40,1,2,4,9,16..19,20..22,26..28,44,45: return SendClientMessage(playerid, COLOR_GRAD1, "Запрещенное оружие!");
	}
	GiveWeapon(params[0],params[1],params[2]);
	SendClientMessage(playerid, COLOR_GRAD1, "Оружие Выдано!");
	format(stringer1,sizeof(stringer1),"{00FF00}[A][GUN]{FF0000}Администратор %s выдал вам оружие!", PlayerInfo[playerid][pNames], [playerid][pNames]); // ?????? ??????
	SendClientMessage(playerid, COLOR_GRAD1,stringer1); // ????? ??????
	format(stringer1,sizeof(stringer1),"{00FF00}[A][GUN]{FF0000}Администратор %s выдал оружие игроку %s", PlayerInfo[playerid][pNames], PlayerInfo[params[0]][pNames]); // ?????? ??????
	SendAdminMessage(COLOR_RED,stringer1); // ????? ??????
	return true;
}
CMD:agun(playerid, params[])
{
	if(PlayerInfo[playerid][pAlcoInvenxua] < 15) return true;
	if(sscanf(params, "ddd",params[0],params[1],params[2])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /agun [id] [id оружия /gi] [патроны]");
	if(!IsPlayerConnected(params[0])) return true;
	if(params[2] < 1 || params[2] > 9999) return SendClientMessage(playerid, COLOR_GRAD1, "Нельзя меньше 1 или больше 9999 патронов!");
	if(params[1] < 1 || params[1] > 46) return SendClientMessage(playerid, COLOR_GREY, "ID оружия от 1 до 46!");
	switch(params[1])
	{
		case 45: return SendClientMessage(playerid, COLOR_GRAD1, "Запрещенное оружие!");
	}
	GiveWeapon(params[0],params[1],params[2]);
	SendClientMessage(playerid, COLOR_GRAD1, "Оружие Выдано!");
	format(stringer1,sizeof(stringer1),"{00FF00}[A][A-GUN]{FF0000}Основатель %s выдал вам оружие!", PlayerInfo[playerid][pNames]); // ?????? ??????
	SendClientMessage(playerid, COLOR_GRAD1,stringer1); // ????? ??????
	format(stringer1,sizeof(stringer1),"{00FF00}[A][A-GUN]{FF0000}Основатель %s выдал Админ-Оружие игроку %s", PlayerInfo[playerid][pNames], PlayerInfo[params[0]][pNames]); // ?????? ??????
	SendAdminMessage(COLOR_RED,stringer1); // ????? ??????
	return true;
}

Держи, подправил тебе там еще чуток. 

@SCRIPTMAN Смотри что при компиляций
 

C:\Users\sasa\Desktop\mode SAMP 0.3.7 RP\Ïàðîâîçèê ðï - Jewel\gamemodes\edit.pwn(35487) : error 029: invalid expression, assumed zero
C:\Users\sasa\Desktop\mode SAMP 0.3.7 RP\Ïàðîâîçèê ðï - Jewel\gamemodes\edit.pwn(35487) : warning 215: expression has no effect
C:\Users\sasa\Desktop\mode SAMP 0.3.7 RP\Ïàðîâîçèê ðï - Jewel\gamemodes\edit.pwn(35487) : error 001: expected token: ";", but found "]"
C:\Users\sasa\Desktop\mode SAMP 0.3.7 RP\Ïàðîâîçèê ðï - Jewel\gamemodes\edit.pwn(35487) : error 029: invalid expression, assumed zero
C:\Users\sasa\Desktop\mode SAMP 0.3.7 RP\Ïàðîâîçèê ðï - Jewel\gamemodes\edit.pwn(35487) : fatal error 107: too many error messages on one line

Compilation aborted.

Pawn compiler 3.2.3664              Copyright (c) 1997-2017, ITB CompuPhase


4 Errors.
 

@SCRIPTMAN Вот сама строка 
    format(stringer1,sizeof(stringer1),"{00FF00}[A][GUN]{FF0000}Администратор %s выдал вам оружие!", PlayerInfo[playerid][pNames], [playerid][pNames]); // ?????? ??????

Share this post


Link to post
  • 0
SCRIPTMAN
Великий Гуру

@AnimeshniK 

format(stringer1,sizeof(stringer1),"{00FF00}[A][GUN]{FF0000}Администратор %s выдал вам оружие!", PlayerInfo[playerid][pNames]); // ?????? ??????

 

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • ВасилийСталин
      By ВасилийСталин
      VERDICT PROJECT - V:ACE
       
      Соревновательный проект на платформе SA-MP, вдохновлённый духом Counter-Strike: тактические перестрелки, честный рейтинг и ванильное PVP.
      В разработке, не используются ресурсы, из открытых источников. Всё строится с нуля, собственный игровой мод, полностью кастомный интерфейс и игровой лаунчер.
      Что мы разрабатываем:
       
      - Рейтинговый режим с подбором по ELO. Равные соперники, честные матчи, путь от новичка до вершины таблицы.
      - Полностью кастомный интерфейс (CEF): меню, лобби, магазин и статистика такого уровня, какого на SA-MP почти не встретишь.
      - Легионеры - уникальные оперативники с индивидуальным дизайном и редкостью, открываются через боевой пропуск или чёрные ячейки (кейсы).
      - Скины на оружие и кейсы - коллекционная система в духе CS. -> В активной разработке
      - Киберспортивные команды: теги, ростеры, матчи команда против команды.
      - Тренировка аима, система рангов, ежедневные награды и не только.
       
      Продуманный баланс и внимание к деталям ванильного сражения - то, ради чего мы за это взялись.
      Проект уже на серьёзной стадии разработки. Мы открываем сообщество раньше официального анонса, чтобы первые скриншоты, новости и дата старта достались тем, кто был с нами с самого начала. Мы всегда рады открытой критике, или советам - сделаем игру лучше для всех!
      Подписывайтесь, чтобы не пропустить официальное заявление о запуске и первые материалы проекта.
       
      Группа VK: https://vk.ru/verdictcs
      Официальная почта: verdictproject@mail.ru
    • Kevin_McCarthy
      By Kevin_McCarthy
      🔒 ОТКРЫТИЕ НАБОРА НА ЗАКРЫТОЕ БЕТА-ТЕСТИРОВАНИЕ (ЗБТ)!
      Друзья! Мы выходим на самый ответственный этап разработки Brilliant RP. Проект уже практически готов к полноценному запуску, но перед тем как открыть двери для всех игроков, нам нужно тщательно проверить каждую систему, каждую работу и каждую строчку кода.
      Именно поэтому мы объявляем о старте Закрытого Бета-Тестирования!
      🏆 ТОП-3 ТЕСТЕРА ПОЛУЧАТ КРУТЫЕ ПРИЗЫ!
      Мы высоко ценим время и вклад каждого участника. Тестеры, которые проявят наибольшую активность, найдут больше всего уникальных багов и подробно опишут их в нашей Google-форме, получат ценные награды:
      🥇 1 МЕСТО: 3000 рублей на кошелек, 100.000$ игровой валюты, и Diamond VIP на 30 дней
      🥈 2 МЕСТО: 2000 рублей на кошелек, 75.000$ игровой валюты, и Diamond VIP на 30 дней
      🥉 3 МЕСТО: 1000 рублей на кошелек, 50.000$ игровой валюты, и Diamond VIP на 30 дней
      📝 Как стать участником ЗБТ?
      Заполни заявку на участие: 👉 https://vk.ru/gtasamp_brilliantrp
      Дождись одобрения.
    • OOLOAIS
      By OOLOAIS
      Ищу скрипт для самп/crmp который может скопировать акссесуары с аризоны/родины пж помогите