Kubix! Опубликовано 20 ноября, 2012 Жалоба Поделиться Опубликовано 20 ноября, 2012 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. Ссылка на комментарий Поделиться на другие сайты Поделиться
Jarek Опубликовано 20 ноября, 2012 Жалоба Поделиться Опубликовано 20 ноября, 2012 Если человек придет с галопаго и газети - его пошлет же из-за отсутствия аллигатораrAprontera,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;}Для eAprontera,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;} Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 20 ноября, 2012 Жалоба Поделиться Опубликовано 20 ноября, 2012 Если человек придет с галопаго и газети - его пошлет же из-за отсутствия аллигатораrAprontera,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;}Для eAprontera,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 Опубликовано 20 ноября, 2012 Автор Жалоба Поделиться Опубликовано 20 ноября, 2012 (изменено) Приношу пишет донт и все а тцг не дает.И можно както сделать что бы забирало карты что в инвентаре а не те что я должен указать? Изменено 20 ноября, 2012 пользователем Henk Mudi 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 20 ноября, 2012 Жалоба Поделиться Опубликовано 20 ноября, 2012 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;}Вот так пробуй.Не понял второго вопроса. Ссылка на комментарий Поделиться на другие сайты Поделиться
Henk Mudi Опубликовано 20 ноября, 2012 Автор Жалоба Поделиться Опубликовано 20 ноября, 2012 (изменено) Все работает спасибо.2 вопрос как поставить раном с 40001 интема до последнего карт. Изменено 20 ноября, 2012 пользователем Henk Mudi 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 20 ноября, 2012 Жалоба Поделиться Опубликовано 20 ноября, 2012 set .@var, rand(40001,50000);ставь свои иды Ссылка на комментарий Поделиться на другие сайты Поделиться
Henk Mudi Опубликовано 20 ноября, 2012 Автор Жалоба Поделиться Опубликовано 20 ноября, 2012 пишет нету карт 1 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 20 ноября, 2012 Жалоба Поделиться Опубликовано 20 ноября, 2012 пишет нету карткогда пишет? что пишет? где пишет?ты можешь нормально объяснить? тут нет телепатов. Скажи какие иды карт ты добавил в этот рандом. И т.д. Ссылка на комментарий Поделиться на другие сайты Поделиться
Henk Mudi Опубликовано 20 ноября, 2012 Автор Жалоба Поделиться Опубликовано 20 ноября, 2012 set .@var, rand(4001,4442);В кмд не чего не пишет, пишет нету карты нпс кому сдать их. 1 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 20 ноября, 2012 Жалоба Поделиться Опубликовано 20 ноября, 2012 set .@var, rand(4001,4442);В кмд не чего не пишет, пишет нету карты нпс кому сдать их.нужно изменять половину скрипта если ставишь рандом) Ссылка на комментарий Поделиться на другие сайты Поделиться
Henk Mudi Опубликовано 20 ноября, 2012 Автор Жалоба Поделиться Опубликовано 20 ноября, 2012 Не могли бы вы подсказать как и где нужно изменить? 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
ralf1k Опубликовано 20 ноября, 2012 Жалоба Поделиться Опубликовано 20 ноября, 2012 (изменено) Не могли бы вы подсказать как и где нужно изменить?Поидее так, не?set .@var, rand(4001,50000); Изменено 20 ноября, 2012 пользователем ralf1k Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 20 ноября, 2012 Жалоба Поделиться Опубликовано 20 ноября, 2012 Не могли бы вы подсказать как и где нужно изменить?Поидее так, не?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;} Ссылка на комментарий Поделиться на другие сайты Поделиться
Henk Mudi Опубликовано 20 ноября, 2012 Автор Жалоба Поделиться Опубликовано 20 ноября, 2012 (изменено) Увы....[[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= Изменено 20 ноября, 2012 пользователем Henk Mudi 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 20 ноября, 2012 Жалоба Поделиться Опубликовано 20 ноября, 2012 обновил предыдущий пост. пробуй так. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Henk Mudi Опубликовано 20 ноября, 2012 Автор Жалоба Поделиться Опубликовано 20 ноября, 2012 No Card сказал мне нпс, а в cmd все нормально, любую карту пробывал не берет. Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 20 ноября, 2012 Жалоба Поделиться Опубликовано 20 ноября, 2012 обновил предыдущий пост. пробуй так.Он хочет, чтоб все карты менял, а не так, как ты предлагал(через сетэррэй) Ссылка на комментарий Поделиться на другие сайты Поделиться
Jarek Опубликовано 20 ноября, 2012 Жалоба Поделиться Опубликовано 20 ноября, 2012 Автор, могли бы вы впредь более четче формулировать ваши желания?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: пробуйте 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Henk Mudi Опубликовано 20 ноября, 2012 Автор Жалоба Поделиться Опубликовано 20 ноября, 2012 (изменено) Ну блин и опять не кликает, в cmd все норм ошибкок нету он не кликает на нпс. Изменено 20 ноября, 2012 пользователем Henk Mudi Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 20 ноября, 2012 Жалоба Поделиться Опубликовано 20 ноября, 2012 Попробуйif(countitem(@i) > 0){if(@a > 0){ Ссылка на комментарий Поделиться на другие сайты Поделиться
Jarek Опубликовано 20 ноября, 2012 Жалоба Поделиться Опубликовано 20 ноября, 2012 Да я уже исправил, уши от предыдущей версии остались 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Henk Mudi Опубликовано 20 ноября, 2012 Автор Жалоба Поделиться Опубликовано 20 ноября, 2012 Ура заработало, спасибо всем кто помог, ещё один вопрос как сделать диалог с етим нпс потверждение что хочеш обменять? Ссылка на комментарий Поделиться на другие сайты Поделиться
Jarek Опубликовано 20 ноября, 2012 Жалоба Поделиться Опубликовано 20 ноября, 2012 Обновил, но в следующий раз вам лучше посмотреть примеры, прежде чем задавать такой вопрос 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Henk Mudi Опубликовано 20 ноября, 2012 Автор Жалоба Поделиться Опубликовано 20 ноября, 2012 спасибо вот как я сделал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;} Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения