Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7
Нужна помощь со скриптом.
Нужна помощь со скриптом.
Ребят, есть скрипт, где персонаж выбирает нпц по ID и выберает определенную строчку в контекстном меню нпц типа buy, sell
Проблема вот в чем: я перещел на другой сервер, а там нпц постоянно заного спавнятся и стоит лишь настроить скрипт, как уже появляется новы нпц...
можно ли каким-нибудь образом сделать, что бы он выбирал нужного нпц не по id а по приписке в имени? к примеру, Tinker
Проблема вот в чем: я перещел на другой сервер, а там нпц постоянно заного спавнятся и стоит лишь настроить скрипт, как уже появляется новы нпц...
можно ли каким-нибудь образом сделать, что бы он выбирал нужного нпц не по id а по приписке в имени? к примеру, Tinker
Re: Нужна помощь со скриптом.
а каким образом? 

Re: Нужна помощь со скриптом.
гетнейм и БМсёрч)
{Player Title}
function GetCharTitle: String; // Получения тайтла с папердола своего чара, возвращает приписку и весь остальной текст, длиной до 60 байт
Пример:
Код:
Addtosystemjournal(GetCharTitle);
Результат::
2:27:37 [KopUshKa_15]: KopUshKa, Legendary Miner
Для любых других НПЦ, у которых есть папердол:
при коннекте берется имя неписи, пишется в свойство, которое видно через закладку World и которое можно взять через GetName.
Если нужен тайтл с папердолла - значит шлете UseObject на непись, и ставите цикл типа
Код:
S:=GetName($xxxxxxxx);
while GetName($xxxxxxxx) = S do wait(xxx)';
цикл для того, чтобы дождаться когда придет пакет папердолла на непись. Когда он приходит - title пишется поверх старого имени в свойства, и берете его так же через GetName.
Соответственно кусок получения папердолла будет выглядеть как-то так:
Код:
S:=GetName($xxxxxxxx);
UseObject($xxxxxxxx);
while GetName($xxxxxxxx) = S do wait(xxx)';
S:=GetName($xxxxxxxx);
My name is Игорёшка
Пишу скрипты за еду

Пишу скрипты за еду

Re: Нужна помощь со скриптом.
Это все хорошо, но в команду S:=GetName($xxxxxxxx) нужно вписать ID, а мне нужно чтобы он по типу находил нпц и сам перебирал их имена, до тех пор пока не наткнется на нужного.
Спасибо за эту подсказку - с этим куском ясно, осталось, что бы по типу находил нпц, как это можно реализовать?
Спасибо за эту подсказку - с этим куском ясно, осталось, что бы по типу находил нпц, как это можно реализовать?
Re: Нужна помощь со скриптом.
также как ты по типу находишь предмет в бекпаке
только надо делать двойное условие - чтобы кол-во найденых Ид было больше 0 и чтобы имя было с припиской нужной)

Code: Select all
findtype(typeVendore, ground);
My name is Игорёшка
Пишу скрипты за еду

Пишу скрипты за еду

Re: Нужна помощь со скриптом.
Спасибо большое!
А на каком он растоянии ищет? и можно ли вручную указать это растояние?
А на каком он растоянии ищет? и можно ли вручную указать это растояние?
Re: Нужна помощь со скриптом.
Stels wrote:Спасибо большое!
А на каком он растоянии ищет? и можно ли вручную указать это растояние?
Code: Select all
FindDistance := 2;
FindVertical := 3;
My name is Игорёшка
Пишу скрипты за еду

Пишу скрипты за еду

Re: Нужна помощь со скриптом.
Большое спасибо. сейчас попробуй подправить свой скрипт и если не выйдет обращусь снова))
Re: Нужна помощь со скриптом.
MuDaCk wrote:также как ты по типу находишь предмет в бекпаке
только надо делать двойное условие - чтобы кол-во найденых Ид было больше 0 и чтобы имя было с припиской нужной)Code: Select all
findtype(typeVendore, ground);
такс, а если у нпц может быть два типа?
это нужно просто два раза искать тип? сначала один и если не нашел то второй?
Re: Нужна помощь со скриптом.
findtype(typeVendore, ground)
По этой команде ругается на typeVendore, здесь нужно оставить имено это слово?
)) или указать тип вручную? Хотя он ругается и на то и на то 
По этой команде ругается на typeVendore, здесь нужно оставить имено это слово?


Re: Нужна помощь со скриптом.
Я с этого и начал, но он мне выдает следующее: Type mismatch и показывает на конец строки перед точкой с запятой =\MuDaCk wrote:свой тип конечно же
Re: Нужна помощь со скриптом.
GetName больше так не работает. Вместо него надо использовать функцию GetTitle(id : Cardinal) : String
Re: Нужна помощь со скриптом.
Спасибо, помогло, а то только хотел написать, что он зависает на строчке с цикломCFA wrote:GetName больше так не работает. Вместо него надо использовать функцию GetTitle(id : Cardinal) : String
