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

Рандом


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

Здраствуйте ...есть такой скрипт

Как в нему сделать респам рандомного монстра и рандомной карты с оповещением анонсера на какой карте появилься монстр...

Огромное спасибо за помощь!


- script TBSummon -1,{
onstart:
announce "Treasure Box Summoner: I perfectly cast my summoning skills.",0;
sleep2 5000;
announce "15 rare Treasure Box will be spawned in 30 seconds at Izlude.",0;
sleep2 30000;
monster "izlude.gat",0,0,"Treasure Box",1845,15,"TBSummon::OnTBoxKilled";
end;
OnTBoxKilled:
announce "The rare Treasure Box has been found and destroyed by "+strcharinfo(0)+"!", bc_all;
getitem 20073,1;
getitem 603,1;
getitem 644,1;
getitem 664,1;
getitem 665,1;
getitem 666,1;
getitem 667,1;
end;
}

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

на входе

set .@mapstring$[0],<список мап>;

set .@mobstring[0],<список мобов>;

когда эвент

set .@map,rand(getarraysize(.@mapstring$));

set .@mob,rand(getarraysize(.@mobstring));

дальше спавнишь моба, делаешь объявление

Ну или ищешь человека, который даст рабочий скрипт.

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

оО. Когда это set запоминал больше одного числа (слова) ?

setarray .map$, "name","name";

setarray .mob, id, id;

set .map$, rand(0, getarraysize(.map$));

set .mob, rand(0, getarraysize(.mob));

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

как понял рандом ставиться в начале. потом .map$ .mob подменяют в срипте monster "map$",0,0,"Treasure Box",mob,15,"TBSummon::OnTBoxKilled";

как то так ? строго не судите *(

// --- ARTHistic's Property ---
// --- Please visit http://thdesigns.co.nr ---
// --- Scripted By: ARTHistic ---
// --- Do Not Revomed the Credits ---

- script TBSummon -1,{

setarray .map$, "prontera.gat","payon.gat";
setarray .mob, 1846, 1845;
set .map$, rand(0, getarraysize(.map$));
set .mob, rand(0, getarraysize(.mob));

onstart:
announce "Treasure Box Summoner: I perfectly cast my summoning skills.",0;
sleep2 5000;
announce "15 rare Treasure Box will be spawned in 30 seconds at Izlude.",0;
sleep2 30000;
monster "map$",0,0,"Treasure Box",.mob,15,"TBSummon::OnTBoxKilled";
end;

OnTBoxKilled:
announce "The rare Treasure Box has been found and destroyed by "+strcharinfo(0)+"!", bc_all;
getitem 20073,1;
getitem 603,1;
getitem 644,1;
getitem 664,1;
getitem 665,1;
getitem 666,1;
getitem 667,1;
end;
}

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

получаеться что то такое ... при запуске включаеться анонсер ... но ни на одной карте никто не появляеться и в анонсере не показывает где ?! что не так ?


// --- ARTHistic's Property ---
// --- Please visit http://thdesigns.co.nr ---
// --- Scripted By: ARTHistic ---
// --- Do Not Revomed the Credits ---
- script TBSummon -1,{
setarray .map$,"prontera.gat","payon.gat";
setarray .mob,1846,1845;
set .map$, rand(0, getarraysize(.map$));
set .mob, rand(0, getarraysize(.mob));
onstart:
announce "Treasure Box Summoner: I perfectly cast my summoning skills.",0;
sleep2 5000;
announce "15 rare Treasure Box will be spawned in 30 seconds at "+ .map$ +".",0;
sleep2 30000;
monster .map$,0,0,"Treasure Box",.mob,15,"TBSummon::OnTBoxKilled";
end;
OnTBoxKilled:
announce "The rare Treasure Box has been found and destroyed by "+strcharinfo(0)+"!", bc_all;
getitem 20073,1;
getitem 603,1;
getitem 644,1;
getitem 664,1;
getitem 665,1;
getitem 666,1;
getitem 667,1;
end;
}

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

oninit:

set .map$[0]

set .mob[0]

end;

onstart:

rand(0, getarraysize(.mob)-1);

Остальные ошибки можно увидеть в мапсервере

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

или я туплю или лыжы не едят))

ты о этом ?



- script TBSummon -1,{
setarray .map$,"prontera.gat","payon.gat";
setarray .mob,1846,1845;
set .map$, rand(0, getarraysize(.map$));
set .mob, rand(0, getarraysize(.mob));
oninit:
set .map$[0];
set .mob[0];
end;
onstart:
rand(0, getarraysize(.mob)-1);
announce "Treasure Box Summoner: I perfectly cast my summoning skills.",0;
sleep2 5000;
announce "15 rare Treasure Box will be spawned in 30 seconds at .",0;
sleep2 30000;
monster .map$,0,0,"Treasure Box",.mob,15,"TBSummon::OnTBoxKilled";
end;
OnTBoxKilled:
announce "The rare Treasure Box has been found and destroyed by "+strcharinfo(0)+"!", bc_all;
getitem 20073,1;
getitem 603,1;
getitem 644,1;
getitem 664,1;
getitem 665,1;
getitem 666,1;
getitem 667,1;
end;
}

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

http://www.eathena.w...howtopic=248199

Самое начало

зы. не видел пост Кубика.

зыы. рак на топе xД

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

Спасибо за помощь написал вот так ...


- script TBSummon -1,{
OnInit:
setarray $mob[0],1846,1845,1844;
setarray $TownZ$[0],"prontera.gat","alberta.gat","aldebaran.gat","amatsu.gat","comodo.gat","geffen.gat","izlude.gat","hugel.gat","lighthalzen.gat","louyang.gat","morocc.gat","payon.gat","umbala.gat","yuno.gat","rachel.gat","einbech.gat","einbroch.gat","ayothaya.gat","moscovia.gat";
end;
onstart:
set .@mob,$mob[rand(getarraysize($mob))];
set .@town$,$TownZ$[rand(getarraysize($TownZ$))];
if(.@town$ == "prontera.gat"){ set .@town2$,"Prontera"; }
if(.@town$ == "alberta.gat"){ set .@town2$,"Alberta"; }
if(.@town$ == "amatsu.gat"){ set .@town2$,"Amatsu"; }
if(.@town$ == "comodo.gat"){ set .@town2$,"Comodo"; }
if(.@town$ == "geffen.gat"){ set .@town2$,"Geffen"; }
if(.@town$ == "izlude.gat"){ set .@town2$,"Izlude"; }
if(.@town$ == "hugel.gat"){ set .@town2$,"Hugel"; }
if(.@town$ == "lighthalzen.gat"){ set .@town2$,"Lighthalzen"; }
if(.@town$ == "louyang.gat"){ set .@town2$,"Louyang"; }
if(.@town$ == "morocc.gat"){ set .@town2$,"Morocc"; }
if(.@town$ == "payon.gat"){ set .@town2$,"Payon"; }
if(.@town$ == "umbala.gat"){ set .@town2$,"Umbala"; }
if(.@town$ == "yuno.gat"){ set .@town2$,"Yuno"; }
if(.@town$ == "rachel.gat"){ set .@town2$,"Rachel"; }
if(.@town$ == "einbech.gat"){ set .@town2$,"Einbech"; }
if(.@town$ == "einbroch.gat"){ set .@town2$,"Eibroch"; }
if(.@town$ == "ayothaya.gat"){ set .@town2$,"Ayothaya"; }
announce "Загадочный монстр: НУ привет дорогой игрок жаждущий подарков.",0;
sleep2 5000;
announce "В городе "+.@town2$+" появилься загадочный монстр убив его вы получите подарок .",0;
sleep2 30000;
monster .@town$,0,0,"Загадочный монстр",.@mob,1,"TBSummon::OnTBoxKilled";
end;


OnTBoxKilled:
announce "Игрок "+strcharinfo(0)+" убил Загадочного Монстра и получил подарок!", bc_all;
getitem 7227,5;
end;

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


- script TBSummon -1,{
OnInit:
setarray $mob[0],1846,1845,1844;
setarray $TownZ$[0],"prontera","alberta","aldebaran","amatsu","comodo","geffen","izlude","hugel","lighthalzen","louyang","morocc","payon","umbala","yuno","rachel","einbech","einbroch","ayothaya","moscovia";
setarray $TownZ2$[0],"Prontera","Alberta","Aldebaran","amatsu","Comodo","Geffen","Izlude","Hugel","Lighthalzen","louyang","Louyang","Payon","Umbala","Yuno","Rachel","Einbech","Eibroch","Ayothaya","Moscovia";
end;
onstart:
set .@mob,$mob[rand(getarraysize($mob))];
set $town,rand(getarraysize($TownZ$));
set .@town$,$TownZ$[$town];
set .@town2$,$TownZ2$[$town];
announce "Загадочный монстр: НУ привет дорогой игрок жаждущий подарков.",0;
sleep2 5000;
announce "В городе "+.@town2$+" появилься загадочный монстр убив его вы получите подарок .",0;
sleep2 30000;
monster .@town$,0,0,"Загадочный монстр",.@mob,1,"TBSummon::OnTBoxKilled";
end;

OnTBoxKilled:
announce "Игрок "+strcharinfo(0)+" убил Загадочного Монстра и получил подарок!", bc_all;
getitem 7227,5;
end;

Пропустил проверки на баран и московию, и вообще так лучше.

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

  • 2 года спустя...


- script TBSummon -1,{
OnInit:
setarray $mob[0],1846,1845,1844;
setarray $TownZ$[0],"prontera","alberta","aldebaran","amatsu","comodo","geffen","izlude","hugel","lighthalzen","louyang","morocc","payon","umbala","yuno","rachel","einbech","einbroch","ayothaya","moscovia";
setarray $TownZ2$[0],"Prontera","Alberta","Aldebaran","amatsu","Comodo","Geffen","Izlude","Hugel","Lighthalzen","louyang","Louyang","Payon","Umbala","Yuno","Rachel","Einbech","Eibroch","Ayothaya","Moscovia";
end;
onstart:
set .@mob,$mob[rand(getarraysize($mob))];
set $town,rand(getarraysize($TownZ$));
set .@town$,$TownZ$[$town];
set .@town2$,$TownZ2$[$town];
announce "Загадочный монстр: НУ привет дорогой игрок жаждущий подарков.",0;
sleep2 5000;
announce "В городе "+.@town2$+" появилься загадочный монстр убив его вы получите подарок .",0;
sleep2 30000;
monster .@town$,0,0,"Загадочный монстр",.@mob,1,"TBSummon::OnTBoxKilled";
end;

OnTBoxKilled:
announce "Игрок "+strcharinfo(0)+" убил Загадочного Монстра и получил подарок!", bc_all;
getitem 7227,5;
end;

Пропустил проверки на баран и московию, и вообще так лучше.

Мне одному кажеться что тут время не установленно?) тоесть этот ивент должен же как то активироваться?)

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

Либо замените:


onstart:

на:


OnClock1700:

Либо запускайте с другого нпц:


prontera,155,181,4 script Event 72,{
donpcevent "TBSummon::onstart";
}

Ну я вот так сделал)


- script TBSummon -1,{
OnInit:
setarray $mob[0],1845,1902;
setarray $TownZ$[0],"prontera","alberta","aldebaran","amatsu","comodo","geffen","izlude","hugel","lighthalzen","louyang","morocc","payon","umbala","yuno","rachel","einbech","einbroch","ayothaya","moscovia";
setarray $TownZ2$[0],"Prontera","Alberta","Aldebaran","amatsu","Comodo","Geffen","Izlude","Hugel","Lighthalzen","louyang","Louyang","Payon","Umbala","Yuno","Rachel","Einbech","Eibroch","Ayothaya","Moscovia";
end;
OnClock0000:
OnClock0600:
OnClock1200:
OnClock1800:
set .@mob,$mob[rand(getarraysize($mob))];
set $town,rand(getarraysize($TownZ$));
set .@town$,$TownZ$[$town];
set .@town2$,$TownZ2$[$town];
announce "Parrot: I know where is my chest!.",0;
sleep2 5000;
announce "in Here! "+.@town2$+" Find My treasure Chest and open, inside you find reward's! .",0;
sleep2 30000;
monster .@town$,0,0,"Parrot",.@mob,1,"TBSummon::OnTBoxKilled";
end;

OnTBoxKilled:
announce "Player "+strcharinfo(0)+" Has finded my treasure!", bc_all;
getitem 7227,3;
end;
}

Может кому и пригодится)

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

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