Автор: S2pidsMan: Дата: 03.03.2011
//Supporter NPC
//By: Brendash Taylor
//
prontera,171,225,3 script Prontera Linker::Soul-Linker 714,{
OnInit:
defpattern 1, "([^:]+):.*link me.*", "LinkMe";
activatepset 1;
end;
LinkMe:
{
if(Class<=6 && Class==22 && Class>=24 && Class<=27 && Class>=4023 && Class<=4046){
goto NoLink;}
else if(Class >= Job_Novice_High && Class <= Job_Thief_High){
if(Baselevel <= 69)
{npcskilleffect 494,5,0,0;
callfunc("Linked");}
else
goto NoLink;}
else if((Class==Job_Knight)||(Class==Job_Lord_Knight)){
npcskilleffect 452,5,0,0;
callfunc("Linked");}
else if((Class==Job_Hunter)||(Class==Job_Sniper)){
npcskilleffect 460,5,0,0;
callfunc("Linked");}
else if((Class==Job_Wizard)||(Class==Job_High_Wizard)){
npcskilleffect 453,5,0,0;
callfunc("Linked");}
else if((Class==Job_Blacksmith)||(Class==Job_Whitesmith)){
npcskilleffect 458,5,0,0;
callfunc("Linked");}
else if((Class==Job_Assassin)||(Class==Job_Assassin_Cross)){
npcskilleffect 457,5,0,0;
callfunc("Linked");}
else if((Class==Job_Priest)||(Class==Job_High_Priest)){
npcskilleffect 454,5,0,0;
callfunc("Linked");}
else if((Class==Job_Crusader)||(Class==Job_Paladin)){
npcskilleffect 450,5,0,0;
callfunc("Linked");}
else if((Class==Job_Bard)||(Class==Job_Dancer)||(Class==Job_Clown)||(Class==Job_Gypsy)){
npcskilleffect 455,5,0,0;
callfunc("Linked");}
else if((Class==Job_Sage)||(Class==Job_Professor)){
npcskilleffect 449,5,0,0;
callfunc("Linked");}
else if((Class==Job_Alchemist)||(Class==Job_Creator)){
npcskilleffect 445,5,0,0;
callfunc("Linked");}
else if((Class==Job_Rogue)||(Class==Job_Stalker)){
npcskilleffect 456,5,0,0;
callfunc("Linked");}
else if((Class==Job_Monk)||(Class==Job_Champion)){
npcskilleffect 447,5,0,0;
callfunc("Linked");}
else if(Class==Job_SuperNovice){
npcskilleffect 451,5,0,0;
callfunc("Linked");}
else if(Class==Job_Star_Gladiator){
npcskilleffect 448,5,0,0;
callfunc("Linked");}
else if(Class==Job_Soul_Linker){
npcskilleffect 461,5,0,0;
callfunc("Linked");}
else {sleep 2000;
npctalk "Your soul cannot be linked in your current state.";
end;}
}
NoLink:
{sleep 2000;
npctalk "Your soul cannot be linked in your current state.";
end;}
}
morocc,168,109,3 duplicate(Soul-Linker) Morocc Linker 714
geffen,133,65,3 duplicate(Soul-Linker) Geffen Linker 714
payon,188,225,3 duplicate(Soul-Linker) Payon Linker 714
alberta,129,60,3 duplicate(Soul-Linker) Alberta Linker 714
izlude,139,154,3 duplicate(Soul-Linker) Izlude Linker 714
aldebaran,143,126,3 duplicate(Soul-Linker) Al De Baran Linker 714
xmas,153,110,3 duplicate(Soul-Linker) Lutie Linker 714
comodo,222,135,3 duplicate(Soul-Linker) Comodo Linker 714
yuno,173,209,3 duplicate(Soul-Linker) Juno Linker 714
amatsu,136,166,3 duplicate(Soul-Linker) Amatsu Linker 714
gonryun,171,142,3 duplicate(Soul-Linker) Gonryun Linker 714
umbala,131,132,3 duplicate(Soul-Linker) Umbala Linker 714
niflheim,215,200,3 duplicate(Soul-Linker) Niflheim Linker 714
louyang,210,124,3 duplicate(Soul-Linker) Louyang Linker 714
ayothaya,221,191,3 duplicate(Soul-Linker) Ayothaya Linker 714
einbroch,88,207,3 duplicate(Soul-Linker) Einbroch Linker 714
lighthalzen,163,68,3 duplicate(Soul-Linker) Lighthalzen Linker 714
einbech,206,132,3 duplicate(Soul-Linker) Einbech Linker 714
hugel,114,162,3 duplicate(Soul-Linker) Hugel Linker 714
rachel,122,130,3 duplicate(Soul-Linker) Rachel Linker 714
veins,224,134,3 duplicate(Soul-Linker) Veins Linker 714
moscovia,225,207,3 duplicate(Soul-Linker) Moscovia Linker 714
Автор: S2pidsMan: Дата: 03.03.2011
Буду пробовать.
Автор: S2pidsMan: Дата: 03.03.2011
Примерно так:
LinkMe:
getmapxy .@map$, .@x, .@y, 0;
if(getgmlvl<10||getmapflag(.@map$,mf_gvg_castle) )
script:callfunc: function not found! [Linked]
Source : Prontera Linker at prontera <171,225>
Автор: Кеник: Дата: 03.04.2011
Конечно есть :D
script:callfunc: function not found! [Linked]
Автор: S2pidsMan: Дата: 03.04.2011
Это я и сам понял)))
Мне не понять как написать эту функцию =)
Автор: Мяфк: Дата: 03.04.2011
Function TAB script TAB Linked TAB {
}
Да и проверка не правильная:
if(getgmlvl<10||getmapflag(.@map$,mf_gvg_castle) )
Если ставим || условие срабатывает, если Гм 10 лвл или мапа не ГВГ, надо:
if( (getgmlvl<10) && (getmapflag(.@map$,mf_gvg_castle) )
Автор: Кеник: Дата: 03.04.2011
Ты не прав. Как раз чтоб получить линк - надо чтоб выполнялись оба условия - у чара ГМ-лвл 10 и более и он находится не в замке. Если поставить как ты сказал - все чары в замке, кроме ГМов 10 лвл будут получать линк, что не есть правильно, если я верно понял топик-стартера.
Автор: Мяфк: Дата: 03.04.2011
Нет.
&& = Условие И. Как в си++.
|| = Или. Как в си++.
Автор: Кеник: Дата: 03.04.2011
if(getgmlvl()<10||getmapflag(.@map$,mf_gvg_castle) ) { goto NoLink; }
Автор: S2pidsMan: Дата: 03.05.2011
А теперь такой вопрос:
Как в функцию Function
TAB script TAB Linked TAB {
}
Запихнуть сам линк. Просто ведь функция по идеи должна вмещать в себя что именно она будет делать, то есть давать линк при вызове ее.
Автор: Кеник: Дата: 03.05.2011
function script linked {
switch(Class)
{
//Knight
case 7:
case 4008:
case 4030:
set @skillid,452;
break;
//Crusader
case 14:
case 4015:
case 4037:
set @skillid,450;
break;
//Wizard
case 9:
case 4010:
case 4032:
set @skillid,453;
break;
//Sage
case 16:
case 4017:
case 4039:
set @skillid,449;
break;
//Hunter
case 11:
case 4012:
case 4034:
set @skillid,460;
break;
//Bard
case 19:
case 4020:
case 4042:
//Dancer
case 20:
case 4021:
case 4043:
set @skillid,455;
break;
//Priest
case 8:
case 4009:
case 4031:
set @skillid,454;
break;
//Monk
case 15:
case 4016:
case 4038:
set @skillid,447;
break;
//Blacksmith
case 10:
case 4011:
case 4033:
set @skillid,458;
break;
//Alchemist
case 18:
case 4019:
case 4041:
set @skillid,445;
break;
//Assassin
case 12:
case 4013:
case 4035:
set @skillid,457;
break;
//Rogue
case 17:
case 4018:
case 4040:
set @skillid,456;
break;
//Super Novice
case 23:
set @skillid,451;
break;
//Soul Linker
case 4049:
set @skillid,461;
break;
//Star Gladiator
case 4047:
set @skillid,448;
break;
default:
return;
break;
}
sc_start4 SC_SPIRIT,350000,5,@skillid,0,0;
return;
}
function script cast_soul_link {
switch(Class)
{
//Knight
case 7:
case 4008:
case 4030:
set @skillid,452;
break;
//Crusader
case 14:
case 4015:
case 4037:
set @skillid,450;
break;
//Wizard
case 9:
case 4010:
case 4032:
set @skillid,453;
break;
//Sage
case 16:
case 4017:
case 4039:
set @skillid,449;
break;
//Hunter
case 11:
case 4012:
case 4034:
set @skillid,460;
break;
//Bard
case 19:
case 4020:
case 4042:
//Dancer
case 20:
case 4021:
case 4043:
set @skillid,455;
break;
//Priest
case 8:
case 4009:
case 4031:
set @skillid,454;
break;
//Monk
case 15:
case 4016:
case 4038:
set @skillid,447;
break;
//Blacksmith
case 10:
case 4011:
case 4033:
set @skillid,458;
break;
//Alchemist
case 18:
case 4019:
case 4041:
set @skillid,445;
break;
//Assassin
case 12:
case 4013:
case 4035:
set @skillid,457;
break;
//Rogue
case 17:
case 4018:
case 4040:
set @skillid,456;
break;
//Super Novice
case 23:
set @skillid,451;
break;
//Soul Linker
case 4049:
set @skillid,461;
break;
//Star Gladiator
case 4047:
set @skillid,448;
break;
default:
return;
break;
}
sc_start4 SC_SPIRIT,350000,5,@skillid,0,0;
return;
}
Автор: S2pidsMan: Дата: 03.05.2011
Function script Linked {
switch(Class)
{
//Knight
case 7:
case 4008:
case 4030:
set @skillid,452;
break;
//Crusader
case 14:
case 4015:
case 4037:
set @skillid,450;
break;
//Wizard
case 9:
case 4010:
case 4032:
set @skillid,453;
break;
//Sage
case 16:
case 4017:
case 4039:
set @skillid,449;
break;
//Hunter
case 11:
case 4012:
case 4034:
set @skillid,460;
break;
//Bard
case 19:
case 4020:
case 4042:
//Dancer
case 20:
case 4021:
case 4043:
set @skillid,455;
break;
//Priest
case 8:
case 4009:
case 4031:
set @skillid,454;
break;
//Monk
case 15:
case 4016:
case 4038:
set @skillid,447;
break;
//Blacksmith
case 10:
case 4011:
case 4033:
set @skillid,458;
break;
//Alchemist
case 18:
case 4019:
case 4041:
set @skillid,445;
break;
//Assassin
case 12:
case 4013:
case 4035:
set @skillid,457;
break;
//Rogue
case 17:
case 4018:
case 4040:
set @skillid,456;
break;
//Super Novice
case 23:
set @skillid,451;
break;
//Soul Linker
case 4049:
set @skillid,461;
break;
//Star Gladiator
case 4047:
set @skillid,448;
break;
default:
return;
break;
}
sc_start4 SC_SPIRIT,350000,5,@skillid,0,0;
return;
}
Lunette,68,97,5 script Wip Linker::Soul-Linker 714,{
OnInit:
defpattern 1, "([^:]+):.*Wip.*", "LinkMe";
activatepset 1;
end;
LinkMe:
getmapxy .@map$, .@x, .@y, 0;
if(getgmlvl<10||getmapflag(.@map$,mf_gvg_castle) )
{
if(Class<=6 && Class==22 && Class>=24 && Class<=27 && Class>=4023 && Class<=4046){
goto NoLink;}
else if(Class >= Job_Novice_High && Class <= Job_Thief_High){
if(Baselevel <= 69)
{npcskilleffect 494,5,0,0;
callfunc("Linked");}
else
goto NoLink;}
else if((Class==Job_Knight)||(Class==Job_Lord_Knight)){
npcskilleffect 452,5,0,0;
callfunc("Linked");}
else if((Class==Job_Hunter)||(Class==Job_Sniper)){
npcskilleffect 460,5,0,0;
callfunc("Linked");}
else if((Class==Job_Wizard)||(Class==Job_High_Wizard)){
npcskilleffect 453,5,0,0;
callfunc("Linked");}
else if((Class==Job_Blacksmith)||(Class==Job_Whitesmith)){
npcskilleffect 458,5,0,0;
callfunc("Linked");}
else if((Class==Job_Assassin)||(Class==Job_Assassin_Cross)){
npcskilleffect 457,5,0,0;
callfunc("Linked");}
else if((Class==Job_Priest)||(Class==Job_High_Priest)){
npcskilleffect 454,5,0,0;
callfunc("Linked");}
else if((Class==Job_Crusader)||(Class==Job_Paladin)){
npcskilleffect 450,5,0,0;
callfunc("Linked");}
else if((Class==Job_Bard)||(Class==Job_Dancer)||(Class==Job_Clown)||(Class==Job_Gypsy)){
npcskilleffect 455,5,0,0;
callfunc("Linked");}
else if((Class==Job_Sage)||(Class==Job_Professor)){
npcskilleffect 449,5,0,0;
callfunc("Linked");}
else if((Class==Job_Alchemist)||(Class==Job_Creator)){
npcskilleffect 445,5,0,0;
callfunc("Linked");}
else if((Class==Job_Rogue)||(Class==Job_Stalker)){
npcskilleffect 456,5,0,0;
callfunc("Linked");}
else if((Class==Job_Monk)||(Class==Job_Champion)){
npcskilleffect 447,5,0,0;
callfunc("Linked");}
else if(Class==Job_SuperNovice){
npcskilleffect 451,5,0,0;
callfunc("Linked");}
else if(Class==Job_Star_Gladiator){
npcskilleffect 448,5,0,0;
callfunc("Linked");}
else if(Class==Job_Soul_Linker){
npcskilleffect 461,5,0,0;
callfunc("Linked");}
}
}
Автор: Кеник: Дата: 03.05.2011
А при вызове с других локаций что пишет? Мап ругается или нет?
Автор: S2pidsMan: Дата: 03.05.2011
Да ничего не пишет) просто не дает линк и все. Мап не ругается.
Автор: Jarek: Дата: 03.05.2011
Lunette,68,97,5 script Wip Linker::Soul-Linker 714,{
- script Wip Linker::Soul-Linker -1,{
Автор: S2pidsMan: Дата: 03.05.2011
Теперь нужно что-то думать с данной функцией, так как она не срабатывает.
OnInit:
defpattern 1, "([^:]+):.*Wip.*", "LinkMe";
activatepset 1;
end;
Автор: Jarek: Дата: 03.05.2011
А, ну да, так не получится. Скорее всего придется реализовывать по другому.
Нпц будет проверять только близстоящих игроков...
Автор: S2pidsMan: Дата: 03.05.2011
Up.
А не получится сделать на примере сорца @cast?
Не могу понять как в сорцах реализовать проверку на профу.
Автор: Jarek: Дата: 03.06.2011
switch(sd->class_&MAPID_UPPERMASK){
case MAPID_KNIGHT:
case MAPID_WIZARD:
...
}
Автор: S2pidsMan: Дата: 03.06.2011
Буду пробовать