Enwteyn
-
Постов
36 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Enwteyn
-
-
з данным способом, дроп падает также с мобов призванных MVP, как исправить?
-
не работает твой вариант
ты бы еще на 9000 ревизии eathena сидел =)
eAthena SVN Stable Revision 14785
вроде последняя Stable ревизия
-
prontera,163,185,3 script Арендатор 726,{
if (ismounting()) message strcharinfo(0),"You must first remove your mount.";
else if ((eaclass()&EAJ_THIRDMASK==EAJ_RANGER) && !countitem(6124))
{
if (!checkfalcon() && getskilllv(127))
{
if(select(" ~ Falcon: ~ Warg")==1) setfalcon;
else getitem 6124,1;
}
else getitem 6124,1;
}
else if ((eaclass()&EAJ_THIRDMASK==EAJ_MECHANIC) && !checkcart())
{
if (!checkmadogear() && getskilllv(2255))
{
if(select(" ~ Cart: ~ Mado")==1) setcart;
else setmadogear;
}
else setcart;
}
else if (!checkcart() && getskilllv(39)) setcart;
else if (!checkfalcon() && getskilllv(127)) setfalcon;
else if (!checkriding() && getskilllv(63))
{
if (eaclass()&EAJ_THIRDMASK==EAJ_RUNE_KNIGHT) setdragon;
else setriding;
}
else if (!checkmadogear() && getskilllv(2255)) setmadogear;
else message strcharinfo(0),"You do not meet requirements to rent.";
close;
}наркоманы
не работает твой вариант
-
Точно такой же стандартный.
//===== eAthena Script =======================================
//= Custom Free Breeder aka Universal Renter (not reccomended)
//===== By: Перевод By: S1r==================================================
//= eAthena Team
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= eAthena 1.0 Final +
//===== Description: =========================================
//= A Free PecoPeco and Falcon Breeder
//===== Additional Comments: =================================
//FIXED checkriding/cart/falcon funcs [Lupus]
//Added Rebirth/Advanced Class support [Mass Zero]
//Simplified the checks of job [Silentdragon]
//============================================================
prontera,132,189,6 script Арендатор 726,{
mes "[Арендатор]";
mes "Привет, здесь Вы можете арендовать Повозки, Соколов или Пеко-пеко.";
next;
L_Menu:
menu "Аренда Повозки",L_Cart,"Аренда Сокола",L_Falcon,"Аренда Пеко-пеко",L_Peco,"Выход",L_Quit;
close;
L_Cart:
if((BaseClass == Job_Merchant || BaseJob == Job_SuperNovice) && checkcart() == 0) goto L_Cart_Ok;
if(getskilllv(39)<1) goto L_Need_Skill;
mes "[Арендатор]";
mes "Извините " + strcharinfo(0) + ", но Я арендую повозки только Продовцам, которые имеют достаточно навыков.";
close;
L_Cart_Ok:
setcart;
goto L_Quit2;
L_Need_Skill:
mes "[Арендатор]";
mes "Извините Вы не имеете необходимое количество умени, чтобы арендовать повозку.";
close;
L_Falcon:
if(BaseJob != Job_Archer && BaseClass == Job_Archer && checkfalcon() == 0) goto L_Falc;
if(getskilllv(127)<1) goto L_Need_Skill2;
mes "[Арендатор]";
mes "Извините " + strcharinfo(0) + ", но Я арендую соколов только Охотникам и Снайперам, которые имеют достаточно навыков.";
close;
L_Falc:
setfalcon;
goto L_Quit2;
L_Need_Skill2:
mes "[Арендатор]";
mes "Извините,но у вас нет необходимых умений для аренды Сокола.";
close;
L_Peco:
if (BaseJob != Job_Swordman && BaseClass == Job_Swordman && checkriding() == 0) goto L_Peco_Ok;
if(getskilllv(63)<1) goto L_Need_Skill3;
mes "[Арендатор]";
mes "Извините " + strcharinfo(0) + ", но Я арендую Пеко-пеко только Рыцарям и Крусайдерам, которые имеют достаточно навыков.";
close;
L_Peco_Ok:
setriding;
goto L_Quit2;
L_Need_Skill3:
mes "[Арендатор]";
mes "Извините, но у вас нет необходимых умений, чтобы ездить на Пеко-пеко.";
close;
L_Quit:
mes "[Арендатор]";
mes strcharinfo(0) + ", пожалуйста возвращайте тогда, когда Вы будете готорвы что-либо арендовать.";
close;
L_Quit2:
mes "[Арендатор]";
mes strcharinfo(0) + ", пожалуйста приходите снова, если вам что-нибудь пондобиться... .";
close;
}как здесь говорится много говно кода
-
//===== Athena Script ========================================
//= Free Breeder
//===== Credits to ===========================================
//= Enwteyn + помощь ea-support.ru
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= Eathena SVN
prontera,132,189,6 script Арендатор 726,{
mes "[^FF0000Арендатор^000000]";
mes "Приветствую Вас, ^0000FF"+strcharinfo(0)+"^000000.";
mes "Здесь Вы можете арендовать Повозки, Соколов или Пеко-пеко.";
switch(select("Аренда Повозки:Аренда Сокола:Аренда Пеко-пеко:Отмена")) {
case 1:
if(getskilllv(39)<1) mes "[Арендатор]"; mes "^0000FFИзвините у вас нет умения, чтобы арендовать повозку.^000000"; close;
if((BaseClass == Job_Merchant || BaseJob == Job_SuperNovice) && checkcart() == 0) { setcart; close; };
close;
case 2:
if(getskilllv(127)<1) mes "[Арендатор]"; mes "^0000FFИзвините у вас нет умения, чтобы арендовать Сокола.^000000"; close;
if(BaseJob != Job_Archer && BaseClass == Job_Archer && checkfalcon() == 0) { setfalcon; close; };
close;
case 3:
if(getskilllv(63)<1) mes "[Арендатор]"; mes "^0000FFИзвините у вас нет умения, чтобы арендовать Пеко-пеко.^000000"; close;
if (BaseJob != Job_Swordman && BaseClass == Job_Swordman && checkriding() == 0) { setriding; close; };
case 4:
close;
close;}
} -
//===== eAthena Script =======================================
//= SKP/STP Seller
//===== By: ==================================================
//= Скрипт Арен = Enwteyn + помощь ea-support.ru
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= Eathena SVN
prontera.gat,139,200,5 script SKP/STP Seller 86,{
mes "[^0000FFSTP/SKP Seller^000000]";
mes "Приветствую Вас, ^FF0000"+strcharinfo(0)+"^000000.";
mes "Я вижу ты хочешь приобрести дополнительные умения!";
mes "50 Skill Point = 150 TCG";
mes "250 Stat Point = 200 TCG";
switch (select("Skill Point:Stat Point:Виход")) {
case 1:
if(countitem(7227)<150) break;
delitem 7227,150;
set SkillPoint,SkillPoint + 150;
close;
end;
case 2:
if(countitem(7227)<200) break;
delitem 7227,200;
set StatusPoint,StatusPoint + 250;
close;
end;
case 3:
close;
end;}
mes "[^FF0000Извини, но тебе не хватает TCG^000000]";
close;} -
OnMinute00:
announceif(gettime(2)<3)
{
//Доп бафы
}СПС
-
revision 13936(с нее начиная)
сможешь залить diff?
-
на каких ревизия будет работать?
-
Хотел бы еще реализовать чтобы каждый час, на протяжении 2- 3 мин был бонус фул баф.
+ анонс.
Может кто то помочь?
-
//===== Athena Script ========================================
//= Хилер + Cнятия всех статусов + Распознавание вещей + Ремонт вещей
//===== Credits to ===========================================
//= Enwteyn + помощь ea-support.ru
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
//= Eathena SVN
prontera,150,187,5 script Хилер 545,{
callfunc("full_dispel"); //Cнятия всех негативных статусов
while(getbrokenid(1)) repair(1); //Ремонт вещей
//Распознавание вещей
getinventorylist;
for(set .@i,0; .@i<@inventorylist_count; set .@i,.@i+1){
if(@inventorylist_identify[.@i]==1) continue;
delitem2 @inventorylist_id[.@i],1,0,0,0,0,0,0,0;
getitem @inventorylist_id[.@i],1;}
//
percentheal 100,100;
sc_start SC_BLESSING,300000,10;
sc_start SC_INCREASEAGI,300000,10;
sc_start SC_MAGNIFICAT,300000,5;
//Бонус бафы
OnMinute00:
if(gettime(2)<3) {
announce "На протяжении 3 минут у хилер возможно получить бонус баф.",bc_all,0x33FF00;
sc_start SC_TRUESIGHT,360000,5;
sc_start SC_ASSUMPTIO,360000,5;
sc_start SC_MELTDOWN,360000,5;
sc_start SC_WINDWALK,360000,5;
sc_start SC_EDP,360000,5;
sc_start SC_KAITE,360000,7;
sc_start SC_KAUPE,360000,3;
sc_start SC_KAAHI,360000,7;
sc_start SC_KAIZEL,360000,7;
sc_start SC_ENDURE,360000,10;
sc_start SC_ANGELUS,360000,10;
sc_start SC_CONCENTRATE,360000,10;
sc_start SC_MAGNIFICAT,360000,5;
sc_start SC_GLORIA,360000,5;
sc_start SC_ADRENALINE2,360000,1;
sc_start SC_IMPOSITIO,360000,5;
sc_start SC_SUFFRAGIUM,360000,3;
sc_start SC_BLESSING,360000,10;
sc_start SC_INCREASEAGI,360000,10;
sc_start SC_WEAPONPERFECTION,360000,10;
sc_start SC_OVERTHRUST,360000,5;
sc_start SC_MAXIMIZEPOWER,360000,5;
sc_start SC_CONCENTRATION,360000,5;
sc_start SC_AURABLADE,360000,5;
sc_start SC_LOUD,360000,1;
sc_start SC_ENERGYCOAT,360000,1;
sc_start SC_ASPDPOTION2,360000,0;
sc_start SC_STRFood,360000,10;
sc_start SC_AGIFood,360000,10;
sc_start SC_VITFood,360000,10;
sc_start SC_INTFood,360000,10;
sc_start SC_DEXFood,360000,10;
sc_start SC_LUKFood,360000,10;
sc_start SC_HitFood,1200000,30;
sc_start SC_FleeFood,1200000,30;
sc_start SC_BATKFood,1200000,10;
sc_start SC_MATKFood,120000,10; }
end;
}
//function Full Dispel
function script full_dispel {
sc_end 68;
sc_end 69;
sc_end 70;
sc_end 71;
sc_end 4;
sc_end 6;
sc_end 7;
sc_end 8;
sc_end 9;
return;}- 1
-
prontera,167,178,2 script Kill Changer 891,{
mes "[PKp Exchanger]";
mes "Привет "+strcharinfo(0)+"! Я могу поменять ваши Kill points на разные полезнее предметы!";
next;
mes "You have ^FF0000"+PVPKills+"^000000 Kill points.";
mes "30 Kill points = 1 LM";
mes "30 Kill points = 50 TCG";
mes "2000 Kill points = 1 Gold Coins";
switch(select("LM:TCG:Gold Coins:Отмена")) {
case 1:
if((PVPKills)<30) break;
set PVPKills, PVPKills - 30;
getitem 674,1;
close;
case 2:
if((PVPKills)<30)break;
set PVPKills, PVPKills - 30;
getitem 7227,50;
close;
case 3:
if((PVPKills)<2000) break;
set PVPKills, PVPKills - 2000;
getitem 671,1;
close;
case 4:
exit;????? close;
}
next;
mes "[^FF0000Извини, но тебе не хватает Kill points^000000]";
close;
OnInit:
waitingroom "Kill Changer",0;
end;
}
Зачем еще одни кавычки ?
Что такое exit; ? новая скрипт команда? не видел...могу ошибаться.
А так этот скрипт можно оптимизировать еще на меньше строчек, если требуется.
спс
-
Спасибо за отличный скрипт. Если вам не тяжело, выложите его на файлообменник в тхт файле, огромное спасибо.
- 1
-
prontera,161,178,5 script pvp 806,{
mes "[pvp]";
mes "Привет, "+strcharinfo(0)+"!";
mes "Я могу обменять 30 ПвП поинтов на что-то.";
mes "У тебя их "+(число убийств);
next;
switch(select("Обменять на 1:Обменять на 2:Уйти")) {
case 1:
if((число убийств)<30) close;
mes "Вот ваши 1";
item 1,1;
set (число убийств),(число убийств)-30;
close;
case 2:
if((число убийств)<30) close;
mes "Вот ваши 2";
item 2,1;
set (число убийств),(число убийств)-30;
close;
case 3:
mes "Пока.";
close;
}
end;
}
я слоу
СПС Все працює
-
тебе с аккаунта или с чара?
Чара
-
LAST UPDATE: 12th,February.2008
номном
Можешь помочь?
-
//===== eAthena Script =======================================
//= eAthena PVP-Ladder
//===== By: ==================================================
//= Terces
//===== Current Version: =====================================
//= 1.7.2
//===== Compatible With: =====================================
//= Any Athena Version that has "for" implemented
//===== Credits: =============================================
//= The whole eAthena Board and the eAthena Chat
//===== Notes: ===============================================
//= Note 1:
//= Experience gain works like this formula:
//= ($@LadderLength-(<new position>-1))*$@LadderExp
//= so if someone gets the first place he'll get
//= $@LadderLength*$@LadderExp experience points.
//============================================================
//= Fixxed by Dante
//= V1.7.2
//= Hosted by Dant3 aka Dante
// HAFE FUN! READ THE TOPIC! IT DONT WORKS MAYBE ON OLDER REV
//
//
// LAST UPDATE: 12th,February.2008
//
// Main Script - Terces (Main Thanks to Terces )
// V1.7.0 - Dant3
// v1.7.1 - AnnieRuRu
// v1.7.2 - Dant3
// THIS SCRIPT WORKS ONLY ON THE NEW EATHENA REVISIONS! ENJOY!
- script PVPLADDEROPTIONS -1,{
end;
OnInit:
// 0 = Disabled (NO)
// 1 = Enable (YES)
set $@languageselect, 0; //Enable/Disable language selection [English/German] (Default: 1)
set $@LadderAnnounce, 0; //Enable/Disable the announcement when a char reaches a new position in the ladder (Default: 1)
set $@LadderLength, 10; //Set the length of the Ladder [!Not higher than 128!] (Default: 30)
set $@LadderSteps, 5; //Set the views per page (Default: 10)
set $@LadderExpGain, 100; //Enable/Disable experience gain when reaching a new position in the ladder (*Note1)
set $@LadderExp, 150; //Set Experience gain value (*Note1)
// Update v1.7.0
set $@LadderZenyGain, 1; //Enable/Disable zeny gain when reaching a new position in the ladder
set $@LadderZeny, 100; //Set Zeny gain value
set $@LadderChatRoom, 1; //Enable/Disable an Chat Room over the NPC with the message "PvP Ladder" (Users can not enter the Chat room)
// Update v1.7.1 (Thanks to AnnieRuRu)
// Added GM PvP Ladder Reset Function
// Update v1.7.2
// Thanks to for the Feedback
set $@LadderAskLogin, 1; //Enable/Disable that the NPC asks about the Broadcast when a Player logins / or with the Npc Chat (0 = Login Ask , 1 = Npc Chat) Related: 0
}
- script PVPLADDERS -1,{
OnPCKillEvent:
if (terces_PVP_resets != $terces_PVP_resets) {
dispbottom "Please relog your character, in order to get the correct kills for you in the PVP ladder.";
dispbottom "Because a GM just reset the ladder.";
end;
}
if ( killedrid == getcharid(3) ) {
set PVPDeaths, PVPDeaths +1;
set #PVPDeathsAccount, #PVPDeathsAccount +1;
set @PVPDeathstoday, @PVPDeathstoday +1;
end;
}
set $@PVPcounter,$@PVPcounter+1;
set getd("$@PVPKill"+$@PVPcounter),getcharid(3); //getd to avoid errors when more than 1 people kill someone
attachrid(killedrid);
set PVPDeaths,PVPDeaths+1;
set @PVPDeathstoday,@PVPDeathstoday+1;
set #PVPDeathsAccount,#PVPDeathsAccount+1;
set getd("$@PVPkilledplayer"+$@PVPcounter+"$"), strcharinfo(0); //again, getd to avoid possible glitches
detachrid;
attachrid(getd("$@PVPKill"+$@PVPcounter));
CountKills:
set PVPKills,PVPKills+1;
set @PVPKillstoday,@PVPKillstoday+1;
set #PVPKillsAccount,#PVPKillsAccount+1;
setarray @playerstats[0],@PVPKillstoday,@PVPDeathstoday,PVPKills,PVPDeaths,#PVPKillsAccount,#PVPDeathsAccount;
l_ladder:
set @considerdeath,0;
for (set @PosinLadder, 0; @PosinLadder < $@LadderLength; set @PosinLadder, @PosinLadder + 1){
if (PVPKills >= $terces_PVP_kills[@PosinLadder]){ //Player deserves to be in the ladder
//Check if Death plays a role on the position
if ((PVPKills == $terces_PVP_kills[@PosinLadder]) && (PVPDeaths > $terces_PVP_deaths[@PosinLadder])) set @considerdeath,1; //Consider Deaths
//Check if the player only topped his own scores
if ($terces_PVP_names$[@PosinLadder] == strcharinfo(0)){
set $terces_PVP_kills[@PosinLadder],PVPKills;
set $terces_PVP_deaths[@PosinLadder],PVPDeaths;
end;
}
//Moves all characters in the Ladder
for (set @beginmoving, $@LadderLength; @beginmoving >= (@PosinLadder+@considerdeath); set @beginmoving, @beginmoving - 1){
if ($terces_PVP_names$[@beginmoving] == strcharinfo(0)){
//If the player already is in the Ladder it only has to move players between characters new position and characters old position
callsub L_LadderMove,0;
end;
}
else if (@beginmoving == (@PosinLadder+@considerdeath)){
//Player is not in the Ladder and therefor it has to move all players from characters new position downwards
callsub L_LadderMove,1;
end;
}
}
end;
}
}
L_LadderMove:
if (getarg(0) == 0) set @length,@beginmoving;
if (getarg(0) == 1) set @length,$@LadderLength;
for (set @movecycle, @length; @movecycle > (@PosinLadder+@considerdeath);
set @movecycle, @movecycle - 1){
set $terces_PVP_names$[@movecycle],$terces_PVP_names$[(@movecycle-1)];
set $terces_PVP_kills[@movecycle],$terces_PVP_kills[(@movecycle-1)];
set $terces_PVP_deaths[@movecycle],$terces_PVP_deaths[(@movecycle-1)];
set $terces_PVP_times[@movecycle],$terces_PVP_times[(@movecycle-1)];
}
//sets the character's stats in the new position
set $terces_PVP_names$[(@PosinLadder+@considerdeath)],strcharinfo(0);
set $terces_PVP_kills[(@PosinLadder+@considerdeath)],PVPKills;
set $terces_PVP_deaths[(@PosinLadder+@considerdeath)],PVPDeaths;
set $terces_PVP_times[(@PosinLadder+@considerdeath)],gettimetick(2);
//Experience Gain
if ($@LadderExpGain == 1){
set BaseExp,BaseExp+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderExp);
dispbottom "You have just been rewarded with "+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderExp)+" base experience points";
}
//Zeny Gain
if ($@LadderZenyGain == 1){
set Zeny,Zeny+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderZeny);
dispbottom "You have just been rewarded with "+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderZeny)+" Zeny";
}
//Announcement (Setting for Char)
if (pvpbroadcast == 2){
announce strcharinfo(0)+" just claimed the "+((@PosinLadder+@considerdeath)+1)+". Position in the Top "+$@LadderLength+" after killing "+getd("$@PVPkilledplayer"+$@PVPcounter+"$")+".",16;
}
//Announcement (Setting for Account)
if (#pvpbroadcast == 2){
announce strcharinfo(0)+" just claimed the "+((@PosinLadder+@considerdeath)+1)+". Position in the Top "+$@LadderLength+" after killing "+getd("$@PVPkilledplayer"+$@PVPcounter+"$")+".",16;
}
end;
OnPCLoginEvent:
if (terces_PVP_resets != $terces_PVP_resets){
set PVPDeaths,0;
set @PVPDeathstoday,0;
set #PVPDeathsAccount,0;
set PVPKills,0;
set @PVPKillstoday,0;
set #PVPKillsAccount,0;
set terces_PVP_resets,$terces_PVP_resets;
}
if ($@LadderAskLogin == 0){
if (#pvpbroadcast == 2) goto L_ignore;
if (pvpbroadcast == 2) goto L_ignore;
if (#pvpbroadcast == 1) goto L_ignore;
if (pvpbroadcast == 1) goto L_ignore;
if (pvpbroadcast == 0)
mes "Hi, "+strcharinfo(0)+"";
mes "Me is the PvP Top Management!";
mes "Let me ask you one Question and i will let you play!";
menu "Later please",L_close,"Okay, fine",L_fine;
L_fine:
next;
mes "Well, do you want read Broadcast Messages when a Player reach a new position on the PvP Ranglist?";
menu "Yeah, why not",L_accept,"No, thanks",L_accept_2,"Wtf is Broadcast?",L_broadcast;
L_accept:
next;
mes "Yay, thank you! ";
mes "Will this Setting work on all your Chars on this account or only this char?";
menu "Account",L_account,"Only this char",L_char;
L_account:
set #pvpbroadcast,2;
next;
mes "Okay, "+strcharinfo(0)+"";
mes "Thank you for your time and have fun!";
close;
L_char:
set pvpbroadcast,2;
next;
mes "Okay, "+strcharinfo(0)+"";
mes "Thank you for your time and have fun!";
goto access_eng;
close;
L_accept_2:
next;
mes "Yay, thank you! ";
mes "Will this Setting work on all your Chars on this account or only this char?";
menu "Account",L_account_2,"Only this char",L_char_2;
L_close:
close;
L_account_2:
set #pvpbroadcast,1;
next;
mes "Okay, "+strcharinfo(0)+"";
mes "Thank you for your time and have fun!";
close;
L_char_2:
set pvpbroadcast,1;
next;
mes "Okay, "+strcharinfo(0)+"";
mes "Thank you for your time and have fun!";
goto access_eng;
close;
L_broadcast:
mes "Broadcasts are this yellow messages from the GMs";
goto L_fine;
}
}
prontera.gat,163,163,4 script PvP TOP 57,{
if ($@LadderChatRoom == 1) {
waitingroom "PvP Top "+$@LadderLength+"",0; // Look on the configuration!
}
set @name$,"[PvP-Ladder]";
//Colour of: Position Name Kills Deaths Time
setarray @colour$[0], "^996600", "^006699", "^00AA00", "^FF0000", "^EE8800";
if ($@LadderAskLogin == 1){
if (#pvpbroadcast == 2) goto access_eng;
if (pvpbroadcast == 2) goto access_eng;
if (#pvpbroadcast == 1) goto access_eng;
if (pvpbroadcast == 1) goto access_eng;
if (pvpbroadcast == 0)
mes "Hi, "+strcharinfo(0)+"";
mes "Me is the PvP Top Management!";
mes "Let me ask you one Question and i will let you play!";
menu "Later please",L_close,"Okay, fine",L_fine;
L_fine:
next;
mes "Well, do you want read Broadcast Messages when a Player reach a new position on the PvP Ranglist?";
menu "Yeah, why not",L_accept,"No, thanks",L_accept_2,"Wtf is Broadcast?",L_broadcast;
L_accept:
next;
mes "Yay, thank you! ";
mes "Will this Setting work on all your Chars on this account or only this char?";
menu "Account",L_account,"Only this char",L_char;
L_account:
set #pvpbroadcast,2;
next;
mes "Okay, "+strcharinfo(0)+"";
mes "Thank you for your time and have fun!";
close;
L_char:
set pvpbroadcast,2;
next;
mes "Okay, "+strcharinfo(0)+"";
mes "Thank you for your time and have fun!";
goto access_eng;
close;
L_accept_2:
next;
mes "Yay, thank you! ";
mes "Will this Setting work on all your Chars on this account or only this char?";
menu "Account",L_account_2,"Only this char",L_char_2;
L_close:
close;
L_account_2:
set #pvpbroadcast,1;
next;
mes "Okay, "+strcharinfo(0)+"";
mes "Thank you for your time and have fun!";
close;
L_char_2:
set pvpbroadcast,1;
next;
mes "Okay, "+strcharinfo(0)+"";
mes "Thank you for your time and have fun!";
goto access_eng;
close;
L_broadcast:
mes "Broadcasts are this yellow messages from the GMs";
goto L_fine;
}
access_eng:
mes @name$;
mes "Hello "+strcharinfo(0)+"...";
mes "If you want to I can show you your PVP stats.";
next;
M_selection_eng:
if ( getgmlevel () < 99 )
menu "Show me the PVP Ladder",M_Ladder_eng,"PvP stats since my login",M_seitLogin_eng,"PvP stats of this Char",M_dieserChar_eng,"Stats of the whole account",M_vomAccount_eng,"Cancel",M_abbrechen_eng;
else
menu "Show me the PVP Ladder",M_Ladder_eng,"PvP stats since my login",M_seitLogin_eng,"PvP stats of this Char",M_dieserChar_eng,"Stats of the whole account",M_vomAccount_eng,"Reset Ladder",L_reset,"Cancel",M_abbrechen_eng;
M_Ladder_eng:
mes "Alright...I'll show you the Top "+ $@LadderLength +" with "+$@LadderSteps+" entries per page.";
mes "It'll be viewed like this:";
mes @colour$[0]+"Place^000000: "+@colour$[1]+"<name>^000000 :"+@colour$[2]+"<kills>^000000:"+@colour$[3]+"<deaths>^000000 "+@colour$[4]+"<time>";
next;
callsub L_Ladder;
goto M_selection_eng;
M_seitLogin_eng:
mes @name$;
mes "Your stats since your login:";
mes @PVPKillstoday+"/"+@PVPDeathstoday+"(Kills/Deaths)";
next;
goto M_selection_eng;
M_dieserChar_eng:
mes @name$;
mes "Your stats of this Char:";
mes PVPKills+"/"+PVPDeaths+"(Kills/Deaths)";
next;
goto M_selection_eng;
M_vomAccount_eng:
mes @name$;
mes "Your stats of the whole account:";
mes #PVPKillsAccount+"/"+#PVPDeathsAccount+"(Kills/Deaths)";
next;
goto M_selection_eng;
M_abbrechen_eng:
mes @name$;
mes "OK. You can come back to me and see your stats whenever you want.";
close;
L_reset:
if (getgmlevel() < 99) end;
mes "Do you want to reset the ladder?";
if (select ("Yes","No") == 2) goto L_end;
mes "Are you really really sure you want to reset it?";
menu "Yes, ffs!!",-,"No",L_end;
deletearray $terces_PVP_kills,128;
deletearray $terces_PVP_deaths,128;
deletearray $terces_PVP_names$,128;
deletearray $terces_PVP_times,128;
set $terces_PVP_resets,$terces_PVP_resets +1;
L_end:
mes "Okay...cya";
close;
L_Ladder:
for (set @y,0; @y < $@LadderLength; set @y,@y+$@LadderSteps){
for (set @x,@y; (@x < (@y+$@LadderSteps)) && (@x < ($@LadderLength)); set @x,@x+1){
if ($terces_PVP_names$[@x] != ""){
mes @colour$[0]+(@x+1)+"^000000: "+@colour$[1]+$terces_PVP_names$[@x]+"^000000 "+@colour$[2]+$terces_PVP_kills[@x]+"^000000:"+@colour$[3]+$terces_PVP_deaths[@x]+"^000000 ~ "+@colour$[4]+callfunc ("Gettime",$terces_PVP_times[@x])+"^000000";
} else {
mes "^DD0000"+(@x+1)+": ^006699None^000000 ";
}
}
next;
}
return;
}
function script Gettime {
if (getarg(0)==0) return;
set @difftimedays,(gettimetick(2) - getarg(0));
set @difftimehours,@difftimedays%86400;
set @difftimeminutes,@difftimehours%3600;
set @difftimeseconds,@difftimeminutes%60;
set @days,@difftimedays/86400;
set @hours,@difftimehours/3600;
set @minutes,@difftimeminutes/60;
set @seconds,@difftimeseconds;
set @result$,"";
if(@days != 0) set @result$,@result$+@days+"d ";
if(@hours != 0) set @result$,@result$+@hours+"h ";
if(@minutes != 0) set @result$,@result$+@minutes+"m ";
if(@seconds != 0) set @result$,@result$+@seconds+"s";
return (@result$);
}
prontera,167,178,2 script Kill Changer 891,{
mes "[PKp Exchanger]";
mes "Привет "+strcharinfo(0)+"! Я могу поменять ваши Kill points на разные полезнее предметы!";
next;
mes "You have ^FF0000"+PVPKills+"^000000 Kill points.";
mes "30 Kill points = 1 LM";
mes "30 Kill points = 50 TCG";
mes "2000 Kill points = 1 Gold Coins";
switch(select("LM:TCG:Gold Coins:Отмена")) {
case 1:
if((PVPKills)<30) break;
set PVPKills, PVPKills - 30;
getitem 674,1;
close;
case 2:
if((PVPKills)<30) break;
set PVPKills, PVPKills - 30;
getitem 7227,50;
close;
case 3:
if((PVPKills)<2000) break;
set PVPKills, PVPKills - 2000;
getitem 671,1;
close;
case 4:
exit;
}
next;
mes "[^FF0000Извини, но тебе не хватает Kill points^000000]"; close;
OnInit:
waitingroom "Kill Changer",0;
end;
}- 1
-
set .@guild, getcharid(2); - зачем? Может вместо ника в объявлении ввести "зашел член гильдии такой-то"
if(.announce>0) { mapannounce "guild_vs2","Игрок из "+getguildname(.@guild)+" вошел на GvG Арену",0;}
Разные mes для sex 0/1
Два разных нпц
if(sex)){
....
} else {
}
if(getmapusers("guild_vs2.gat") >= 100 ) break;
if(.guild_arena>0){
set .@guild, getcharid(2);
- if(.@guild<1){ mes "^0000FFВы не в гильдии!!!^000000";close;}}
+ if(.@guild<1){ mes "^0000FFВы не в гильдии!!!^000000";close;}
if(.announce>0) { mapannounce "guild_vs1",""+strcharinfo(0)+" вошел на GvG Арену",0;}
warp "guild_vs2",0,0;
+ }
end;как сейчас?- 1
-
Немного переписал код.
Обновление к версии V1.4
-
- здохнуть->сдохнуть
- Выберите, пожалуйста, одну из арен
- set .@guild, getcharid(2); - зачем? Может вместо ника в объявлении ввести "зашел член гильдии такой-то"
case 5:
if(getmapusers("guild_vs2.gat") >= 100 ) break;
if(.guild_arena>0){
set .@guild, getcharid(2);
if(.@guild<1){ mes "^0000FFВы не в гильдии!!!^000000";close;}}
if(.announce>0) { mapannounce "guild_vs1",""+strcharinfo(0)+" вошел на GvG Арену",0;}
warp "guild_vs2",0,0;
end;
Если арена отключена, то все равно варпнет- Предыдущий пункт - почему объявление на карте guild_vs1, а не 2?
- Разные mes для sex 0/1
if(getmapusers("guild_vs2.gat") >= 100 ) break;
if(.guild_arena>0){
set .@guild, getcharid(2);
if(.@guild<1){ mes "^0000FFВы не в гильдии!!!^000000";close;}}
if(.announce>0) { mapannounce "guild_vs2",""+strcharinfo(0)+" вошел на GvG Арену",0;}
warp "guild_vs2",0,0;
end;Помогите реализовать
[*]set .@guild, getcharid(2); - зачем? Может вместо ника в объявлении ввести "зашел член гильдии такой-то"
[*]Разные mes для sex 0/1
И как тогда избавится от set .guild_arena,1; //1 - арена гильди включена. 0 - арена гильдий выключена.
?
- здохнуть->сдохнуть
-
Оставь его копирайт и исправь
Хотя копирайт на такой скрипт
ГОТОВО- 1
-
Для создания меню с 2 пунктами юзаем команду 'select':
if(select("Пункт 1:Пункт 2")==1){
close;
}
close;//= Скрипт выхода с Арен = Anoob1s -
Молодец, постарался.Ставлю +, потом проверю.
Спс
Если что то не так дай знать а то я только учусь.
Хочу до весны немного подучить и сделать сервер норм.
-
NPC PvP Arena v1.5
Арена clasik
Арена(Без Зелий)
Арена 1 на 1
Арена 2 на 2
Арена GvG
Добавлен анонс входа игроков на арену
Добавлен waitingroom {Показывает скока человек на какой pvp локе}
На каждой арене стоит NPC "выход с кодом"
Установлены mapflag
Изменен cкрипт выхода с арен [ switch(select на if(select ]
Немного переписан код v1.5
//===== eAthena Script =======================================
//= PVP Arena
//===== By: ==================================================
//= Скрипт Арен = Enwteyn + помощь ea-support.ru
//= Скрипт выхода с Арен = Anoob1s
//===== Current Version: =====================================
//= 1.5
//===== Compatible With: =====================================
//= Eathena SVN
prontera.gat,163,168,4 script Арена 707,{
mes "[^0000FFАрена^000000]";
mes "Приветствую Вас, ^FF0000"+strcharinfo(0)+"^000000.";
mes "Выберите пожалуйста одну из арен, куда Вы хотите попасть.";
switch(select("Арена clasik [" + getmapusers("guild_vs1.gat") + " / 100]","Арена(Без Зелий) [" + getmapusers("pvp_n_1-5") + " / 100]","Арена 2x2 [" + getmapusers("guild_vs3.gat") + " / 4]","Арена 1x1[" + getmapusers("guild_vs5.gat") + " / 2]","Арена GvG[" + getmapusers("guild_vs2.gat") + " / 100]","Выход")){
//---ARENA clasik
case 1:
if(getmapusers("guild_vs1.gat") >= 100 ) break;
mapannounce "guild_vs1.gat",""+strcharinfo(0)+" вошел на PvP Арену",0;
warp "guild_vs1",0,0;
end;
//---ARENA Без Зелий
case 2:
if(getmapusers("pvp_n_1-5") >= 100 ) break;
mapannounce "pvp_n_1-5",""+strcharinfo(0)+" вошел на PvP Арену",0;
warp "pvp_n_1-5",0,0;
end;
//---ARENA 2x2
case 3:
if(getmapusers("guild_vs3.gat") >= 4 ) break;
mapannounce "guild_vs3.gat",""+strcharinfo(0)+" вошел на PvP Арену",0;
warp "guild_vs3",0,0;
end;
//---ARENA 1x1
case 4:
if(getmapusers("guild_vs5.gat") >= 2 ) break;
mapannounce "guild_vs5.gat",""+strcharinfo(0)+" вошел на PvP Арену",0;
warp "guild_vs5",0,0;
end;
//---ARENA GvG
case 5:
if(getmapusers("guild_vs2.gat") >= 100 ) break;
if(getcharid(2)<1){ mes "^0000FFВы не в гильдии!!!^000000";close;}
mapannounce "guild_vs2","Игрок из гильдии "+getguildname(getcharid(2))+" вошел на GvG Арену",0;
warp "guild_vs2",0,0;
end;
case 6:
mes "^0000FFХорошо, возвращайся, как захочешь cдохнуть^000000";
close;
}
mes "[^FF0000Извини, на этой арене нет места...^000000]";
close;
//---Waitingroom
OnInit:
OnTimer1000:
delwaitingroom;
waitingroom "PvP|"+(getmapusers("guild_vs1"))+" | "+(getmapusers("pvp_n_1-5"))+" | "+(getmapusers("guild_vs3"))+" | "+(getmapusers("guild_vs5"))+" | "+(getmapusers("guild_vs2"))+"",0;
initnpctimer;
}
//
//---Скрипт выхода с Арен---//
guild_vs1,47,5,5 script Выход с Арены 708,{
set @vihod,rand (12345,99999);
mes "[^0000FFВыход с Арены^000000]";
mes "Приветствую Вас, ^FF0000"+strcharinfo(0)+"^000000.";
mes "Вы уверены, что хотите выйти с Арены?";
if(select("Нет:Да")==1){ close; }
mes "Тогда введите число ^FF0000"+ @vihod +"^000000.";
next;
input @vihod2;
if(@vihod2==@vihod) {
warp "prontera",155,178;
end;
}
else {
mes "[^0000FFВыход с Арены^000000]";
mes "Результат не верный.";
mes "Я не могу Вас выпустить.";
close; }
OnInit:
waitingroom "[Выход]",0;
end;
}
}
//---Выхода---//
pvp_n_1-5,95,60,3 duplicate(Выход с Арены) Выход с Арены#2 708
guild_vs3,49,85,3 duplicate(Выход с Арены) Выход с Арены#3 708
guild_vs5,50,76,3 duplicate(Выход с Арены) Выход с Арены#4 708
guild_vs2,46,06,1 duplicate(Выход с Арены) Выход с Арены#5 708
//
//---МапФлаги---
//
// Арена clasik
guild_vs1 mapflag nowarpto
guild_vs1 mapflag nogo
guild_vs1 mapflag nobranch
guild_vs1 mapflag noteleport
guild_vs1 mapflag novending
guild_vs1 mapflag nodrop
guild_vs1 mapflag noloot
//---Арена(Без Зелий)
pvp_n_1-5 mapflag nowarp
pvp_n_1-5 mapflag nowarpto
pvp_n_1-5 mapflag nogo
pvp_n_1-5 mapflag nobranch
pvp_n_1-5 mapflag noteleport
pvp_n_1-5 mapflag novending
pvp_n_1-5 mapflag nodrop
pvp_n_1-5 mapflag noloot
pvp_n_1-5 mapflag restricted 5
//---Арена 2x2
guild_vs3 mapflag nowarp
guild_vs3 mapflag nowarpto
guild_vs3 mapflag nogo
guild_vs3 mapflag nobranch
guild_vs3 mapflag noteleport
guild_vs3 mapflag noreturn
guild_vs3 mapflag novending
guild_vs3 mapflag nodrop
guild_vs3 mapflag noloot
//---Арена 1x1
guild_vs5 mapflag nowarp
guild_vs5 mapflag nowarpto
guild_vs5 mapflag nogo
guild_vs5 mapflag nobranch
guild_vs5 mapflag noteleport
guild_vs5 mapflag noreturn
guild_vs5 mapflag novending
guild_vs5 mapflag nodrop
guild_vs5 mapflag noloot
//---Арена GVG
guild_vs2 mapflag nowarp
guild_vs2 mapflag nowarpto
guild_vs2 mapflag nogo
guild_vs2 mapflag nobranch
guild_vs2 mapflag noteleport
guild_vs2 mapflag novending
guild_vs2 mapflag nodrop
guild_vs2 mapflag noloot- 5
Дроп предмета с MvP
в Скрипты
Опубликовано
использовал скрипт