Перейти к содержанию

Рекомендуемые сообщения

prontera,150,150,6	script	Санта Клаус	718,{
for(.i = 0; .i <= getarraysize(.cardid); .i ++)
{
if(countitem(.cardid[.i]) < 1)
{
mes "No Card";
close;
}
else
{
.a = countitem(.cardid[.i]);
delitem .cardid[.i], .a;
getitem 7227, .a;
mes "Done";
}
}
close;

OnInit:
setarray .cardid, 4252, 4152, 4418;
end;
}

Переделал чуток, работает как нужно. Все карты считывает с инвентаря и сразу же отдает тцгшки. Если 50 алигатор карт, 50 газетти то он сразу их забирает и дает 100 тцг.

Подправишь себе под eathena, а вообще советую юзать rAthena.

Ссылка на комментарий
Поделиться на другие сайты

Если человек придет с галопаго и газети - его пошлет же из-за отсутствия аллигатора

rA

prontera,150,150,6      script  Санта Клаус     718,{
@a = 0;
for(.@i = 0; .@i <= getarraysize(.cardid); .@i ++){
if(countitem(.cardid[.@i])){
@a += countitem(.cardid[.@i]);
delitem .cardid[.@i], countitem(.cardid[.@i]);
}
}
if(@a){
getitem 7227, .@a;
mes "Done";
}
else
mes "No card";
close;

OnInit:
setarray .cardid, 4252, 4152, 4418;
end;
}

Для eA

prontera,150,150,6      script  Санта Клаус     718,{
set @a, 0;
for(set .@i, 0; .@i <= getarraysize(.cardid); set .@i, .@i+1){
if(countitem(.cardid[.@i])){
set @a, @a + countitem(.cardid[.@i]);
delitem .cardid[.@i], countitem(.cardid[.@i]);
}
}
if(@a){
getitem 7227, .@a;
mes "Done";
}
else
mes "No card";
close;

OnInit:
setarray .cardid, 4252, 4152, 4418;
end;
}

Ссылка на комментарий
Поделиться на другие сайты

Если человек придет с галопаго и газети - его пошлет же из-за отсутствия аллигатора

rA

prontera,150,150,6      script  Санта Клаус     718,{
@a = 0;
for(.@i = 0; .@i <= getarraysize(.cardid); .@i ++){
if(countitem(.cardid[.@i])){
@a += countitem(.cardid[.@i]);
delitem .cardid[.@i], countitem(.cardid[.@i]);
}
}
if(@a){
getitem 7227, .@a;
mes "Done";
}
else
mes "No card";
close;

OnInit:
setarray .cardid, 4252, 4152, 4418;
end;
}

Для eA

prontera,150,150,6      script  Санта Клаус     718,{
set @a, 0;
for(set .@i, 0; .@i <= getarraysize(.cardid); set .@i, .@i+1){
if(countitem(.cardid[.@i])){
set @a, @a + countitem(.cardid[.@i]);
delitem .cardid[.@i], countitem(.cardid[.@i]);
}
}
if(@a){
getitem 7227, .@a;
mes "Done";
}
else
mes "No card";
close;

OnInit:
setarray .cardid, 4252, 4152, 4418;
end;
}

В моем случае меня не посылало никуда. Приносил 1 вид карт - забирал 1, приносил 2 - забирал 2, приносил 3 - забирал 3.

Ссылка на комментарий
Поделиться на другие сайты

Приношу пишет донт и все а тцг не дает.

И можно както сделать что бы забирало карты что в инвентаре а не те что я должен указать?

Изменено пользователем Henk Mudi
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

prontera,150,150,6      script  Санта Клаус     718,{
set @a, 0;
for(set .@i, 0; .@i <= getarraysize(.cardid); set .@i, .@i+1){
if(countitem(.cardid[.@i])){
set @a, @a + countitem(.cardid[.@i]);
delitem .cardid[.@i], countitem(.cardid[.@i]);
}
}
if(@a){
getitem 7227, @a;
mes "Done";
}
else
mes "No card";
close;

OnInit:
setarray .cardid, 4252, 4152, 4418;
end;
}

Вот так пробуй.

Не понял второго вопроса.

Ссылка на комментарий
Поделиться на другие сайты

Все работает спасибо.

2 вопрос как поставить раном с 40001 интема до последнего карт.

Изменено пользователем Henk Mudi
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

пишет нету карт

когда пишет? что пишет? где пишет?

ты можешь нормально объяснить? тут нет телепатов. Скажи какие иды карт ты добавил в этот рандом. И т.д.

Ссылка на комментарий
Поделиться на другие сайты

set .@var, rand(4001,4442);

В кмд не чего не пишет, пишет нету карты нпс кому сдать их.

нужно изменять половину скрипта если ставишь рандом)

Ссылка на комментарий
Поделиться на другие сайты

Не могли бы вы подсказать как и где нужно изменить?

Поидее так, не?

set .@var, rand(4001,50000);

Изменено пользователем ralf1k
Ссылка на комментарий
Поделиться на другие сайты

Не могли бы вы подсказать как и где нужно изменить?

Поидее так, не?

set .@var, rand(4001,50000);

Нет, нет, нет.

В данном случае цифры в нашей переменной - ID'ы карт/вещей. Не думаю что у кого-то есть 50000ID item.

Нужно будет многое изменить в скрипте если юзать рандом.

Попробуй так, не даю гарантию что будет работать.

prontera,150,150,6      script  Санта Клаус     718,{
set @a, 0;
set .cardid, rand(4001,4200);
if(countitem(.cardid)){
set @a, @a + countitem(.cardid);
delitem .cardid, countitem(.cardid);
}
if(@a){
getitem 7227, @a;
mes "Done";
}
else
mes "No card";
close;

}

Ссылка на комментарий
Поделиться на другие сайты

Увы....

[[Error]: npc_parsesrcfile: Unknown map 'if(@a){' in file 'npc/custom/foryou/rfyl.txt', line '9'. Skipping line...
[Error]: npc_parsesrcfile: Unknown syntax in file 'npc/custom/foryou/rfyl.txt', line '10'. Stopping...
* w1=getitem 7227, @a;
* w2=
* w3=
* w4=


Изменено пользователем Henk Mudi
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

Автор, могли бы вы впредь более четче формулировать ваши желания?

prontera,150,150,6      script  Санта Клаус     718,{
mes "[Обменник]";
mes "Хочешь обменять все";
mes "свои карты на TCG?";
next;
if(select("Да:Нет")==2)
close;
set @a, 0;
for(set @i, 4001; @i <= 4453; set @i, @i+1){
if(countitem(@i)){
set @a, @a + countitem(@i);
delitem @i, countitem(@i);
}
}
if(@a){
getitem 7227, @a;
mes "Done";
}
else
mes "No card";
close;
}

Эта вещь меняет абсолютно все карты на тцг

EDIT: пробуйте

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

Ну блин и опять не кликает, в cmd все норм ошибкок нету он не кликает на нпс.

Изменено пользователем Henk Mudi
Ссылка на комментарий
Поделиться на другие сайты

Ура заработало, спасибо всем кто помог, ещё один вопрос как сделать диалог с етим нпс потверждение что хочеш обменять?

Ссылка на комментарий
Поделиться на другие сайты

спасибо вот как я сделал

prontera,150,150,6	script	Обменик	718,{
mes "[Обменик]";
mes "Привет, я могу дать тебе кеш пойнт за простые карты";
mes "Хочеш обменять свой карты?";
menu "Обменять",L,"Нехочу",N;
N:
mes "[Обменик]";
mes "Ландно пока";
close;
L:
set @a, 0;
for(set @i, 4001; @i <= 4453; set @i, @i+1){
if(countitem(@i)){
set @a, @a + countitem(@i);
delitem @i, countitem(@i);
}
}
if(@a){
getitem 7227, @a;
mes "Спасибо";
}
else
mes "У вас нету карт";
close;
}

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика