Ir para conteúdo
  • Cadastre-se

aCis 192 pré configurada by WilliamFS


WilliamFS

Posts recomendados

da //respawn roy_the_cat e ja Élvis NPC gato Mod ON ^^!

 

 

AAA e WillianFS, o Anti Walker naum ta funfa :S.

Vou reportar

 

Cara, tudo instalado certinho mas tem um problema: Quanto coloca os sets donates o char fica invisível ou entao sem set. Seria ausencia de texturas?

 

Você fez alguma coisa errada!

 

Tem que usar minha system e pelo jeito como você está falando que os chars ficam invisíveis, você não esta usando minha system!

Link para o comentário
Compartilhar em outros sites


Cara nao tem como aumentar o tempode buff 1hr e poco

e a Daga Freya ela ta bugada ela ataka como se fosse uma dual

 

Não é uma Hora é duas horas, está duas horas de buff!!!!

 

E quanto a adaga freya eu falei que não estava em uso por isso nem coloquei no npc

Link para o comentário
Compartilhar em outros sites

@ WilliamFS ,MANO TERIA COMO VC FAZER UM PRE PARA ESSE RATE 500X

COM ESSE SET

1-TITANIUM

2-VESPER SILVER

3-DK

DESCULPE QUE TIVE UM POUCO DE DIFICULDADE PARA TRABLHAR EM CIMA DO SEU PRE !

FICOU SHOW DE BOLA SEU PROJETO! NOTA 1O

SE PUDER FAZER ISSO MANDA UM MP !

Lineage II Gods War PvP ~> Novo projeto

Lineage II Hera Low Rate~> Novo Projeto

Lineage II Eclips C4 ~> Novo Projeto

Lineage II Fácil

Link para o comentário
Compartilhar em outros sites

Willian, olha esse Error

AUfmV.jpg

 

Tipo eu Configuro ele Certim

 

 

@echo off
title aCis gameserver console
:start
REM -------------------------------------
REM Default parameters for a basic server.
C:\Program Files (x86)\Java\jdk1.6.0_03\bin
java -Xmx512m -cp ./libs/*; net.sf.l2j.gameserver.GameServer
REM
REM If you have a big server and lots of memory, you could experiment for example with
REM java -server -Xmx1536m -Xms1024m -Xmn512m -XX:PermSize=256m -XX:SurvivorRatio=8 -Xnoclassgc -XX:+AggressiveOpts
REM -------------------------------------
if ERRORLEVEL 2 goto restart
if ERRORLEVEL 1 goto error
goto end
:restart
echo.
echo Admin have restarted, please wait.
echo.
goto start
:error
echo.
echo Server have terminated abnormaly.
echo.
:end
echo.
echo Server terminated.
echo.
pause

 

 

 

Tem o Atalho pro JAVA certim q eu Coloquei Verifica pra mim ae :D.

Esŧudαηŧє dє "Publicidade e Propaganda"

Link para o comentário
Compartilhar em outros sites

metade dos debuff nao funcionan ( all class )

como assim nao funciona .. seja mais especifico, pois testei aki e esta fucionando ...

=========================================================================================

 

@WilliamFS - onde configuro as only para colocar o numero minimo de participantes, so tempo de participacao entre outros tempos, pois onte estava testando e nao puxou so com 2 cadastrados .. pode me da uma luz amigo WilliamFS ... ou alguem que souber .. vlw abrs ...

 

 

#=============================================================
#                          Olympiad
#=============================================================
# Olympiad Start Time in Military hours Default 6pm (18) 
AltOlyStartTime = 18

# Olympiad Start Time for Min's, Default 00 so at the start of the hour.
AltOlyMin = 00

# Olympiad Compeition Period, Default 6 hours.
# (If set different, should be increment by 10mins)
AltOlyCPeriod = 21600000

# Olympiad Battle Period, Default 6 minutes. (If set different, should be < AltOlyBWait)
AltOlyBattle = 360000

# Olympiad Battle Wait, Default 10 Minutes
AltOlyBWait = 600000

# Olympiad Inital Wait Period, Default 5 minutes
AltOlyIWait = 300000

# Olympiad Weekly Period, Default 1 week
AltOlyWPeriod = 604800000

# Olympiad Validation Period, Default 24 Hours.
AltOlyVPeriod = 86400000

#This is the item restriction for olympiad. if an item is restricted , then a player cannot 
# Use it in olympiad mode. this is a fastlist. so it has to be like  (OlyRestrictedItems = 1,2,3) 
OlyRestrictedItems = 0

Editado por IBI
Link para o comentário
Compartilhar em outros sites

fico invisivel quando uso o set so aparece a cabeça do meu char e botei tudo certo animation system e systexture o que faço ?

 

Você não está usando a minha system, tem que usar minha system caso o contrario os sets não funcionam!

 

metade dos debuff nao funcionan ( all class )

 

Seja mais específico.

 

@ WilliamFS ,MANO TERIA COMO VC FAZER UM PRE PARA ESSE RATE 500X

COM ESSE SET

1-TITANIUM

2-VESPER SILVER

3-DK

DESCULPE QUE TIVE UM POUCO DE DIFICULDADE PARA TRABLHAR EM CIMA DO SEU PRE !

FICOU SHOW DE BOLA SEU PROJETO! NOTA 1O

SE PUDER FAZER ISSO MANDA UM MP !

 

No momento estou muito atarefado, sem condições de fazer um outro pré, lamento :blush:

 

Willian, olha esse Error

AUfmV.jpg

 

Tipo eu Configuro ele Certim

 

 

@echo off
title aCis gameserver console
:start
REM -------------------------------------
REM Default parameters for a basic server.
C:\Program Files (x86)\Java\jdk1.6.0_03\bin
java -Xmx512m -cp ./libs/*; net.sf.l2j.gameserver.GameServer
REM
REM If you have a big server and lots of memory, you could experiment for example with
REM java -server -Xmx1536m -Xms1024m -Xmn512m -XX:PermSize=256m -XX:SurvivorRatio=8 -Xnoclassgc -XX:+AggressiveOpts
REM -------------------------------------
if ERRORLEVEL 2 goto restart
if ERRORLEVEL 1 goto error
goto end
:restart
echo.
echo Admin have restarted, please wait.
echo.
goto start
:error
echo.
echo Server have terminated abnormaly.
echo.
:end
echo.
echo Server terminated.
echo.
pause

 

 

 

Tem o Atalho pro JAVA certim q eu Coloquei Verifica pra mim ae :D.

 

pra quê alterar isso? não era para você mexer nisso, remove essa linha que você adicionou!

 

como assim nao funciona .. seja mais especifico, pois testei aki e esta fucionando ...

=========================================================================================

 

@WilliamFS - onde configuro as only para colocar o numero minimo de participantes, so tempo de participacao entre outros tempos, pois onte estava testando e nao puxou so com 2 cadastrados .. pode me da uma luz amigo WilliamFS ... ou alguem que souber .. vlw abrs ...

 

 

#=============================================================
#                          Olympiad
#=============================================================
# Olympiad Start Time in Military hours Default 6pm (18) 
AltOlyStartTime = 18

# Olympiad Start Time for Min's, Default 00 so at the start of the hour.
AltOlyMin = 00

# Olympiad Compeition Period, Default 6 hours.
# (If set different, should be increment by 10mins)
AltOlyCPeriod = 21600000

# Olympiad Battle Period, Default 6 minutes. (If set different, should be < AltOlyBWait)
AltOlyBattle = 360000

# Olympiad Battle Wait, Default 10 Minutes
AltOlyBWait = 600000

# Olympiad Inital Wait Period, Default 5 minutes
AltOlyIWait = 300000

# Olympiad Weekly Period, Default 1 week
AltOlyWPeriod = 604800000

# Olympiad Validation Period, Default 24 Hours.
AltOlyVPeriod = 86400000

#This is the item restriction for olympiad. if an item is restricted , then a player cannot 
# Use it in olympiad mode. this is a fastlist. so it has to be like  (OlyRestrictedItems = 1,2,3) 
OlyRestrictedItems = 0

 

Man, esse projeto é retail, provavelmente ele não deixa configurar número de participantes, é claro que tem que verificar se está funcionando...

Link para o comentário
Compartilhar em outros sites

WillianC eu Remover esta Linha naum reconhece o Java :S. todas as outars REV até a Ultima Atualização q vc fezse ser a 184, presisava q colocasse esta linha para reconhecer o JAVA.

 

 

Axei o Error aqui desfarça :lala:

 

Tenho q acrecentar na frente os códigos

set PATH="C:\Program Files (x86)\Java\jdk1.6.0_03\bin"

 

hehehehehehehehehehe

Editado por SkyCrawleR

Esŧudαηŧє dє "Publicidade e Propaganda"

Link para o comentário
Compartilhar em outros sites

WillianC eu Remover esta Linha naum reconhece o Java :S. todas as outars REV até a Ultima Atualização q vc fezse ser a 184, presisava q colocasse esta linha para reconhecer o JAVA.

 

 

Axei o Error aqui desfarça :lala:

 

Tenho q acrecentar na frente os códigos

set PATH="C:\Program Files (x86)\Java\jdk1.6.0_03\bin"

 

hehehehehehehehehehe

 

 

Aqui não coloco nada e funciona perfeitamente

Link para o comentário
Compartilhar em outros sites

esta funcionando ? então teste as skill do over , os debuff nao funcionan , necro a mesma coisa apenas o anchor pega , do tanker arrest , stun nada funciona

ja mechi nas skill mas o mesmo problema continua

www.l2acadia.ddns.com.br

Link para o comentário
Compartilhar em outros sites

amigo to usando sua system sim animation e systexture tem algum macete ai se tiver mim diz pq ja mexo em servidores a mas de 3 anos tenho que botar systemv5 ? para poder pegar ?

pq ja to usando sua system vejo tudo certinho menos os sets donations

desde ja agradesço pela atençao

Link para o comentário
Compartilhar em outros sites

  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.






  • Patrocinadores

  • Quem Está Navegando

    • Nenhum usuário registrado visualizando esta página.
  • Posts

    • Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?    
    • muchas gracias muy lindos NPC 🙂
    • relaxa jovem gafanhoto, testa as quests. e posTa os erros indesejaveis.  
    • Se alguém pudesse me ensinar como codificar as missões, eu ficaria feliz em fazer isso sozinho ou pelo menos ajudar. Eu realmente quero jogar em um servidor onde todas as quests funcionem bem e melhor ainda se você puder fazer quests customizadas!
    • mas no interlude, nem todas as quests de class,  vai mostrar onde tem que ir, ate o reborn nao mostrava quando era interlude, só mostrou depois que eles colocaram client classic pra rodar, e ficou melhor ainda quando virou hellbound em diante, mas ha sim alguma chance de modificar isso direto no script para fazer igualmente, só basta te um pouco de paciencia e persistencia exato
    • 408_PathToElvenwizard dá Orion eu tive que mexer tbm, até modifiquei e consegui deixar ela igual do Classic, com a seta e a marcação no mapa. (não retail IL) Dá pra importar py de várias revs, o foda é que não da regular as quest py através do debug em tempo real, pelo menos eu não consegui rsrs
    • Hasta el momento todas las QUESTS son completables si te guias con un tutorial de youtube. El problema es que tienen bugs de locacion y de subquests que no avanzan o no te marcan correctamente a donde ir en el mapa, cosa que en Retail si se ve como corresponde.
    • estranho, mas pelo menos a galera nunca reclamo das quests quando tinha aberto 5x, geral fez class primeira e segunda job, poucos que compraram a class
    • en RUSaCis-3.5 data pack, las Quests estan en formato .java y son diferentes a como estan redactadas en jOrion y jFrozen 1.5 (ProyectX) package net.sf.l2j.gameserver.scripting.quest; import net.sf.l2j.commons.random.Rnd; import net.sf.l2j.gameserver.enums.Paperdoll; import net.sf.l2j.gameserver.enums.QuestStatus; import net.sf.l2j.gameserver.enums.actors.ClassId; import net.sf.l2j.gameserver.model.actor.Creature; import net.sf.l2j.gameserver.model.actor.Npc; import net.sf.l2j.gameserver.model.actor.Player; import net.sf.l2j.gameserver.network.serverpackets.SocialAction; import net.sf.l2j.gameserver.scripting.QuestState; public class Q224_TestOfSagittarius extends SecondClassQuest { private static final String QUEST_NAME = "Q224_TestOfSagittarius"; // Items private static final int BERNARD_INTRODUCTION = 3294; private static final int HAMIL_LETTER_1 = 3295; private static final int HAMIL_LETTER_2 = 3296; private static final int HAMIL_LETTER_3 = 3297; private static final int HUNTER_RUNE_1 = 3298; private static final int HUNTER_RUNE_2 = 3299; private static final int TALISMAN_OF_KADESH = 3300; private static final int TALISMAN_OF_SNAKE = 3301; private static final int MITHRIL_CLIP = 3302; private static final int STAKATO_CHITIN = 3303; private static final int REINFORCED_BOWSTRING = 3304; private static final int MANASHEN_HORN = 3305; private static final int BLOOD_OF_LIZARDMAN = 3306; private static final int CRESCENT_MOON_BOW = 3028; private static final int WOODEN_ARROW = 17; // Rewards private static final int MARK_OF_SAGITTARIUS = 3293; // NPCs private static final int BERNARD = 30702; private static final int HAMIL = 30626; private static final int SIR_ARON_TANFORD = 30653; private static final int VOKIAN = 30514; private static final int GAUEN = 30717; // Monsters private static final int ANT = 20079; private static final int ANT_CAPTAIN = 20080; private static final int ANT_OVERSEER = 20081; private static final int ANT_RECRUIT = 20082; private static final int ANT_PATROL = 20084; private static final int ANT_GUARD = 20086; private static final int NOBLE_ANT = 20089; private static final int NOBLE_ANT_LEADER = 20090; private static final int BREKA_ORC_SHAMAN = 20269; private static final int BREKA_ORC_OVERLORD = 20270; private static final int MARSH_STAKATO_WORKER = 20230; private static final int MARSH_STAKATO_SOLDIER = 20232; private static final int MARSH_STAKATO_DRONE = 20234; private static final int MARSH_SPIDER = 20233; private static final int ROAD_SCAVENGER = 20551; private static final int MANASHEN_GARGOYLE = 20563; private static final int LETO_LIZARDMAN = 20577; private static final int LETO_LIZARDMAN_ARCHER = 20578; private static final int LETO_LIZARDMAN_SOLDIER = 20579; private static final int LETO_LIZARDMAN_WARRIOR = 20580; private static final int LETO_LIZARDMAN_SHAMAN = 20581; private static final int LETO_LIZARDMAN_OVERLORD = 20582; private static final int SERPENT_DEMON_KADESH = 27090; public Q224_TestOfSagittarius() { super(224, "Test Of Sagittarius"); setItemsIds(BERNARD_INTRODUCTION, HAMIL_LETTER_1, HAMIL_LETTER_2, HAMIL_LETTER_3, HUNTER_RUNE_1, HUNTER_RUNE_2, TALISMAN_OF_KADESH, TALISMAN_OF_SNAKE, MITHRIL_CLIP, STAKATO_CHITIN, REINFORCED_BOWSTRING, MANASHEN_HORN, BLOOD_OF_LIZARDMAN, CRESCENT_MOON_BOW); addQuestStart(BERNARD); addTalkId(BERNARD, HAMIL, SIR_ARON_TANFORD, VOKIAN, GAUEN); addMyDying(ANT, ANT_CAPTAIN, ANT_OVERSEER, ANT_RECRUIT, ANT_PATROL, ANT_GUARD, NOBLE_ANT, NOBLE_ANT_LEADER, BREKA_ORC_SHAMAN, BREKA_ORC_OVERLORD, MARSH_STAKATO_WORKER, MARSH_STAKATO_SOLDIER, MARSH_STAKATO_DRONE, MARSH_SPIDER, ROAD_SCAVENGER, MANASHEN_GARGOYLE, LETO_LIZARDMAN, LETO_LIZARDMAN_ARCHER, LETO_LIZARDMAN_SOLDIER, LETO_LIZARDMAN_WARRIOR, LETO_LIZARDMAN_SHAMAN, LETO_LIZARDMAN_OVERLORD, SERPENT_DEMON_KADESH); } @Override public String onAdvEvent(String event, Npc npc, Player player) { String htmltext = event; QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; // BERNARD if (event.equalsIgnoreCase("30702-04.htm")) { st.setState(QuestStatus.STARTED); st.setCond(1); playSound(player, SOUND_ACCEPT); giveItems(player, BERNARD_INTRODUCTION, 1); if (giveDimensionalDiamonds39(player)) htmltext = "30702-04a.htm"; } // HAMIL else if (event.equalsIgnoreCase("30626-03.htm")) { st.setCond(2); playSound(player, SOUND_MIDDLE); takeItems(player, BERNARD_INTRODUCTION, 1); giveItems(player, HAMIL_LETTER_1, 1); } else if (event.equalsIgnoreCase("30626-07.htm")) { st.setCond(5); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_1, 10); giveItems(player, HAMIL_LETTER_2, 1); } // SIR_ARON_TANFORD else if (event.equalsIgnoreCase("30653-02.htm")) { st.setCond(3); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_1, 1); } // VOKIAN else if (event.equalsIgnoreCase("30514-02.htm")) { st.setCond(6); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_2, 1); } return htmltext; } @Override public String onTalk(Npc npc, Player player) { String htmltext = getNoQuestMsg(); QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; switch (st.getState()) { case CREATED: if (player.getClassId() != ClassId.ROGUE && player.getClassId() != ClassId.ELVEN_SCOUT && player.getClassId() != ClassId.ASSASSIN) htmltext = "30702-02.htm"; else if (player.getStatus().getLevel() < 39) htmltext = "30702-01.htm"; else htmltext = "30702-03.htm"; break; case STARTED: int cond = st.getCond(); switch (npc.getNpcId()) { case BERNARD: htmltext = "30702-05.htm"; break; case HAMIL: if (cond == 1) htmltext = "30626-01.htm"; else if (cond == 2 || cond == 3) htmltext = "30626-04.htm"; else if (cond == 4) htmltext = "30626-05.htm"; else if (cond > 4 && cond < 8) htmltext = "30626-08.htm"; else if (cond == 8) { htmltext = "30626-09.htm"; st.setCond(9); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_2, 10); giveItems(player, HAMIL_LETTER_3, 1); } else if (cond > 8 && cond < 12) htmltext = "30626-10.htm"; else if (cond == 12) { htmltext = "30626-11.htm"; st.setCond(13); playSound(player, SOUND_MIDDLE); } else if (cond == 13) htmltext = "30626-12.htm"; else if (cond == 14) { htmltext = "30626-13.htm"; takeItems(player, BLOOD_OF_LIZARDMAN, -1); takeItems(player, CRESCENT_MOON_BOW, 1); takeItems(player, TALISMAN_OF_KADESH, 1); giveItems(player, MARK_OF_SAGITTARIUS, 1); rewardExpAndSp(player, 54726, 20250); player.broadcastPacket(new SocialAction(player, 3)); playSound(player, SOUND_FINISH); st.exitQuest(false); } break; case SIR_ARON_TANFORD: if (cond == 2) htmltext = "30653-01.htm"; else if (cond > 2) htmltext = "30653-03.htm"; break; case VOKIAN: if (cond == 5) htmltext = "30514-01.htm"; else if (cond == 6) htmltext = "30514-03.htm"; else if (cond == 7) { htmltext = "30514-04.htm"; st.setCond(8); playSound(player, SOUND_MIDDLE); takeItems(player, TALISMAN_OF_SNAKE, 1); } else if (cond > 7) htmltext = "30514-05.htm"; break; case GAUEN: if (cond == 9) { htmltext = "30717-01.htm"; st.setCond(10); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_3, 1); } else if (cond == 10) htmltext = "30717-03.htm"; else if (cond == 11) { htmltext = "30717-02.htm"; st.setCond(12); playSound(player, SOUND_MIDDLE); takeItems(player, MANASHEN_HORN, 1); takeItems(player, MITHRIL_CLIP, 1); takeItems(player, REINFORCED_BOWSTRING, 1); takeItems(player, STAKATO_CHITIN, 1); giveItems(player, CRESCENT_MOON_BOW, 1); giveItems(player, WOODEN_ARROW, 10); } else if (cond > 11) htmltext = "30717-04.htm"; break; } break; case COMPLETED: htmltext = getAlreadyCompletedMsg(); break; } return htmltext; } @Override public void onMyDying(Npc npc, Creature killer) { final Player player = killer.getActingPlayer(); final QuestState st = checkPlayerState(player, npc, QuestStatus.STARTED); if (st == null) return; switch (npc.getNpcId()) { case ANT: case ANT_CAPTAIN: case ANT_OVERSEER: case ANT_RECRUIT: case ANT_PATROL: case ANT_GUARD: case NOBLE_ANT: case NOBLE_ANT_LEADER: if (st.getCond() == 3 && dropItems(player, HUNTER_RUNE_1, 1, 10, 500000)) st.setCond(4); break; case BREKA_ORC_SHAMAN: case BREKA_ORC_OVERLORD: if (st.getCond() == 6 && dropItems(player, HUNTER_RUNE_2, 1, 10, 500000)) { st.setCond(7); giveItems(player, TALISMAN_OF_SNAKE, 1); } break; case MARSH_STAKATO_WORKER: case MARSH_STAKATO_SOLDIER: case MARSH_STAKATO_DRONE: if (st.getCond() == 10 && dropItems(player, STAKATO_CHITIN, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, REINFORCED_BOWSTRING)) st.setCond(11); break; case MARSH_SPIDER: if (st.getCond() == 10 && dropItems(player, REINFORCED_BOWSTRING, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case ROAD_SCAVENGER: if (st.getCond() == 10 && dropItems(player, MITHRIL_CLIP, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, REINFORCED_BOWSTRING, STAKATO_CHITIN)) st.setCond(11); break; case MANASHEN_GARGOYLE: if (st.getCond() == 10 && dropItems(player, MANASHEN_HORN, 1, 1, 100000) && player.getInventory().hasItems(REINFORCED_BOWSTRING, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case LETO_LIZARDMAN: case LETO_LIZARDMAN_ARCHER: case LETO_LIZARDMAN_SOLDIER: case LETO_LIZARDMAN_WARRIOR: case LETO_LIZARDMAN_SHAMAN: case LETO_LIZARDMAN_OVERLORD: if (st.getCond() == 13) { if (((player.getInventory().getItemCount(BLOOD_OF_LIZARDMAN) - 120) * 5) > Rnd.get(100)) { playSound(player, SOUND_BEFORE_BATTLE); takeItems(player, BLOOD_OF_LIZARDMAN, -1); addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } else dropItemsAlways(player, BLOOD_OF_LIZARDMAN, 1, 0); } break; case SERPENT_DEMON_KADESH: if (st.getCond() == 13) { if (player.getInventory().getItemIdFrom(Paperdoll.RHAND) == CRESCENT_MOON_BOW) { st.setCond(14); playSound(player, SOUND_MIDDLE); giveItems(player, TALISMAN_OF_KADESH, 1); } else addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } break; } } }  
×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.