Painel do Usuário
Convidado
Mensagens: 0


Alterar
Ver
Tópicos e mensagens
Últimos assuntos
» Bot Rodar E Bot Pesca [Mkmt2] 100% Funcionavel !!!!
Seg Jan 09, 2017 9:05 am por FALKNERY13

» [Novo]Serve Files By Maxmi Full Client
Qua Dez 23, 2015 1:19 am por juniorrhis

» Novas Bg tops
Qui Jul 09, 2015 5:21 am por NurfPT

» [Tutorial] Instalar Server Files De Metin2 Em Freebsd
Qui Jul 09, 2015 5:11 am por NurfPT

» [Quest] Npc Pede Item E Da Item Com Imagem
Sex Jan 23, 2015 4:18 am por pedrinhoida17

» Download Escondidos
Qui Jan 22, 2015 8:18 pm por dj_eisonsmo@hotmail.com

» [NPC] Top d++
Qui Jan 22, 2015 8:12 pm por dj_eisonsmo@hotmail.com

» Nova quest Npc Banco.
Qui Jan 15, 2015 6:52 pm por blad69

» Tutorial Como Implementar Bonus Ao Lado Do Inventario
Qua Jan 14, 2015 1:29 pm por lamtj92

Os membros mais ativos da semana


[Tutorial] Criando seus poprios scripts e suas quest.

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Tutorial] Criando seus poprios scripts e suas quest.

Mensagem por รเи√@ℓ em Sex Nov 23, 2012 3:56 pm

hj dexo os comandos pra vcs criarem suas quest seus scripts etc...
Código:
affect.add ( Id do Apply ( ou texto que está no questlib.lua ex: apply.ATTACK_SPEED ) , Quantidade de Bónus( entre 1 e 250 ), Duração do Bónus(em segundos ) )
-- Resultado : é dado um bónus ao jogador, no entanto, se o jogador já tiver esse próprio bónus não terá efeito, para isso há outro comando

affect.add_collect_point( Id do Apply ( ou texto que está no questlib.lua ex: apply.ATTACK_SPEED ) , Quantidade de Bónus( entre 1 e 250 ), Duração do Bónus(em segundos ) )
-- Resultado : Adiciona a Quantidade de bónus desejada ao Jogador, mesmo que já há o bónus adicionado.

affect.add_collect( Id do Apply ( ou texto que está no questlib.lua ex: apply.ATTACK_SPEED ) , Quantidade de Bónus( entre 1 e 250 ), Duração do Bónus(em segundos ) )
-- Resultado : Adiciona a Quantidade de bónus desejada ao Jogador, mesmo que já há o bónus adicionado.

affect.add_hair ??????????

affect.remove_hair () -
-- Resultado : Remove o Penteado do Jogador

affect_remove_good ()
-- Resultado : Remove todos Bónus bons no Jogador

affect.remove_bad ()
-- Resultado : Remove todos os Bónus maus no Jogador

affect.remove ( Id do Apply ( ou texto que está no questlib.lua ex: apply.ATTACK_SPEED ))
-- Resultado : Remove todos os pontos de um Bónus ( !CUIDADO!)

affect_remove_all_collect ()
-- Resultado : Remove todos os Bónus que foram adicionados através de .quest

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

arena.start_duel ( name , rounds )
--name = Nome de jogador em String . Ex : "ReBirTH"
-- rounds = Quantidade de Rondas para eles Duelarem . Ex : 5

arena.is_in_arena ( Pid )
-- PID = Player_ID do jogador ( MYSQL : db : player , tabela : player )
-- Devolve 1 Se o jogador estiver num mapa arena, devolve 0 se não estiver.
arena_add_observer ()
-- Incompleto
arena_get_duel_list ()
-- Incompleto

quest__arena_add_map ( Map_Index , start_x , start_y , end_x , end_y )
-- Map_Index = Index do Mapa que querem adicionar á lista de Mapas da Arena ( numero )
-- Start_x = A Coordenada X do Inicio da Arena ( numero )
-- Start_y = A Coordenada Y do Inicio da Arena ( numero )
-- End_x = A Coordenada X do Fim da Arena ( numero )
-- End_y = A Cooordenada Y do Fim da Arena ( numero )

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

ba.start ( number )
-- Battle Arena.
-- number = Index do Mapa a Ser Criado (?)

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

building_reconstruct ()
building_set_land_owner
building_get_land_info
building_get_land_id
building_has_land

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

dance_event.go_home()
Se o Jogador Estiver no Mapa Com Index 115, é teleportado para a Cidade 1

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

d.getf( "string" )
-- string = O Nome da Flag ( As flag's são valores virtuais que podem ser alterados através de função, o valor de uma flag que não tenha sido declarada é 0 )


d.setf ( "string" , valor )
-- string = O Nome da Flag que desejamos, não importa qual for o valor dela, pode sempre ser alterada.
-- valor = O valor que desejamos que a Flag receba.

d.notice( "Mensagem" )
-- Mensagem = A Mensagem que desejamos que seja recebida como uma Notice que só será vista por quem estiver no d.

d.purge ( "???????????" )

d.kill_all ()
-- Resultado: Mata todos os monstros no Piso/d


d.exit_all()
-- Faz com que todos que estejam no d, sejam teleportados para a entrada.

d.exit ()
-- Teleporta o Jogador para a Cidade.

d.join ( numero )
-- Resultado : O Jogador junta-se a um d, e se for lider da Party, os membros são teleportados também


d.spawn_group ( numero , numero , numero , numero , boolean ( true or false ) , numero )
-- Incompleto

d.count_monster ()
-- Resultado : Assume o valor dos monstros que estão vivos no d ( local monstrosvivos = dcount_monster () )

d.all_near_to ( numero , numero )
-- Incompleta

d.select(get_server_timer_arg())


d.set_warp_at_eliminate ( Delay , Map_Index , X , Y , "regen_file" )
-- Delay = Tempo em Segundos até serem teleportados quando todos os monstros forem mortos
-- Map_Index = Index do d para o qual vai ser teleportado
-- X = A Coordenada X para a qual vai ser teleportado
-- Y = A Coordenada Y para a qual vai ser teleportado
-- regen_file = Ficheiro de Regen dos Monstros a contar do game . Ex : "data/d/regent1.txt"

d.set_exit_all_at_eliminate( Delay )
-- Delay = Tempo em Segundos até serem teleportados quando todos os monstros forem mortos.

d.check_eliminated ()
-- Resultado : Verifica se todos os monstros no d estão mortos

d.clear_regen ()
-- Pará o Regen dos Monstros e destrói os Vivos

d.set_regen_file ( "locale/regenfile.txt" )
-- locale/regenfiles.txt é o directório do Regen que desejam ser activado no d ( O dírectório apartir da localização do 'game' )

d.regen_file ("locale/regenfile.txt" )
-- locale/regenfiles.txt é o directório do Regen que desejam ser activado no d ( O dírectório apartir da localização do 'game' )

d.get_map_index ()
-- Resultado : Assume o Index do Mapa do d Actual . Ex: local Actual_Index = d.get_map_index ()

d.spawn_goto_mob
-- Incompleta

d.spawn_mob ( ID , X , Y )
-- ID = ID do Mob/NPC
-- X = A Coordenada X para o qual o Monstro vai ser Spawnado. ( Coordenadas Locais )
-- Y= A Coordenada Y para o qual o Monstro vai ser Spawnado. ( Coordenadas Locais )

d.set_unique ( "nomedounique" , vid )
-- nomedounique = O nome que desejam 'dar' ao Monstro(Este Especifico)
-- vid = A Vid(é como o ADN de um Monstro, nunca é igual de monstro para monstro, mesmo que seja o mesmo ID, o VID é diferente )
-- A Maneira de descobrir o vid : « local vid = d.spawn_mob ( ID , X , Y ) »

d.spawn ( "string" , Incompleta )
/* Incompleta */

d.spawn_unique ( "nome_do_unique" , vnum , "string" )
-- Invoca um Monstro com ID de vnum

d.spawn_move_unique ( )
-- Incompleto

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

game.web_mall() --Acede á Cash Shop / Item Shop

game.drop_item_with_ownership ( ID , Quantidade ) -- Dropa um Item cujo dono é quem activou o Quest Event.

game.drop_item( ID , Quantidade ) -- Dropa um Item sem Dono.

game.open_mall() -- Abre o Armazém-Mall

game.open_safebox() -- Abre o Armazém.

game.set_safebox_level( Nivel ) -- Altera o Nível do Armazém do Jogador ( Slots ).

game.get_safebox_level() -- Recebe o valor do Armazém do jogador ( usar como variável ).

game.request_make_guild() --Envia pedido para criar Guild.

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

oxevent.give_item ( vnum , quantidade ) -- Dá um Item ao Vencedor do OX

oxevent.end_event_force () -- Termina o OX ( Colocando Status a 0 ) no istante

oxevent.get_attender () -- Devolve o Vencedor do OX

oxevent.quiz( numero , numero ) -- Activa uma Pergunta de OX

oxevent.close() -- Os jogadores deixam de poder entrar e começa o OX ( Status 2 )
oxevent.open() -- Abre o OX para os jogadores poderem entrar ( Status 1 )
-- Devolve o Valor de 0 caso o ficheiro oxquiz.lua não existir e o valor de 1 caso o oxquiz.lua existir.
oxevent.end_event() -- Termina o OX com um intervalo de 5 * passes_per_second. ( Status 0 )

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

find_pc_cond( -level , +level , job ) -- Devolve o VID de um jogador que esteja no mesmo mapa que quem activar
-- com o nível entre -level e +level e cuja Classe seja job .

find_pc ( "nomedojogador" ) -- VID do Jogador ( selecionar através de pc.select_vid() )

find_npc_by_vnum ( vnum ) -- Devolve o VID do NPC ( Só usar para Target.vid ( "target_name" , vid , "" )

pc.select_vid ( VID ) -- Devolve o VID do Jogador que activar esta qf . E seleciona o jogador através de VID.

pc.select_pid ( PID ) -- Devolve o PID do Jogador que activar esta qf . E seleciona o jogador através de PID.


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

server_timer ( "name" , time ) -- Activa um Temporizador no Servidor que será activado passado time(em segundos )
-- deve ser usado desta maneira -> when name.server_timer begin

timer( "nomedotimer" , tempo ) -- Activa um Temporizador ligado ao jogador , com o nome de "nomedotimer" e com duração de tempo.

timer ( tempo ) -- Activa um Temporizador ligado ao jogador com duração de tempo.

server_loop_timer ( "nomedotemporizador" , tempo ) -- Server Timer que se repete de tempo em tempo segundos.

loop_timer ( "nomedotemporizador", tempo ) -- Timer que se repete de tempo em tempo segundos.

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

oh.transfer2("nomedoplayer")
-- Transfere ou é transferido para a localização do jogador.

oh.bless()
-- MonarchHealGold é a event flag que define o preço , caso seja 0, o valor é de 2.000.000 ou ( 2kk ) . Comando : /e MonarchHealGold 1000000 Caso queira que o preço seja 1.000.000 ( 1kk )
-- Dá Heal aos jogadores do Reino.

oh.powerup() -- Bónus de Ataque aos jogadores do Reino. ( Preço : 5.000.000 ( 5kk ) )

oh.defenseup() -- Bónus de Defesa aos jogadores do Reino ( Preço : 5.000.000 ( 5kk ) )

empire_info() -- Manda um Chat sobre as Informações dos Imperadores dos Reinos .

frog_to_empire_money -- Evento de Castelo.

spawn_guard -- Guarda ( Evento do Castelo ).

oh.defenseup() -- Bónus de Defesa ( Preço : 5.000.000 ( 5kk ) ).

oh.notice("texto") -- Envia um Notice para todos os jogadores do Reino.

oh.warp("nomedoplayer") -- Custa 10.000 ( 10k )
-- Teleporta o Imperador para a localização do Player.

oh.transfer()
takemonarchmoney( quantidade / 10000 ) -- Devemos colocar o quociente da quantidade que queremos por 10000.
-- Visto que o valor que for colocado entre os () , é depois multiplicado por 10.000 e removido do Monarch, portanto para evitar
-- erros de cálculos, dividam a quantidade que desejam retirar por 10000 e coloquem-na correctamente.
-- P.S : O Dinheiro vai ser removido ao Imperador do Reino do Jogador que executar esta função.
-- Portanto se o jogador que a executar for do reino Vermelho(Shinsoo) o dinheiro será removido ao Imperador
-- do Reino Shinsoo.
=============================================================================

pc.get_name() -- Devolve o Nome do Jogador ( em "" ) Ex : "ReBirTH"
pc.get_money() -- Devolve o Valor de Yang do Jogador.
pc.get_alignment() -- Devolve o Alignment do Jogador.
pc.get_empire() -- Devolve o Império do Jogador ( 1 - Shinsoo(Vermelho) , 2 - Chunjo(Amarelo) , 3 - Jinno (Azul) ).
pc.get_level() -- Devolve o Nível do Jogador.
pc.get_job() -- Devolve a Profissão do Jogador ( 0 = Warrior/Guerreiro , 1 = Ninja, 2 = Shura/Sura , 3 = Shaman )
pc.get_max_sp() -- Devolve o SP Max do Jogador.
pc.get_sp() -- Devolve o SP Actual do Jogador.
pc.get_weapon() -- Devolve o ID ( vnum ) do Item na Posição da Arma.
pc.get_armor() -- Devolve o ID ( vnum ) do Item na Posição da Armadura.
pc.get_exp() -- Devolve experiencia a um jogador
pc.get_vid() -- Devolve o VID do Jogador.
pc.get_playtime() -- Devolve o Tempo de Jogo do Jogador.
pc.count_item(ID) -- Devolve a Quantidade do ID no Inventário/Equipamento do Jogador.
pc.isguildmaster() -- Devolve o Valor caso o jogador seja Mestre da Guild ou não.
pc.is_horse_alive() -- Devolve o Valor se o Cavalo Está Vivo ou Não.
pc.get_horse_level() -- Devolve o Nível do Cavalo.
pc.is_clear_skill_group() -- Devolve o Valor caso o jogador tenha algum ramo de skills escolhidos 1 , caso não, 0.
pc.is_dead() -- Devolve o Valor caso o jogador estiver Morto ou não.
pc.get_dx() -- Devolve o Valor de Dex do Jogador.
pc.get_st() -- Devolve o Valor de STR do Jogador.
pc.get_iq() -- Devolve o Valor de INT do Jogador.
pc.get_ht() -- Devolve o Valor de STA do Jogador.
pc.is_gm() -- Devolve caso o jogador seja GM .
pc.get_player_id() -- Devolve o PID do Jogador ( MySQL : player->player . ID )
pc.get_empty_inventory_count() -- Devolve a Quantidade de Espaços Vazios no Inventário.
pc.get_sex() -- Devolve o Sexo da Personagem. ( 1 - MALE , 2 - FEMALE )
pc.reset_point() -- Remove todos os pontos Status do Jogador, e permite redistribui-los.
pc.mount( ID , Tempo(Opcional) -- Permite ao jogador montar o NPC ID durante Tempo( caso não seja incluido, é permanente ) .
pc.give_exp2( EXP ) -- O Jogador recebe EXP de Experiência.( Não é percentagem ).
pc.change_money( Yang_variable ) -- Aumenta ou altera o yang do jogador para Yang_variable( usar -Yang_variable caso deseja remover dinheiro ).
pc.destroy_guild() -- Destroi a Guild do Jogador Actual ( só usar caso o Jogador seja Mestre da Guild ).
pc.warp( x00 , y00 ) -- Teleporta o Jogador para as coordenadas x00 e y00 , devem substituir o x e o y pelas coordenadas para fazer /warp.
-- Ex : pc.warp ( 999900 , 999900 ) .
pc.give_item2( Vnum , Quantidade ) -- Dá um Item ao Jogador cujo Id seja VNUM e com a quantidade de Quantidade.
pc.enough_inventory( vnum ) -- Verifica se o jogador tem espaço para o Item - vnum . Devolve 0 caso não tenha, devolove 1 caso tenha.
pc.remove_from_guild() -- Remove o Próprio Jogador da Guild.
pc.change_name("nome") -- Altera o nome do jogador para nome ( deve ser usado as "" ) . é necessário relogar.
pc.change_empire(empire) -- Altera o Império do Jogador para empire.
pc.set_skill_level( id_da_skill , nivel_desejado ) -- Altera o Nível da Skill - id_da_skill para nivel_desejado.
pc.teleport("nome_do_player") -- Teleporta o Jogador actual para a localização do jogador . Necessário "" .
pc.reset_status( ID ) -- Reseta os Valores de um Stat ( 0 -- STA, 1 -- Int , 2 -- STR , 3 -- DEX )
pc.clear_sub_skill() -- Redistribui os Pontos de Skills e remove os pontos todos. O Ramo de Skills continua a ser o mesmo.
pc.clear_skill() -- Remove o Ramo de Skills . Possiblitando a escolha de um Ramo de Skills Diferentes .
pc.setqf("name" , counter ) -- Altera o Valor do Contador com nome de name ( com "" )
-- E coloca-o a valor counter. ( O Valor de um Contador não declarado, é 0 )
pc.getqf("name") -- Devolve o Valor do Contador com nome de name ( com as "" ).
pc.change_alignment( valor ) -- Altera o Alignment do Player para valor.

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

horse.get_name() -- Devolve o Nome do Cavalo ( Com "" )

horse.set_name( "nome" ) -- Altera o Nome do Cavalo para name .
-- Devolve 2 se o nome for alterado.
-- Devolve 1 se o nome já estiver em uso.
-- Devolve 0 caso a Personagem não tenha cavalo.

horse.feed() -- Alimenta o Cavalo.

horse.revive() -- Resusita o Cavalo.

horse.is_dead() -- Devolve o Valor de 1 caso o cavalo esteja morto, e valor de 0 caso não esteja.

horse.is_mine() -- Devolve o Valor de 1 caso o cavalo for deste Player, devolve 0 caso não seja.

horse.unsummon() -- Manda o Cavalo para o Estábulo.

horse.summon() -- Invoca o Cavalo ( Sem montar ) .

horse.unride() -- Desmonta do Cavalo

horse.ride() -- Monta o Cavalo

horse.is_summon() -- Devolve 1 caso o Cavalo esteja visivel, e 0 caso não esteja.

horse.is_riding() -- Devolve 1 caso o jogador estiver a Montar no Cavalo, e 0 caso não esteja.

horse.get_grade() -- Devolve o Grade do Cavalo ( 1 -- Iniciante, 2 -- Armado, 3 -- Militar )

horse.advance() -- Aumenta 1 Nível ao Cavalo.

horse.get_level() -- Devolve o Nível do Cavalo.
Exemplo : Bom pessoal se colocar pc.warp( x00 , y00 ) tem de por as coordenadas inteiras, assim, podendo colocar um say, say_title, antes para informar ao player onde ele irá teleportar colocando ali como exemplo 999900, 999900, assim podendo criar já um teleportador, também poderá adicionar level para teleportar para o mapa usando uma condição.

Espero ter ajudado.

_________
avatar
รเи√@ℓ
Root Administrador
Root Administrador

Mensagens : 88
Pontos : 2196
Reputação : 13
Data de inscrição : 15/11/2012
Idade : 20
Localização : Em Frente PC

Ver perfil do usuário http://mt2topgame.forumeiros.com

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum