Ir para conteúdo

Coyoty

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Coyoty recebeu reputação de TioItachi em [Movement] Ponte por Level !   
    Criei o script para ajudar um membro do forum e vou estar disponibilizando para outros players que precisarem!

    Script:

    function onStepIn(cid, item, position, fromPosition) local level = 2 if getPlayerLevel(cid) ~= level then doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) doPlayerSendCancel(cid,"Só players de level " .. level .. " podem passar.") else doTeleportThing(cid, {x = getPlayerPosition(cid).x - 1, y = getPlayerPosition(cid).y, z = getPlayerPosition(cid).z}) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) end return TRUE end Na pasta "Data/movements/movements.xml" adicione: <movevent event="StepIn" actionid="id" script="NOME.lua"/>

    Em id, você coloca no RME clicando com o direito na tile e adicionando em "actionid" !
    E em NOME, um nome qualquer para o arquivo(o mesmo que vc usou para adicionar o script).

    Lembrando que -1 no x o player vai para <, +1 vai para >
    No y: -1 para cima, +1 para baixo
  2. Gostei
    Coyoty recebeu reputação de MaXwEllDeN em [Movement] Ponte por Level !   
    Criei o script para ajudar um membro do forum e vou estar disponibilizando para outros players que precisarem!

    Script:

    function onStepIn(cid, item, position, fromPosition) local level = 2 if getPlayerLevel(cid) ~= level then doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) doPlayerSendCancel(cid,"Só players de level " .. level .. " podem passar.") else doTeleportThing(cid, {x = getPlayerPosition(cid).x - 1, y = getPlayerPosition(cid).y, z = getPlayerPosition(cid).z}) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) end return TRUE end Na pasta "Data/movements/movements.xml" adicione: <movevent event="StepIn" actionid="id" script="NOME.lua"/>

    Em id, você coloca no RME clicando com o direito na tile e adicionando em "actionid" !
    E em NOME, um nome qualquer para o arquivo(o mesmo que vc usou para adicionar o script).

    Lembrando que -1 no x o player vai para <, +1 vai para >
    No y: -1 para cima, +1 para baixo
  3. Gostei
    Coyoty recebeu reputação de Strogonofff em [Resolvido] ponte com sensor de level   
    Huziwara o problema do script ai é que você usou "< level" no de cima usou certo "~= level" ! e ele só quer q lv 2 passe, não podendo voltar!! E deu erro no meu script porque você usei o 1002 como action id... o recomendado é usar 30000 algum numero grande , pra n dar conflito, aqui usei o 47755 e funcionou de boa! tenta ai!
  4. Gostei
    Coyoty recebeu reputação de Strogonofff em [Resolvido] ponte com sensor de level   
    Bom cara no meu script funcionou perfeitamente, vou testar o do Huziwara e ja edito!

    EDIT: Huziwara realmente tem algo errado com seu script.. =/ eu testei aqui e só aparece você não pode voltar! não faz mais nada, lembrando que no action id no RME eu colokei 50002! coloquei o comando no movements.xml e não funcionou!!

    EDIT2: Huziwara =D tomei a liberdade de editar o seu script bl?

    function onStepIn(cid, item, position, fromPosition) if(item.actionid > 50000 and item.actionid < 50200) then local level = (item.actionid - 50000) local kickposition = {x=95, y=125, z=7} -- AQUI A POSIÇÃO QUE O PLAYER VAI SER TELEPORTADO SE ELE TIVER ABAIXO DO LEVEL local kickposition2 = {x=95, y=123, z=7} -- AQUI A POSIÇÃO QUE O PLAYER SERAR TELEPORTADO SE ELE TENTAR VOLTAR ! if getPlayerLevel(cid) ~= level then doTeleportThing(cid, kickposition, TRUE) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) doPlayerSendCancel(cid,"Só players de level " .. level .. " podem passar.") elseif getPlayerLevel(cid) == level then setPlayerStorageValue (cid, 3456787, 1) end if getPlayerStorageValue(cid, 3456787) == 1 then doTeleportThing(cid, kickposition2, TRUE) doPlayerSendCancel(cid,"Você não pode voltar !") end end return TRUE end

    Agora funcionou !
  5. Gostei
    Coyoty deu reputação a sonkis em [Action] Alavanca que Teleporta   
    Bom começei a fazer script a dois dias..
    Esse é meu segundo script, bem simples e provavelmente vai ter alguns semelhantes...

    Bom ele teleporta o player que clicar na alavanca para x posição..
    Pode ser utilizado em quests, hunts, etc...

    [paste]XjKKbQGp[/paste]

    [paste]VXjVxeWw[/paste]

    Tutorial para utilização.




    Qualquer dúvida só postar
  6. Gostei
    Coyoty deu reputação a Garou em [Resolvido] [Duvida] Obsidian Knife   
    Olá, Coyoty.



    Já notei que você arrumou seu script, mas só para esclarecer:

    - Quando a função math.random() fica fora do corpo da função onUse(), ela randomiza apenas uma vez no carregamento do servidor e não toda vez que executar a action.

    - E no caso da math.random(1, 100) não é necessário usar elseif, apenas else.


    if math.random(1, 100) >= 50 then (...) else (...) end



    Abraços
  7. Gostei
    Coyoty recebeu reputação de Renato em [Movement] Ponte por Level !   
    Criei o script para ajudar um membro do forum e vou estar disponibilizando para outros players que precisarem!

    Script:

    function onStepIn(cid, item, position, fromPosition) local level = 2 if getPlayerLevel(cid) ~= level then doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) doPlayerSendCancel(cid,"Só players de level " .. level .. " podem passar.") else doTeleportThing(cid, {x = getPlayerPosition(cid).x - 1, y = getPlayerPosition(cid).y, z = getPlayerPosition(cid).z}) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) end return TRUE end Na pasta "Data/movements/movements.xml" adicione: <movevent event="StepIn" actionid="id" script="NOME.lua"/>

    Em id, você coloca no RME clicando com o direito na tile e adicionando em "actionid" !
    E em NOME, um nome qualquer para o arquivo(o mesmo que vc usou para adicionar o script).

    Lembrando que -1 no x o player vai para <, +1 vai para >
    No y: -1 para cima, +1 para baixo
  8. Gostei
    Coyoty recebeu reputação de redmax1596 em [Resolvido] [Duvida] Montarias   
    Pega um editor de sprite 8.7 e um 9.44 ! pega as sprite do 9.44 e adiciona no 8.7 ! No comando "mount" só editar adicionando outra linha e editando o numero equivalente ao numero da sprite no sprite editor!... Realmente é dificiul explicar '-'..
  9. Gostei
    Coyoty recebeu reputação de Renato em [Resolvido] ponte com sensor de level   
    Bom cara no meu script funcionou perfeitamente, vou testar o do Huziwara e ja edito!

    EDIT: Huziwara realmente tem algo errado com seu script.. =/ eu testei aqui e só aparece você não pode voltar! não faz mais nada, lembrando que no action id no RME eu colokei 50002! coloquei o comando no movements.xml e não funcionou!!

    EDIT2: Huziwara =D tomei a liberdade de editar o seu script bl?

    function onStepIn(cid, item, position, fromPosition) if(item.actionid > 50000 and item.actionid < 50200) then local level = (item.actionid - 50000) local kickposition = {x=95, y=125, z=7} -- AQUI A POSIÇÃO QUE O PLAYER VAI SER TELEPORTADO SE ELE TIVER ABAIXO DO LEVEL local kickposition2 = {x=95, y=123, z=7} -- AQUI A POSIÇÃO QUE O PLAYER SERAR TELEPORTADO SE ELE TENTAR VOLTAR ! if getPlayerLevel(cid) ~= level then doTeleportThing(cid, kickposition, TRUE) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) doPlayerSendCancel(cid,"Só players de level " .. level .. " podem passar.") elseif getPlayerLevel(cid) == level then setPlayerStorageValue (cid, 3456787, 1) end if getPlayerStorageValue(cid, 3456787) == 1 then doTeleportThing(cid, kickposition2, TRUE) doPlayerSendCancel(cid,"Você não pode voltar !") end end return TRUE end

    Agora funcionou !
  10. Gostei
    Coyoty deu reputação a Huziwara em [Resolvido] ponte com sensor de level   
    Bem, esse não vai falhar, mude esse script pelo que o Coyoty te passou, afinal esse script é o dele que eu editei xD


    XML TAG :
    NÃO SE ESQUEÇA DE POR NO itemid="" o ID do PISO !

    <movevent event="StepIn" itemid="id" script="leveltile.lua"/> Vai em movevent e cria um arquivo .lua chamado leveltile.lua ! E coloque : function onStepIn(cid, item, position, fromPosition) if(item.actionid > 50000 and item.actionid < 50200) then local level = (item.actionid - 50000) if getPlayerLevel(cid) ~= level then doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) doPlayerSendCancel(cid,"Só players de level " .. level .. " podem passar.") else doTeleportThing(cid, {x = getPlayerPosition(cid).x - 1, y = getPlayerPosition(cid).y, z = getPlayerPosition(cid).z}) end end return TRUE end

    Funciona assim :

    Action ID: 50010

    Nesse caso só poderar passar level 10 ou mais ...

    Como funciona :
    50000 + o level que você quer para o player passar o resultado é o que você vai por no RME !

    Exemplo2 :
    50000 + 35 = 50035 ( se eu não me engano)
    Então, apenas os players com level 35 ou + poderam passar !


    O maximo é até 50200, ou seja, até level 200 xD

    Espero ter ajudado !

    Att. Huziwara no Mokou
  11. Gostei
    Coyoty recebeu reputação de Huziwara em [Resolvido] ponte com sensor de level   
    Bom cara no meu script funcionou perfeitamente, vou testar o do Huziwara e ja edito!

    EDIT: Huziwara realmente tem algo errado com seu script.. =/ eu testei aqui e só aparece você não pode voltar! não faz mais nada, lembrando que no action id no RME eu colokei 50002! coloquei o comando no movements.xml e não funcionou!!

    EDIT2: Huziwara =D tomei a liberdade de editar o seu script bl?

    function onStepIn(cid, item, position, fromPosition) if(item.actionid > 50000 and item.actionid < 50200) then local level = (item.actionid - 50000) local kickposition = {x=95, y=125, z=7} -- AQUI A POSIÇÃO QUE O PLAYER VAI SER TELEPORTADO SE ELE TIVER ABAIXO DO LEVEL local kickposition2 = {x=95, y=123, z=7} -- AQUI A POSIÇÃO QUE O PLAYER SERAR TELEPORTADO SE ELE TENTAR VOLTAR ! if getPlayerLevel(cid) ~= level then doTeleportThing(cid, kickposition, TRUE) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) doPlayerSendCancel(cid,"Só players de level " .. level .. " podem passar.") elseif getPlayerLevel(cid) == level then setPlayerStorageValue (cid, 3456787, 1) end if getPlayerStorageValue(cid, 3456787) == 1 then doTeleportThing(cid, kickposition2, TRUE) doPlayerSendCancel(cid,"Você não pode voltar !") end end return TRUE end

    Agora funcionou !
  12. Gostei
    Coyoty recebeu reputação de Pablorox em [Movement] Ponte por Level !   
    Criei o script para ajudar um membro do forum e vou estar disponibilizando para outros players que precisarem!

    Script:

    function onStepIn(cid, item, position, fromPosition) local level = 2 if getPlayerLevel(cid) ~= level then doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) doPlayerSendCancel(cid,"Só players de level " .. level .. " podem passar.") else doTeleportThing(cid, {x = getPlayerPosition(cid).x - 1, y = getPlayerPosition(cid).y, z = getPlayerPosition(cid).z}) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) end return TRUE end Na pasta "Data/movements/movements.xml" adicione: <movevent event="StepIn" actionid="id" script="NOME.lua"/>

    Em id, você coloca no RME clicando com o direito na tile e adicionando em "actionid" !
    E em NOME, um nome qualquer para o arquivo(o mesmo que vc usou para adicionar o script).

    Lembrando que -1 no x o player vai para <, +1 vai para >
    No y: -1 para cima, +1 para baixo
  13. Gostei
    Coyoty recebeu reputação de Strogonofff em [Resolvido] ponte com sensor de level   
    Se não funcionar o que o Huziwara falou.. tenta esse script:

    function onStepIn(cid, item, position, fromPosition) local level = 2 if getPlayerLevel(cid) ~= level then doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) doPlayerSendCancel(cid,"Só players de level " .. level .. " podem passar.") else doTeleportThing(cid, {x = getPlayerPosition(cid).x - 1, y = getPlayerPosition(cid).y, z = getPlayerPosition(cid).z}) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) end return TRUE end Lembrando é um movements.. então na pasta "Data/movements/movements.xml" adicione: <movevent event="StepIn" actionid="id" script="NOME.lua"/>

    Em id, você coloca no RME clicando com o direito na tile e adicionando em "actionid" !
    E em NOME, um nome qualquer para o arquivo(o mesmo que vc usou para adicionar o script).

    Agora ta pegando perfeitamente... o player n pode voltar! só pode ir!Só mais 1 coisa... se não funcionar "-1" muda para "+1" é porque depende do lado que o personagem via passar.
  14. Gostei
    Coyoty recebeu reputação de sonkis em [Resolvido] [Dúvida] Action   
    Cara seguinte tenta esse aki:


    -- Script Made By: Sonkis (Gabriel Lisboa) function onUse(cid, item, fromPosition, itemEx, toPosition, itemaid) end -- Start Config -- runeid = 2268 charges = 100 cost = 3700 cap = 70 itemaid = 35000 -- End Config -- if item.itemaid == 1945 and getPlayerFreeCap(cid, cap) then doPlayerRemoveMoney(cid, cost) then doPlayerAddItem(cid, runeid, charges, cost) then doPlayerSendTextMessage(cid,20,"You bought 100 charges of Sudden Death Rune.") elseif item.itemaid == 1946 then doTransformItem(cid, item) [color=#008000]-- esse item cara vc n especificou qual o id, entao n sei se vai funcionar esta parte...[/color] else doPlayerSendCancel(cid, "You do not have enought money or capacity.") end end

    Fiz ele aqui pelo forum mesmo... não cheguei a testar! Mas qualquer coisa da 1 toque que eu arrumo e testo!

    EDITED: Cara seguinte explica direito o que vc quer que o script faça... pq acho que esse comando do action.xml e esse script n vai funcionar do jeito que vc está chando '-' !!!
  15. Gostei
    Coyoty recebeu reputação de Inaldo Marinho em Como botar Minimu Level ?   
    Realmente é algo bem básico... mas já que vi que ninguém conseguiu ajudar o cara =D... Pelo menos da pra segurar as pontas com esse script!!

    E vlw ai Adriano !
  16. Gostei
    Coyoty deu reputação a Garou em PVP System   
    Introdução


    Estava eu jogando um bom Counter Strike 1.6 em um servidor 4Fun, quando vi um dos mais conhecidos plugins desse jogo - amxx plugin - que consiste em contar quantos frags seguidos um jogador fez e interpretar isso com um som.

    Resolvi então fazer algo parecido no Tibia, e como ele não possui som, me utilizei de mensagens broadcast.

    Enfim, para instalar o sistema no seu servidor, siga os passos abaixo.


    Instalação


    Em /data/creaturescripts/scripts/, crie o arquivo pvpsystem.lua e cole este conteúdo:

    [paste]NgAuw1nU[/paste]

    Em /data/creaturescripts/, abra o arquivo creaturescripts.xml e cole essa tag nele:


    <event type="kill" name="pvpsystem" event="script" value="pvpsystem.lua"/> Em /data/creaturescripts/scripts, abra o arquivo login.lua e cole essa linha antes do return true: registerCreatureEvent(cid, "pvpsystem") E você também pode adicionar um channel custom, onde serão enviadas mensagens das mortes no PVP pelo sistema. Em /data/XML/, abra o arquivo channels.xml e adicione essa linha: <channel id="10" name="PVP" logged="yes" active="0"/>



    Em breve adiciono screenshots do funcionamento ou até um vídeo.
  17. Gostei
    Coyoty deu reputação a Skydangerous em [Talkaction] Salvar Posição No Mapa E Voltando   
    O script é bem simples, ele salva a sua posição no mapa para que você possa retornar no lugar quando quiser.



    Salvando a posição(waypoint) no mapa






    Voltando novamente na posição






    Se tentar novamente não irá conseguir




    Crie um arquivo chamado funtele.lua na pasta talkaction/scripts

    function doMarkPos(cid, posx, posy, posz) setPlayerStorageValue(cid, 19000, posx) setPlayerStorageValue(cid, 19001, posy) setPlayerStorageValue(cid, 19002, posz) end function getMarkPos(cid) return {x=getPlayerStorageValue(cid, 19000), y=getPlayerStorageValue(cid, 19001), z=getPlayerStorageValue(cid, 19002)} end function onSay(cid, words, param) local pos = getCreaturePosition(cid) if words == "!salvar" then if getMarkPos(cid).x < 1 then doSendMagicEffect(pos,15) doMarkPos(cid, pos.x, pos.y, pos.z) doPlayerSendTextMessage(cid, 4, "Você salvou posicao no mapa.") else doPlayerSendCancel(cid, "Você já gravou posição.") end elseif words == "!voltar" then if getMarkPos(cid).x > 0 then doTeleportThing(cid, getMarkPos(cid)) doMarkPos(cid, 0, 0, 0) doPlayerSendTextMessage(cid, 21,"Você foi teleportado para o waypoint") doSendMagicEffect(pos,11) else doPlayerSendCancel(cid, "Você não gravou uma posição.") end end return TRUE end agora em talkaction.xml cole essa tag <talkaction words="!salvar;!voltar" event="script" value="funtele.lua"> Agradecimentos: DemonBholder & Apocarai(jaohd) </talkaction>
  18. Gostei
    Coyoty deu reputação a Godfather em [Action] Controlled Attack   
    ATENÇÃO:
    NÃO DOU DIREITO À NINGUÉM DE POSTAR ESTE SCRIPT EM OUTRO LUGAR, SEM MINHA PERMISSÃO.
    MEU MSN: [email protected]

    Pretexto:
    Olá, este é o meu primeiro tópico aqui no TibiaKing, e resolvi trazer pra vocês um script que eu criei, e que estava criando mofo no meu PC haha, eu não vou explicar muito, eu coloquei um vídeo que explica melhor o que o script faz.

    Explicando:
    O script é basicamente um ataque que tem uma rota controlada por você, usando ctrl + setas, para direcionar o ataque.
    - Tempo de controle limitado
    - Não tem efeito em proction-zone
    - Os danos são: level do jogador (min), e level do jogador x 3 (max)
    - Mana gasta: level do jogador x 6

    Script:
    [data/actions/scripts/cattack.lua]

    function onUse(cid, item, fromPosition, itemEx, toPosition) minMana = getPlayerLevel(cid) * 6 onoff = 4956 quantx = 0 quanty = 0 function setAxis() o = getPlayerPosition(cid) xe = o.x ye = o.y ze = o.z tempo = 3 velocidade = 150 end function doEffect() pos = {x=xe+quantx,y=ye+quanty,z=ze} if getPlayerMana(cid) < minMana then setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) elseif getTilePzInfo(pos) == FALSE then local ef = 6 of = 2 doAreaCombatHealth(cid, COMBAT_FIREDAMAGE, pos, 0, -getPlayerLevel(cid), -getPlayerLevel(cid) * 3, ef) -- doPlayerSendCancel(cid,"x = "..xe+quantx..", y = "..ye+quanty..", z = "..ze.."") else doSendMagicEffect(pos,of) -- doPlayerSendCancel(cid,"x = "..xe+quantx..", y = "..ye+quanty..", z = "..ze.."") end addEvent(checkDir,velocidade) end function checkPer() if getPlayerStorageValue(cid,work) == 1 then checkTime() end end function checkTime() if tempo > 0 then doEffect() else stop() end end function stop() posi = {x=xe+quantx,y=ye+quanty,z=ze} doSendMagicEffect(posi,49) doSendAnimatedText(posi,"...",TEXTCOLOR_YELLOW) setPlayerStorageValue(cid,onoff,0) doPlayerSetNoMove(cid,0) addEvent(doPlayerSendCancel,800,cid,"Tempo restante: 0.") end function minusTime() if getPlayerStorageValue(cid,onoff) == 0 then elseif tempo > 0 then doPlayerSendCancel(cid,"Tempo restante: "..tempo..".") tempo = tempo - 1 addEvent(minusTime,1000) elseif tempo == 0 then stop() end end function checkDir() po = getCreatureLookDirection(cid) if po == NORTH then quanty = quanty - 1 elseif po == SOUTH then quanty = quanty + 1 elseif po == WEST then quantx = quantx - 1 elseif po == EAST then quantx = quantx + 1 end checkPer() end if getTilePzInfo(getPlayerPosition(cid)) == TRUE then doSendAnimatedText(getPlayerPosition(cid),"PZ!",TEXTCOLOR_YELLOW) setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) elseif getPlayerMana(cid) < minMana then doSendAnimatedText(getPlayerPosition(cid),"MANA",TEXTCOLOR_LIGHTBLUE) doPlayerSendCancel(cid,"Você precisa de "..minMana.." de mana para isso.") setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) elseif getPlayerStorageValue(cid,onoff) == 0 then setPlayerStorageValue(cid,work,1) setPlayerStorageValue(cid,onoff,1) doPlayerAddMana(cid,-minMana) doPlayerSetNoMove(cid,1) setAxis() minusTime() checkDir() else doPlayerSendCancel(cid,"Contagem cancelada.") setPlayerStorageValue(cid,work,0) setPlayerStorageValue(cid,onoff,0) doPlayerSetNoMove(cid,0) end return TRUE end "velocidade = 150": velocidade em milisegundos "tempo = 3": tempo em segundos Tag: [data/actions/actions.xml] <action itemid="xxx" script="cattack.lua"/>
    Note: xxx é o ID do item que será utilizado.

    Vídeo:



  19. Gostei
    Coyoty deu reputação a MaXwEllDeN em Boas práticas para Programar   
    Olá Galera, hoje vou postar um tutorial que ensina você a deixar seu código mais bonito, legível e organizado. Vamos lá.

    Em primeiro lugar vamos aprender oque é indentação ou identação.



    Exemplo de um código com indentação:

    function doPlayerCompleteQuest(uid, quest) doPlayerAddItem(uid, quest[1], quest[2]) setPlayerStorageValue(uid, quest[3], 1) doTeleportThing(uid, getTownPosition(getPlayerTown(uid))) doPlayerSendTextMessage(uid, 27, "Você completou a quest ".. quest[4] ..".") if (getPlayerStorageValue(uid, quest[5]) > 0) then doPlayerSendTextMessage(uid, 27, "E recebeu um bônus por ter completado outra quest.") end return true end Este mesmo código, mas agora sem indentação: function doPlayerCompleteQuest(uid,quest) doPlayerAddItem(uid,quest[1],quest[2]) setPlayerStorageValue(uid,quest[3],1) doTeleportThing(uid,getTownPosition(getPlayerTown(uid))) doPlayerSendTextMessage(uid,27,"Você completou a quest "..quest[4]..".") if (getPlayerStorageValue(uid,quest[5])>0) then doPlayerSendTextMessage(uid,27,"E recebeu um bônus por ter completado outra quest.") end return true end Um código com indentação, a primeira vista pode não ser nada de mais. Porém se você fizer um código grande, com muitas funções, condições e declarações, uma boa indentação deixa seu código muito mais fácil de ser lido por outros programadores e até por você mesmo e ser modificado também. Enquanto eu lia um livro sobre C++, encontrei uma lista de algumas boas práticas para programar que eu já conhecia e outras que aprendí. Listarei algumas delas aqui.


    Bem, com essas dicas ai eu acho que muitas pessoas podem melhorar o estilo de programar , Falous galera.

    Abraço.

    OBS: A maioria das dicas listadas aqui foram tiradas do Livro: Deitel - Como Programar C++ 5ª Edição
  20. Gostei
    Coyoty recebeu reputação de GuuhTorres em [Como editar um arquivo .xml]   
    1º Clique com o botão direito do mouse, sobre o arquivo .xml
    2º Coloque o mouse sobre "abrir com"
    3º selecione um editor de texto...notepad...wordpad... mas existe programas leves que facilitariam a edição !!!

    =P
  21. Gostei
    Olá TibiaKing,

    Ví que muitos pessoas estava com o problema de criar um novo templo, e dai estava com as cooerdenadas do antigo, e acontecia de os players nascerem no lugar errado.

    Então criei um templo bem simples, só pra ver-mos como se faz.

    Adicionando uma cidade:

    1. Abra seu map editor e vá até o templo.
    2. Precione CTRL + T, e clique em ADD.
    3. Aparecerá igual a imagem, coloque o nome da cidade e as coordenadas:
    4. Clique em OK

    5. Abra o config.lua
    6. Configure igual está embaixo:

    7. Pronto, teste e se estiver tudo certo agradeça. Se não avise que tentarei arrumar

    Editando uma cidade:

    1. Abra seu map editor e vá até o templo.
    2. Precione CTRL + T, e va até o nome da cidade existente.
    3. Se quiser edite o nome, e edite as coordenadas, para o novo templo.
    4. Pronto, clique em OK e está feito.


    Tutorial todo feito por mim.
    Se gostou agradeça, e se quiser.. +REP
    Obrigado, JhonatanCWest
  22. Gostei
    Coyoty deu reputação a ElderDark em Desvendando o RME - Aba "View"   
    Então galera, meu primeiro tutorial e resolvi abordar um assunto que creio que ninguem veio exclarecer a todos, alguns amigos meus vem me perguntando qua a função de cada opção então resolvi fazer tal tutorial.

    Como chegar a Aba "View"


    Opções da aba


    New View - Hotkey Ctrl-Shift-N
    Esta opção você poderar abrir uma nova visão do mapa que você estiver fazendo.




    Exemplo :
    Sem o New View


    Com o New View


    Take Screenshot - Hotkey F11
    Apertando sua hotkey ou clicando no Menu você irar tirar uma Screenshot do mapa, a imagen é geralmente salva no "Meus Documentos/My Pictures/RME"

    Show Shade - Hotkey Q
    Quando estiver vendo um andar superior do mapa, ativando esta opção a parte escura que costuma ficar na parte inferior do mapa que esta aparecendo ira sumir.




    Exemplo :
    Show Shade Ativado


    Show Shade Desativado


    Show all floors - Hotkey Ctrl-w
    Em geral ela fica ativada, mais ela e utilizada para você poder vizualizar todos os andares de uma vez.




    Exemplo:
    Show all floors Desativado


    Show all floors Ativado


    Ghost loose items - Hotkey G
    Ativando esta opção tudo menos o chão ira ficar um pouco transparente permitindo ver o que tem atras das paredes.




    Exemplo:
    Ghost loose items Ativado


    Ghost higher floors - Hotkey Ctrl-L
    Enquanto estiver vendo o primeiro andar, você poderar ver o segundo andar, porem ele estara um pouco transparente.




    Exemplo:
    Ghost higher floors Ativado


    Show Ingame Box - Hotkey Shift-I
    Da-se foco ao centro da tela do editor, onde no centro ficará mais claro e no contorno mais escuro.




    Exemplo:
    Show Ingame Box Ativado


    Show Grid - Hotkey Shift-G
    Ira exibir uma grade aonde cada quadrado é equivalente a um "SQM"




    Exemplo:
    Show Grid Ativado


    Highlight items - Hotkey V
    Irá ficar de cor diferente "SQMs" que tiverem mais de um item no lugar, quanto mais escuro a cor maior a quantia de itens no "SQM"




    Exemplo:
    Highlight items Ativado


    Show creatures - Hotkey F
    Abilitado você vera as creaturas existentes no mapa.

    Show spawns - Hotkey S
    Você poderar ver os spawns existentes no mapa

    Show special - Hotkey E
    Ainda não sei o que a sua função (Quem souber e poder me falar ficaria feliz)


    Only show colors - Hotkey Ctrl-E
    só ficara visivel as cores de opções especiais como : spawns, casas, protection zone




    Exemplo:
    Only show colors Ativado


    Show houses - Hotkey Ctrl-H
    Ficara visivel os pisos especiais de Houses.



    Exemplo:
    Show Houses Ativado




    Show pathing - Hotkey O
    Mostrara os lugares aonde você nao pode passar.



    Exemplo:
    Show pathing Ativado



    Então galera é isso ai, caso tenha duvidas só postar que ficarei contente em soluciona-las.

    Gostaram do tutorial ? De um Rep+, Não custa nada

    Att ElderDark

Informação Importante

Confirmação de Termo