Jump to content

название предмета с переменной


Recommended Posts


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  3
  • Reputation:   0
  • Joined:  02/02/13
  • Last Seen:  

возможно ли, если да то как?

поиск юзал.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  3
  • Reputation:   0
  • Joined:  02/02/13
  • Last Seen:  

как getnameditem только с любой переменной

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  1
  • Reputation:   0
  • Joined:  02/19/13
  • Last Seen:  

Уточните задачу.

Нужно чтобы нпц приписывал к предмету то, что игрок предварительно вводит в процессе диалога.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  13
  • Reputation:   9
  • Joined:  12/29/11
  • Last Seen:  

Нужно чтобы нпц приписывал к предмету то, что игрок предварительно вводит в процессе диалога.

Если я правильно помню, то подпись предмета — это хранение ID-чара в базе, можно впринципе и без модификаций сорцов сделать, только тогда потом как-то надо за раздувшейся базой чаров следить.

Алгоритм такой:

- НПЦ получает от игрока подпись через INPUT (желательно ограничить её по размеру до 23 символов)

- СКРИПТ вносит эту подпись в базу MySQL, как имя персонажа

- Делает подпись на предмете с этим ID

опционально: - поправить сорцы на предмет удаления предмета, делать проверку id подписи и удалять ещё чар-подпись из базы, чтобы не захламлять базу или написать скрипт на крон для проверки «устаревших» предметов. Если этого не сделать, база будет засрана чарами-подписями.

Не жадный, даю рабочий скрипт:

prontera,155,231,3	script	TestSql#sql	792,{

	set .@account_id, 199;

	mes "Введите подпись, максимум 23 символа.";	
	next;
	input(.@write$, 0, 23);

	mes "Точно хотите подписать: ^3355FF"+.@write$+"^000000";	
	if ( select("Я передумал:Всё отлично") == 1 ) {
		close;
	}

	query_sql("INSERT INTO `char` (`account_id`, `zeny`) VALUES ("+.@account_id+", "+getcharid(0)+")");
	query_sql("SELECT char_id AS id FROM `char` WHERE `account_id` = "+.@account_id+" AND `zeny` = "+getcharid(0)+" ORDER BY `char_id` DESC LIMIT 1", .@id);
	query_sql("UPDATE `char` SET `name` = '"+escape_sql(.@write$)+"', `zeny` = 0 WHERE char_id = "+.@id);

	getitem2 501,1,1,4,0,254,0,.@id&0xffff,(.@id>>16)&0xffff;

	close;
}
Выглядить будет вот так:

write_text_medved.jpg

Вариантов с сорц модификацией можно придумать достаточно много, но это будет сорц модификация.

Edited by wl.illusion
  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  407
  • Reputation:   159
  • Joined:  11/18/11
  • Last Seen:  

Максимум 23 символа для имени. Так же не стоит забывать про escape_sql.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  13
  • Reputation:   9
  • Joined:  12/29/11
  • Last Seen:  

Максимум 23 символа для имени. Так же не стоит забывать про escape_sql.

Подправил.
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  3
  • Reputation:   0
  • Joined:  02/02/13
  • Last Seen:  

а если на один чарайди это все сделать, норм будет?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...