antiblock
Cyphriun

AnonimoHSG

Membro
  • Content Count

    17
  • Joined

  • Last visited

  • Days Won

    3

Reputation Activity

  1. Upvote
    AnonimoHSG got a reaction from Hadak in Comandos Quest   
    Olá pessoal da Cyber-Gamers, esse é um tópico é direcionado para os comandos que ajudaram vocês a realizar missões entre outras coisas basta criatividade, sabendo o que o comando irá realizar, esse tópico é meio grande, por isso peço desculpas pela tamanho.São eles :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 comandoaffect.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 Jogadoraffect_remove_good ()-- Resultado : Remove todos Bónus bons no Jogadoraffect.remove_bad ()-- Resultado : Remove todos os Bónus maus no Jogadoraffect.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 : 5arena.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 ()-- Incompletoarena_get_duel_list ()-- Incompletoquest__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_ownerbuilding_get_land_infobuilding_get_land_idbuilding_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/dd.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émd.spawn_group ( numero , numero , numero , numero , boolean ( true or false ) , numero )-- Incompletod.count_monster ()-- Resultado : Assume o valor dos monstros que estão vivos no d ( local monstrosvivos = dcount_monster () )d.all_near_to ( numero , numero )-- Incompletad.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 mortosd.clear_regen ()-- Pará o Regen dos Monstros e destrói os Vivosd.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-- Incompletad.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 vnumd.spawn_move_unique ( )-- Incompleto=============================================================================game.web_mall() --Acede á Cash Shop / Item Shopgame.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-Mallgame.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 OXoxevent.end_event_force () -- Termina o OX ( Colocando Status a 0 ) no istanteoxevent.get_attender () -- Devolve o Vencedor do OXoxevent.quiz( numero , numero ) -- Activa uma Pergunta de OXoxevent.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 begintimer( "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 jogadorpc.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 Cavalohorse.ride() -- Monta o Cavalohorse.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.
  2. Upvote
    AnonimoHSG got a reaction from Hadak in Comandos Quest   
    Olá pessoal da Cyber-Gamers, esse é um tópico é direcionado para os comandos que ajudaram vocês a realizar missões entre outras coisas basta criatividade, sabendo o que o comando irá realizar, esse tópico é meio grande, por isso peço desculpas pela tamanho.São eles :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 comandoaffect.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 Jogadoraffect_remove_good ()-- Resultado : Remove todos Bónus bons no Jogadoraffect.remove_bad ()-- Resultado : Remove todos os Bónus maus no Jogadoraffect.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 : 5arena.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 ()-- Incompletoarena_get_duel_list ()-- Incompletoquest__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_ownerbuilding_get_land_infobuilding_get_land_idbuilding_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/dd.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émd.spawn_group ( numero , numero , numero , numero , boolean ( true or false ) , numero )-- Incompletod.count_monster ()-- Resultado : Assume o valor dos monstros que estão vivos no d ( local monstrosvivos = dcount_monster () )d.all_near_to ( numero , numero )-- Incompletad.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 mortosd.clear_regen ()-- Pará o Regen dos Monstros e destrói os Vivosd.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-- Incompletad.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 vnumd.spawn_move_unique ( )-- Incompleto=============================================================================game.web_mall() --Acede á Cash Shop / Item Shopgame.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-Mallgame.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 OXoxevent.end_event_force () -- Termina o OX ( Colocando Status a 0 ) no istanteoxevent.get_attender () -- Devolve o Vencedor do OXoxevent.quiz( numero , numero ) -- Activa uma Pergunta de OXoxevent.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 begintimer( "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 jogadorpc.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 Cavalohorse.ride() -- Monta o Cavalohorse.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.
  3. Upvote
    AnonimoHSG got a reaction from Hadak in Comandos Quest   
    Olá pessoal da Cyber-Gamers, esse é um tópico é direcionado para os comandos que ajudaram vocês a realizar missões entre outras coisas basta criatividade, sabendo o que o comando irá realizar, esse tópico é meio grande, por isso peço desculpas pela tamanho.São eles :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 comandoaffect.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 Jogadoraffect_remove_good ()-- Resultado : Remove todos Bónus bons no Jogadoraffect.remove_bad ()-- Resultado : Remove todos os Bónus maus no Jogadoraffect.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 : 5arena.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 ()-- Incompletoarena_get_duel_list ()-- Incompletoquest__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_ownerbuilding_get_land_infobuilding_get_land_idbuilding_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/dd.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émd.spawn_group ( numero , numero , numero , numero , boolean ( true or false ) , numero )-- Incompletod.count_monster ()-- Resultado : Assume o valor dos monstros que estão vivos no d ( local monstrosvivos = dcount_monster () )d.all_near_to ( numero , numero )-- Incompletad.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 mortosd.clear_regen ()-- Pará o Regen dos Monstros e destrói os Vivosd.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-- Incompletad.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 vnumd.spawn_move_unique ( )-- Incompleto=============================================================================game.web_mall() --Acede á Cash Shop / Item Shopgame.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-Mallgame.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 OXoxevent.end_event_force () -- Termina o OX ( Colocando Status a 0 ) no istanteoxevent.get_attender () -- Devolve o Vencedor do OXoxevent.quiz( numero , numero ) -- Activa uma Pergunta de OXoxevent.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 begintimer( "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 jogadorpc.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 Cavalohorse.ride() -- Monta o Cavalohorse.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.
  4. Upvote
    AnonimoHSG got a reaction from Nestle in [Software] Criador de Missão   
    Eae pessoal tudo bom ?
    Estarei postando um editor de missões para servidores, contudo este vem a ser bem simples.
    Ele já existe faz um bom tempo por isso irei renovar o link, como esse é o primeiro tutorial espero não estar fazendo nada errado =D
    Vamos lá
    O que o programa contém:
    Escolher o mob ao que deseja realizar a missão.
    Sistema de recompensa básico entre eles estão:
    Receber Itens, Níveis ao cavalo, Experiência, e Dinheiro
    Como usá-lo :
    Nombre de la Quest : Nome da Quest (que criará o arquivo).
    Nombre de la Quest en el juego : Nome da Quest que aparecerá no jogo
    A que nivel ? : Que nível aparecerá a quest para o jogador
    1,2,3,4 Texto de la linea : Texto sobre a missão. Neste, poderá colocar o objetivo, se quiser adicionar mais linhas, então basta abrir o arquivo quest e colocar o seguinte say ("Texto") .
    Tarea : (En rojo) > Texto que aparecerá em vermelho, normalmente o objetivo da missão. Para criar mais linhas avermelhadas vá ao arquivo e escreva
    say_reward(" Texto").
    O resto somente é editar, como monstros e recompensas, ao seu ver.
    Depois de realizar a missão, clique em Guardar, então irá aparecer o arquivo na pasta onde está o editor.
    Download do Editor :

    Créditos=Steff
  5. Upvote
    AnonimoHSG got a reaction from Hadak in Comandos Quest   
    Olá pessoal da Cyber-Gamers, esse é um tópico é direcionado para os comandos que ajudaram vocês a realizar missões entre outras coisas basta criatividade, sabendo o que o comando irá realizar, esse tópico é meio grande, por isso peço desculpas pela tamanho.São eles :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 comandoaffect.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 Jogadoraffect_remove_good ()-- Resultado : Remove todos Bónus bons no Jogadoraffect.remove_bad ()-- Resultado : Remove todos os Bónus maus no Jogadoraffect.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 : 5arena.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 ()-- Incompletoarena_get_duel_list ()-- Incompletoquest__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_ownerbuilding_get_land_infobuilding_get_land_idbuilding_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/dd.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émd.spawn_group ( numero , numero , numero , numero , boolean ( true or false ) , numero )-- Incompletod.count_monster ()-- Resultado : Assume o valor dos monstros que estão vivos no d ( local monstrosvivos = dcount_monster () )d.all_near_to ( numero , numero )-- Incompletad.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 mortosd.clear_regen ()-- Pará o Regen dos Monstros e destrói os Vivosd.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-- Incompletad.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 vnumd.spawn_move_unique ( )-- Incompleto=============================================================================game.web_mall() --Acede á Cash Shop / Item Shopgame.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-Mallgame.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 OXoxevent.end_event_force () -- Termina o OX ( Colocando Status a 0 ) no istanteoxevent.get_attender () -- Devolve o Vencedor do OXoxevent.quiz( numero , numero ) -- Activa uma Pergunta de OXoxevent.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 begintimer( "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 jogadorpc.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 Cavalohorse.ride() -- Monta o Cavalohorse.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.
  6. Upvote
    AnonimoHSG got a reaction from Hadak in Comandos Quest   
    Olá pessoal da Cyber-Gamers, esse é um tópico é direcionado para os comandos que ajudaram vocês a realizar missões entre outras coisas basta criatividade, sabendo o que o comando irá realizar, esse tópico é meio grande, por isso peço desculpas pela tamanho.São eles :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 comandoaffect.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 Jogadoraffect_remove_good ()-- Resultado : Remove todos Bónus bons no Jogadoraffect.remove_bad ()-- Resultado : Remove todos os Bónus maus no Jogadoraffect.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 : 5arena.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 ()-- Incompletoarena_get_duel_list ()-- Incompletoquest__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_ownerbuilding_get_land_infobuilding_get_land_idbuilding_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/dd.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émd.spawn_group ( numero , numero , numero , numero , boolean ( true or false ) , numero )-- Incompletod.count_monster ()-- Resultado : Assume o valor dos monstros que estão vivos no d ( local monstrosvivos = dcount_monster () )d.all_near_to ( numero , numero )-- Incompletad.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 mortosd.clear_regen ()-- Pará o Regen dos Monstros e destrói os Vivosd.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-- Incompletad.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 vnumd.spawn_move_unique ( )-- Incompleto=============================================================================game.web_mall() --Acede á Cash Shop / Item Shopgame.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-Mallgame.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 OXoxevent.end_event_force () -- Termina o OX ( Colocando Status a 0 ) no istanteoxevent.get_attender () -- Devolve o Vencedor do OXoxevent.quiz( numero , numero ) -- Activa uma Pergunta de OXoxevent.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 begintimer( "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 jogadorpc.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 Cavalohorse.ride() -- Monta o Cavalohorse.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.
  7. Upvote
    AnonimoHSG got a reaction from Hadak in Comandos Quest   
    Olá pessoal da Cyber-Gamers, esse é um tópico é direcionado para os comandos que ajudaram vocês a realizar missões entre outras coisas basta criatividade, sabendo o que o comando irá realizar, esse tópico é meio grande, por isso peço desculpas pela tamanho.São eles :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 comandoaffect.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 Jogadoraffect_remove_good ()-- Resultado : Remove todos Bónus bons no Jogadoraffect.remove_bad ()-- Resultado : Remove todos os Bónus maus no Jogadoraffect.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 : 5arena.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 ()-- Incompletoarena_get_duel_list ()-- Incompletoquest__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_ownerbuilding_get_land_infobuilding_get_land_idbuilding_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/dd.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émd.spawn_group ( numero , numero , numero , numero , boolean ( true or false ) , numero )-- Incompletod.count_monster ()-- Resultado : Assume o valor dos monstros que estão vivos no d ( local monstrosvivos = dcount_monster () )d.all_near_to ( numero , numero )-- Incompletad.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 mortosd.clear_regen ()-- Pará o Regen dos Monstros e destrói os Vivosd.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-- Incompletad.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 vnumd.spawn_move_unique ( )-- Incompleto=============================================================================game.web_mall() --Acede á Cash Shop / Item Shopgame.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-Mallgame.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 OXoxevent.end_event_force () -- Termina o OX ( Colocando Status a 0 ) no istanteoxevent.get_attender () -- Devolve o Vencedor do OXoxevent.quiz( numero , numero ) -- Activa uma Pergunta de OXoxevent.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 begintimer( "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 jogadorpc.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 Cavalohorse.ride() -- Monta o Cavalohorse.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.
  8. Upvote
    AnonimoHSG got a reaction from Hadak in Comandos Quest   
    Olá pessoal da Cyber-Gamers, esse é um tópico é direcionado para os comandos que ajudaram vocês a realizar missões entre outras coisas basta criatividade, sabendo o que o comando irá realizar, esse tópico é meio grande, por isso peço desculpas pela tamanho.São eles :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 comandoaffect.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 Jogadoraffect_remove_good ()-- Resultado : Remove todos Bónus bons no Jogadoraffect.remove_bad ()-- Resultado : Remove todos os Bónus maus no Jogadoraffect.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 : 5arena.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 ()-- Incompletoarena_get_duel_list ()-- Incompletoquest__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_ownerbuilding_get_land_infobuilding_get_land_idbuilding_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/dd.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émd.spawn_group ( numero , numero , numero , numero , boolean ( true or false ) , numero )-- Incompletod.count_monster ()-- Resultado : Assume o valor dos monstros que estão vivos no d ( local monstrosvivos = dcount_monster () )d.all_near_to ( numero , numero )-- Incompletad.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 mortosd.clear_regen ()-- Pará o Regen dos Monstros e destrói os Vivosd.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-- Incompletad.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 vnumd.spawn_move_unique ( )-- Incompleto=============================================================================game.web_mall() --Acede á Cash Shop / Item Shopgame.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-Mallgame.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 OXoxevent.end_event_force () -- Termina o OX ( Colocando Status a 0 ) no istanteoxevent.get_attender () -- Devolve o Vencedor do OXoxevent.quiz( numero , numero ) -- Activa uma Pergunta de OXoxevent.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 begintimer( "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 jogadorpc.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 Cavalohorse.ride() -- Monta o Cavalohorse.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.
  9. Upvote
    AnonimoHSG got a reaction from Nestle in [Software] Criador de Missão   
    Eae pessoal tudo bom ?
    Estarei postando um editor de missões para servidores, contudo este vem a ser bem simples.
    Ele já existe faz um bom tempo por isso irei renovar o link, como esse é o primeiro tutorial espero não estar fazendo nada errado =D
    Vamos lá
    O que o programa contém:
    Escolher o mob ao que deseja realizar a missão.
    Sistema de recompensa básico entre eles estão:
    Receber Itens, Níveis ao cavalo, Experiência, e Dinheiro
    Como usá-lo :
    Nombre de la Quest : Nome da Quest (que criará o arquivo).
    Nombre de la Quest en el juego : Nome da Quest que aparecerá no jogo
    A que nivel ? : Que nível aparecerá a quest para o jogador
    1,2,3,4 Texto de la linea : Texto sobre a missão. Neste, poderá colocar o objetivo, se quiser adicionar mais linhas, então basta abrir o arquivo quest e colocar o seguinte say ("Texto") .
    Tarea : (En rojo) > Texto que aparecerá em vermelho, normalmente o objetivo da missão. Para criar mais linhas avermelhadas vá ao arquivo e escreva
    say_reward(" Texto").
    O resto somente é editar, como monstros e recompensas, ao seu ver.
    Depois de realizar a missão, clique em Guardar, então irá aparecer o arquivo na pasta onde está o editor.
    Download do Editor :

    Créditos=Steff
  10. Upvote
    AnonimoHSG got a reaction from Hadak in Comandos Quest   
    Olá pessoal da Cyber-Gamers, esse é um tópico é direcionado para os comandos que ajudaram vocês a realizar missões entre outras coisas basta criatividade, sabendo o que o comando irá realizar, esse tópico é meio grande, por isso peço desculpas pela tamanho.São eles :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 comandoaffect.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 Jogadoraffect_remove_good ()-- Resultado : Remove todos Bónus bons no Jogadoraffect.remove_bad ()-- Resultado : Remove todos os Bónus maus no Jogadoraffect.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 : 5arena.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 ()-- Incompletoarena_get_duel_list ()-- Incompletoquest__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_ownerbuilding_get_land_infobuilding_get_land_idbuilding_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/dd.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émd.spawn_group ( numero , numero , numero , numero , boolean ( true or false ) , numero )-- Incompletod.count_monster ()-- Resultado : Assume o valor dos monstros que estão vivos no d ( local monstrosvivos = dcount_monster () )d.all_near_to ( numero , numero )-- Incompletad.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 mortosd.clear_regen ()-- Pará o Regen dos Monstros e destrói os Vivosd.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-- Incompletad.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 vnumd.spawn_move_unique ( )-- Incompleto=============================================================================game.web_mall() --Acede á Cash Shop / Item Shopgame.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-Mallgame.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 OXoxevent.end_event_force () -- Termina o OX ( Colocando Status a 0 ) no istanteoxevent.get_attender () -- Devolve o Vencedor do OXoxevent.quiz( numero , numero ) -- Activa uma Pergunta de OXoxevent.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 begintimer( "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 jogadorpc.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 Cavalohorse.ride() -- Monta o Cavalohorse.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.
  11. Upvote
    AnonimoHSG got a reaction from ShadowKnight in Tradução Para Inglês   
    Olá pessoal da cyber-gamers estou novamente aqui para postar uma tradução um pouco diferente que deixa o seu servidor grande parte em inglês.
    Depois de muita procura achei os seguintes ficheiros.
    O download http://www.4shared.c...uco_Ingls.html?
    Costa com :
    Mob proto e Item proto (Cliente)
    Quest
    Localebig5
    big5string
    Item_Proto SQL
    Isso servirá caso não queria deixar o servidor local, cairia muito boa a tradução para o inglês
    ainda não foi testado mais acho que deve estar tudo certo caso o contrário avisem =D.
    Créditos : Elitepvpers, o Locale achei no 4shared e não sei os créditos desculpem.
  12. Upvote
    AnonimoHSG got a reaction from Nestle in [Software] Criador de Missão   
    Eae pessoal tudo bom ?
    Estarei postando um editor de missões para servidores, contudo este vem a ser bem simples.
    Ele já existe faz um bom tempo por isso irei renovar o link, como esse é o primeiro tutorial espero não estar fazendo nada errado =D
    Vamos lá
    O que o programa contém:
    Escolher o mob ao que deseja realizar a missão.
    Sistema de recompensa básico entre eles estão:
    Receber Itens, Níveis ao cavalo, Experiência, e Dinheiro
    Como usá-lo :
    Nombre de la Quest : Nome da Quest (que criará o arquivo).
    Nombre de la Quest en el juego : Nome da Quest que aparecerá no jogo
    A que nivel ? : Que nível aparecerá a quest para o jogador
    1,2,3,4 Texto de la linea : Texto sobre a missão. Neste, poderá colocar o objetivo, se quiser adicionar mais linhas, então basta abrir o arquivo quest e colocar o seguinte say ("Texto") .
    Tarea : (En rojo) > Texto que aparecerá em vermelho, normalmente o objetivo da missão. Para criar mais linhas avermelhadas vá ao arquivo e escreva
    say_reward(" Texto").
    O resto somente é editar, como monstros e recompensas, ao seu ver.
    Depois de realizar a missão, clique em Guardar, então irá aparecer o arquivo na pasta onde está o editor.
    Download do Editor :

    Créditos=Steff
  13. Upvote
    AnonimoHSG got a reaction from Hadak in Comandos Quest   
    Olá pessoal da Cyber-Gamers, esse é um tópico é direcionado para os comandos que ajudaram vocês a realizar missões entre outras coisas basta criatividade, sabendo o que o comando irá realizar, esse tópico é meio grande, por isso peço desculpas pela tamanho.São eles :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 comandoaffect.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 Jogadoraffect_remove_good ()-- Resultado : Remove todos Bónus bons no Jogadoraffect.remove_bad ()-- Resultado : Remove todos os Bónus maus no Jogadoraffect.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 : 5arena.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 ()-- Incompletoarena_get_duel_list ()-- Incompletoquest__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_ownerbuilding_get_land_infobuilding_get_land_idbuilding_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/dd.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émd.spawn_group ( numero , numero , numero , numero , boolean ( true or false ) , numero )-- Incompletod.count_monster ()-- Resultado : Assume o valor dos monstros que estão vivos no d ( local monstrosvivos = dcount_monster () )d.all_near_to ( numero , numero )-- Incompletad.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 mortosd.clear_regen ()-- Pará o Regen dos Monstros e destrói os Vivosd.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-- Incompletad.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 vnumd.spawn_move_unique ( )-- Incompleto=============================================================================game.web_mall() --Acede á Cash Shop / Item Shopgame.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-Mallgame.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 OXoxevent.end_event_force () -- Termina o OX ( Colocando Status a 0 ) no istanteoxevent.get_attender () -- Devolve o Vencedor do OXoxevent.quiz( numero , numero ) -- Activa uma Pergunta de OXoxevent.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 begintimer( "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 jogadorpc.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 Cavalohorse.ride() -- Monta o Cavalohorse.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.
  14. Upvote
    AnonimoHSG got a reaction from Hadak in Comandos Quest   
    Olá pessoal da Cyber-Gamers, esse é um tópico é direcionado para os comandos que ajudaram vocês a realizar missões entre outras coisas basta criatividade, sabendo o que o comando irá realizar, esse tópico é meio grande, por isso peço desculpas pela tamanho.São eles :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 comandoaffect.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 Jogadoraffect_remove_good ()-- Resultado : Remove todos Bónus bons no Jogadoraffect.remove_bad ()-- Resultado : Remove todos os Bónus maus no Jogadoraffect.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 : 5arena.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 ()-- Incompletoarena_get_duel_list ()-- Incompletoquest__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_ownerbuilding_get_land_infobuilding_get_land_idbuilding_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/dd.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émd.spawn_group ( numero , numero , numero , numero , boolean ( true or false ) , numero )-- Incompletod.count_monster ()-- Resultado : Assume o valor dos monstros que estão vivos no d ( local monstrosvivos = dcount_monster () )d.all_near_to ( numero , numero )-- Incompletad.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 mortosd.clear_regen ()-- Pará o Regen dos Monstros e destrói os Vivosd.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-- Incompletad.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 vnumd.spawn_move_unique ( )-- Incompleto=============================================================================game.web_mall() --Acede á Cash Shop / Item Shopgame.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-Mallgame.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 OXoxevent.end_event_force () -- Termina o OX ( Colocando Status a 0 ) no istanteoxevent.get_attender () -- Devolve o Vencedor do OXoxevent.quiz( numero , numero ) -- Activa uma Pergunta de OXoxevent.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 begintimer( "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 jogadorpc.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 Cavalohorse.ride() -- Monta o Cavalohorse.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.
  15. Upvote
    AnonimoHSG got a reaction from Hadak in Comandos Quest   
    Olá pessoal da Cyber-Gamers, esse é um tópico é direcionado para os comandos que ajudaram vocês a realizar missões entre outras coisas basta criatividade, sabendo o que o comando irá realizar, esse tópico é meio grande, por isso peço desculpas pela tamanho.São eles :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 comandoaffect.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 Jogadoraffect_remove_good ()-- Resultado : Remove todos Bónus bons no Jogadoraffect.remove_bad ()-- Resultado : Remove todos os Bónus maus no Jogadoraffect.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 : 5arena.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 ()-- Incompletoarena_get_duel_list ()-- Incompletoquest__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_ownerbuilding_get_land_infobuilding_get_land_idbuilding_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/dd.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émd.spawn_group ( numero , numero , numero , numero , boolean ( true or false ) , numero )-- Incompletod.count_monster ()-- Resultado : Assume o valor dos monstros que estão vivos no d ( local monstrosvivos = dcount_monster () )d.all_near_to ( numero , numero )-- Incompletad.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 mortosd.clear_regen ()-- Pará o Regen dos Monstros e destrói os Vivosd.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-- Incompletad.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 vnumd.spawn_move_unique ( )-- Incompleto=============================================================================game.web_mall() --Acede á Cash Shop / Item Shopgame.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-Mallgame.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 OXoxevent.end_event_force () -- Termina o OX ( Colocando Status a 0 ) no istanteoxevent.get_attender () -- Devolve o Vencedor do OXoxevent.quiz( numero , numero ) -- Activa uma Pergunta de OXoxevent.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 begintimer( "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 jogadorpc.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 Cavalohorse.ride() -- Monta o Cavalohorse.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.
  16. Upvote
    AnonimoHSG got a reaction from Hadak in Comandos Quest   
    Olá pessoal da Cyber-Gamers, esse é um tópico é direcionado para os comandos que ajudaram vocês a realizar missões entre outras coisas basta criatividade, sabendo o que o comando irá realizar, esse tópico é meio grande, por isso peço desculpas pela tamanho.São eles :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 comandoaffect.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 Jogadoraffect_remove_good ()-- Resultado : Remove todos Bónus bons no Jogadoraffect.remove_bad ()-- Resultado : Remove todos os Bónus maus no Jogadoraffect.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 : 5arena.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 ()-- Incompletoarena_get_duel_list ()-- Incompletoquest__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_ownerbuilding_get_land_infobuilding_get_land_idbuilding_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/dd.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émd.spawn_group ( numero , numero , numero , numero , boolean ( true or false ) , numero )-- Incompletod.count_monster ()-- Resultado : Assume o valor dos monstros que estão vivos no d ( local monstrosvivos = dcount_monster () )d.all_near_to ( numero , numero )-- Incompletad.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 mortosd.clear_regen ()-- Pará o Regen dos Monstros e destrói os Vivosd.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-- Incompletad.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 vnumd.spawn_move_unique ( )-- Incompleto=============================================================================game.web_mall() --Acede á Cash Shop / Item Shopgame.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-Mallgame.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 OXoxevent.end_event_force () -- Termina o OX ( Colocando Status a 0 ) no istanteoxevent.get_attender () -- Devolve o Vencedor do OXoxevent.quiz( numero , numero ) -- Activa uma Pergunta de OXoxevent.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 begintimer( "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 jogadorpc.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 Cavalohorse.ride() -- Monta o Cavalohorse.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.
  17. Downvote
    AnonimoHSG got a reaction from vida100vida in Comandos Quest   
    Obrigado http://cyber-gamers.org/public/style_emoticons/default/espi28.gif
  18. Downvote
    AnonimoHSG got a reaction from vida100vida in Comandos Quest   
    Obrigado http://cyber-gamers.org/public/style_emoticons/default/espi28.gif
  19. Upvote
    AnonimoHSG got a reaction from Hadak in Comandos Quest   
    Olá pessoal da Cyber-Gamers, esse é um tópico é direcionado para os comandos que ajudaram vocês a realizar missões entre outras coisas basta criatividade, sabendo o que o comando irá realizar, esse tópico é meio grande, por isso peço desculpas pela tamanho.São eles :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 comandoaffect.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 Jogadoraffect_remove_good ()-- Resultado : Remove todos Bónus bons no Jogadoraffect.remove_bad ()-- Resultado : Remove todos os Bónus maus no Jogadoraffect.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 : 5arena.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 ()-- Incompletoarena_get_duel_list ()-- Incompletoquest__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_ownerbuilding_get_land_infobuilding_get_land_idbuilding_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/dd.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émd.spawn_group ( numero , numero , numero , numero , boolean ( true or false ) , numero )-- Incompletod.count_monster ()-- Resultado : Assume o valor dos monstros que estão vivos no d ( local monstrosvivos = dcount_monster () )d.all_near_to ( numero , numero )-- Incompletad.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 mortosd.clear_regen ()-- Pará o Regen dos Monstros e destrói os Vivosd.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-- Incompletad.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 vnumd.spawn_move_unique ( )-- Incompleto=============================================================================game.web_mall() --Acede á Cash Shop / Item Shopgame.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-Mallgame.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 OXoxevent.end_event_force () -- Termina o OX ( Colocando Status a 0 ) no istanteoxevent.get_attender () -- Devolve o Vencedor do OXoxevent.quiz( numero , numero ) -- Activa uma Pergunta de OXoxevent.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 begintimer( "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 jogadorpc.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 Cavalohorse.ride() -- Monta o Cavalohorse.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.
  20. Upvote
    AnonimoHSG got a reaction from Hadak in Comandos Quest   
    Olá pessoal da Cyber-Gamers, esse é um tópico é direcionado para os comandos que ajudaram vocês a realizar missões entre outras coisas basta criatividade, sabendo o que o comando irá realizar, esse tópico é meio grande, por isso peço desculpas pela tamanho.São eles :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 comandoaffect.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 Jogadoraffect_remove_good ()-- Resultado : Remove todos Bónus bons no Jogadoraffect.remove_bad ()-- Resultado : Remove todos os Bónus maus no Jogadoraffect.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 : 5arena.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 ()-- Incompletoarena_get_duel_list ()-- Incompletoquest__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_ownerbuilding_get_land_infobuilding_get_land_idbuilding_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/dd.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émd.spawn_group ( numero , numero , numero , numero , boolean ( true or false ) , numero )-- Incompletod.count_monster ()-- Resultado : Assume o valor dos monstros que estão vivos no d ( local monstrosvivos = dcount_monster () )d.all_near_to ( numero , numero )-- Incompletad.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 mortosd.clear_regen ()-- Pará o Regen dos Monstros e destrói os Vivosd.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-- Incompletad.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 vnumd.spawn_move_unique ( )-- Incompleto=============================================================================game.web_mall() --Acede á Cash Shop / Item Shopgame.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-Mallgame.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 OXoxevent.end_event_force () -- Termina o OX ( Colocando Status a 0 ) no istanteoxevent.get_attender () -- Devolve o Vencedor do OXoxevent.quiz( numero , numero ) -- Activa uma Pergunta de OXoxevent.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 begintimer( "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 jogadorpc.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 Cavalohorse.ride() -- Monta o Cavalohorse.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.
  21. Upvote
    AnonimoHSG got a reaction from Hadak in Comandos Quest   
    Olá pessoal da Cyber-Gamers, esse é um tópico é direcionado para os comandos que ajudaram vocês a realizar missões entre outras coisas basta criatividade, sabendo o que o comando irá realizar, esse tópico é meio grande, por isso peço desculpas pela tamanho.São eles :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 comandoaffect.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 Jogadoraffect_remove_good ()-- Resultado : Remove todos Bónus bons no Jogadoraffect.remove_bad ()-- Resultado : Remove todos os Bónus maus no Jogadoraffect.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 : 5arena.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 ()-- Incompletoarena_get_duel_list ()-- Incompletoquest__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_ownerbuilding_get_land_infobuilding_get_land_idbuilding_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/dd.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émd.spawn_group ( numero , numero , numero , numero , boolean ( true or false ) , numero )-- Incompletod.count_monster ()-- Resultado : Assume o valor dos monstros que estão vivos no d ( local monstrosvivos = dcount_monster () )d.all_near_to ( numero , numero )-- Incompletad.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 mortosd.clear_regen ()-- Pará o Regen dos Monstros e destrói os Vivosd.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-- Incompletad.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 vnumd.spawn_move_unique ( )-- Incompleto=============================================================================game.web_mall() --Acede á Cash Shop / Item Shopgame.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-Mallgame.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 OXoxevent.end_event_force () -- Termina o OX ( Colocando Status a 0 ) no istanteoxevent.get_attender () -- Devolve o Vencedor do OXoxevent.quiz( numero , numero ) -- Activa uma Pergunta de OXoxevent.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 begintimer( "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 jogadorpc.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 Cavalohorse.ride() -- Monta o Cavalohorse.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.
  22. Upvote
    AnonimoHSG got a reaction from Hadak in Comandos Quest   
    Olá pessoal da Cyber-Gamers, esse é um tópico é direcionado para os comandos que ajudaram vocês a realizar missões entre outras coisas basta criatividade, sabendo o que o comando irá realizar, esse tópico é meio grande, por isso peço desculpas pela tamanho.São eles :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 comandoaffect.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 Jogadoraffect_remove_good ()-- Resultado : Remove todos Bónus bons no Jogadoraffect.remove_bad ()-- Resultado : Remove todos os Bónus maus no Jogadoraffect.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 : 5arena.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 ()-- Incompletoarena_get_duel_list ()-- Incompletoquest__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_ownerbuilding_get_land_infobuilding_get_land_idbuilding_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/dd.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émd.spawn_group ( numero , numero , numero , numero , boolean ( true or false ) , numero )-- Incompletod.count_monster ()-- Resultado : Assume o valor dos monstros que estão vivos no d ( local monstrosvivos = dcount_monster () )d.all_near_to ( numero , numero )-- Incompletad.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 mortosd.clear_regen ()-- Pará o Regen dos Monstros e destrói os Vivosd.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-- Incompletad.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 vnumd.spawn_move_unique ( )-- Incompleto=============================================================================game.web_mall() --Acede á Cash Shop / Item Shopgame.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-Mallgame.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 OXoxevent.end_event_force () -- Termina o OX ( Colocando Status a 0 ) no istanteoxevent.get_attender () -- Devolve o Vencedor do OXoxevent.quiz( numero , numero ) -- Activa uma Pergunta de OXoxevent.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 begintimer( "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 jogadorpc.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 Cavalohorse.ride() -- Monta o Cavalohorse.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.
  23. Upvote
    AnonimoHSG got a reaction from Nestle in [Software] Criador de Missão   
    Eae pessoal tudo bom ?
    Estarei postando um editor de missões para servidores, contudo este vem a ser bem simples.
    Ele já existe faz um bom tempo por isso irei renovar o link, como esse é o primeiro tutorial espero não estar fazendo nada errado =D
    Vamos lá
    O que o programa contém:
    Escolher o mob ao que deseja realizar a missão.
    Sistema de recompensa básico entre eles estão:
    Receber Itens, Níveis ao cavalo, Experiência, e Dinheiro
    Como usá-lo :
    Nombre de la Quest : Nome da Quest (que criará o arquivo).
    Nombre de la Quest en el juego : Nome da Quest que aparecerá no jogo
    A que nivel ? : Que nível aparecerá a quest para o jogador
    1,2,3,4 Texto de la linea : Texto sobre a missão. Neste, poderá colocar o objetivo, se quiser adicionar mais linhas, então basta abrir o arquivo quest e colocar o seguinte say ("Texto") .
    Tarea : (En rojo) > Texto que aparecerá em vermelho, normalmente o objetivo da missão. Para criar mais linhas avermelhadas vá ao arquivo e escreva
    say_reward(" Texto").
    O resto somente é editar, como monstros e recompensas, ao seu ver.
    Depois de realizar a missão, clique em Guardar, então irá aparecer o arquivo na pasta onde está o editor.
    Download do Editor :

    Créditos=Steff
  24. Upvote
    AnonimoHSG got a reaction from Hadak in Comandos Quest   
    Olá pessoal da Cyber-Gamers, esse é um tópico é direcionado para os comandos que ajudaram vocês a realizar missões entre outras coisas basta criatividade, sabendo o que o comando irá realizar, esse tópico é meio grande, por isso peço desculpas pela tamanho.São eles :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 comandoaffect.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 Jogadoraffect_remove_good ()-- Resultado : Remove todos Bónus bons no Jogadoraffect.remove_bad ()-- Resultado : Remove todos os Bónus maus no Jogadoraffect.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 : 5arena.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 ()-- Incompletoarena_get_duel_list ()-- Incompletoquest__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_ownerbuilding_get_land_infobuilding_get_land_idbuilding_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/dd.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émd.spawn_group ( numero , numero , numero , numero , boolean ( true or false ) , numero )-- Incompletod.count_monster ()-- Resultado : Assume o valor dos monstros que estão vivos no d ( local monstrosvivos = dcount_monster () )d.all_near_to ( numero , numero )-- Incompletad.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 mortosd.clear_regen ()-- Pará o Regen dos Monstros e destrói os Vivosd.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-- Incompletad.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 vnumd.spawn_move_unique ( )-- Incompleto=============================================================================game.web_mall() --Acede á Cash Shop / Item Shopgame.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-Mallgame.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 OXoxevent.end_event_force () -- Termina o OX ( Colocando Status a 0 ) no istanteoxevent.get_attender () -- Devolve o Vencedor do OXoxevent.quiz( numero , numero ) -- Activa uma Pergunta de OXoxevent.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 begintimer( "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 jogadorpc.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 Cavalohorse.ride() -- Monta o Cavalohorse.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.
  25. Upvote
    AnonimoHSG got a reaction from Nestle in [Software] Criador de Missão   
    Eae pessoal tudo bom ?
    Estarei postando um editor de missões para servidores, contudo este vem a ser bem simples.
    Ele já existe faz um bom tempo por isso irei renovar o link, como esse é o primeiro tutorial espero não estar fazendo nada errado =D
    Vamos lá
    O que o programa contém:
    Escolher o mob ao que deseja realizar a missão.
    Sistema de recompensa básico entre eles estão:
    Receber Itens, Níveis ao cavalo, Experiência, e Dinheiro
    Como usá-lo :
    Nombre de la Quest : Nome da Quest (que criará o arquivo).
    Nombre de la Quest en el juego : Nome da Quest que aparecerá no jogo
    A que nivel ? : Que nível aparecerá a quest para o jogador
    1,2,3,4 Texto de la linea : Texto sobre a missão. Neste, poderá colocar o objetivo, se quiser adicionar mais linhas, então basta abrir o arquivo quest e colocar o seguinte say ("Texto") .
    Tarea : (En rojo) > Texto que aparecerá em vermelho, normalmente o objetivo da missão. Para criar mais linhas avermelhadas vá ao arquivo e escreva
    say_reward(" Texto").
    O resto somente é editar, como monstros e recompensas, ao seu ver.
    Depois de realizar a missão, clique em Guardar, então irá aparecer o arquivo na pasta onde está o editor.
    Download do Editor :

    Créditos=Steff