Ir para conteúdo

Oneshot

Marquês
  • Total de itens

    1347
  • Registro em

  • Última visita

  • Dias Ganhos

    36

Tudo que Oneshot postou

  1. Você tem que adicionar o parâmetro -m64 nas opções do seu aplicativo usado para compilar as sources do The Forgotten Server.
  2. Oneshot

    Daftpunk Sign

    Opa, Startix. Legal ver você por aqui. Sei que você é um excelente designer e seus trabalhos mostram isso. Abraços.
  3. caotic, O código está simples, mas contém vários pequenos erros. Porque você chama o arquivo cardsystem.lua uma vez em cada função? Isso é totalmente desnecessário. Simplesmente use dofile no começo da biblioteca.
  4. maiconskavurska, Os erros são devidos a vários fatores e são todos relacionados com a falta de informações em seu banco de dados. Postarei a seguir as querys para execução e criação das tabelas e colunas necessárias para que esses erros não ocorram mais. Error during getDataInt(vipdays) ALTER TABLE `players` ADD vipdays INT(15) NOT NULL DEFAULT 0; OTSYS_SQLITE_PREPARE(): SQLITE ERROR CREATE TABLE guild_wars ( id INT(3) PRIMARY KEY NOT NULL UNIQUE, guild_id INT(3) NOT NULL, enemy_id INT(3) NOT NULL, guild_score INT(5) NOT NULL DEFAULT 0, enemy_score INT(5) NOT NULL DEFAULT 0, date BIGINT(20) NOT NULL DEFAULT 0, winner INT(3) NOT NULL DEFAULT 0, status INT(1) NOT NULL DEFAULT 1 ); sqlite3_step() Este erro não é consertado através de querys. Quando um sistema acessa seu banco de dados através da função db.getResult(...), a função "trava" o banco de dados. Para evitar esse erro, seria necessário o uso da função Result:free() que muitas vezes não está presente nos sistemas. Favor reportar qualquer dúvida e/ou resultado.
  5. Tente agora. function onCastSpell(cid, var) local direction = getCreatureLookDirection(cid) local size = 3 local toPosition = getPositionByDirection(getThingPosition(cid), direction, size) if isWalkable(toPosition, cid) then doSendMagicEffect(getThingPosition(cid), CONST_ME_POFF) doTeleportThing(cid, toPosition) doSendMagicEffect(getThingPosition(cid), CONST_ME_POFF) else doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) end return true end
  6. sarioyana, A solução deste seu problema depende muito do seu servidor. Alguns baseados nas revisões do The Forgotten Server possuem um atributo para itens programado em C++ chamado levelDoor. Logo, você poderia criar um gate of expertise ao seu gosto manipulando esse atributo. Tomaremos como exemplo básico um gate of expertise em items.xml: <item id="5130" article="a" name="gate of expertise"> <attribute key="type" value="door" /> <attribute key="levelDoor" value="1000" /> <attribute key="blockprojectile" value="1" /> </item> No sistema de Gates of Expertise programado em seu arquivo doors.lua localizado em /data/actions, ele faz o seguinte cálculo. item.actionid - getItemInfo(item.itemid).levelDoor Logo para a criação de um Gate of Expertise de level 2000, você precisaria fazer as seguintes mudanças. <item id="5130" article="a" name="gate of expertise"> <attribute key="type" value="door" /> <attribute key="levelDoor" value="3000" /> <attribute key="blockprojectile" value="1" /> </item> E colocar o actionid pelo Editor de Mapas de sua preferência como 5000. Assim sendo teremos o seguinte: 5000 - 3000 = 2000 Lembrando que essas edições podem ser feitas em qualquer porta de sua preferência, desde que ela possua o atributo levelDoor. Reporte aqui quaisquer resultados das instruções acima.
  7. Desculpe, foi um erro meu e este já foi consertado.
  8. sarioyana, Para correto funcionamento do código deste post, siga as instruções com exatidão, prestando atenção para salvar as extensões pedidas corretamente. - Abra o arquivo 050-function.lua com um Bloco de Notas em /data/lib e, no final, adicione o seguinte código: function isWalkable(position, cid) position.stackpos = 0 if getTileThingByPos(position).uid ~= 0 then local tile = getTileInfo(position) if tile.protection == false and tile.house == false and getTopCreature(position).uid == 0 and doTileQueryAdd(cid, position) == RETURNVALUE_NOERROR then return true end end return false end - Crie um novo arquivo chamado dash.lua em /data/spells/scripts e adicione o seguinte código function onCastSpell(cid, var) local direction = getCreatureLookDirection(cid) local size = 3 local toPosition = getPositionByDirection(getThingPosition(cid), direction, size) if isWalkable(toPosition, cid) then doSendMagicEffect(getThingPosition(cid), CONST_ME_POFF) doTeleportThing(cid, toPosition) doSendMagicEffect(getThingPosition(cid), CONST_ME_POFF) else doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) end return true end - Abra o arquivo spells.xml e adicione a seguinte linha: <instant name="Dash" words="dash" lvl="20" mana="18" exhaustion="2000" needlearn="0" event="script" value="dash.lua"/> Antes de: </spells> Reporte no tópico quaisquer resultados.
  9. Obrigado, Gustavo. Me deixe a par desse projeto sim. Abraços.
  10. Oneshot

    Erro No Items.xml

    Vê se presta mais atenção na próxima vez que for editar seu arquivo items.xml. Download (Versão Corrigida): Speedy Share
  11. local experience = { [{1, 149}] = {600000, 700000}, [{150, 199}] = {800000, 900000}, [{200, 249}] = {1000000, 1100000}, [{250, 299}] = {1200000, 1300000}, [{300, 349}] = {1400000, 1500000}, [{350, 399}] = {1600000, 1700000}, [{400, 449}] = {1800000, 1900000}, [{450, 499}] = {2000000, 2100000}, [{500, 509}] = {2200000, 2300000} } function onUse(cid, item, fromPosition, itemEx, toPosition) local level, amount = getPlayerLevel(cid) if getPlayerSoul(cid) >= 250 then for k, v in pairs(experience) do if level >= k[1] and level <= k[2] then amount = math.random(unpack(v)) break end end if amount then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você recebeu ".. amount .." de experiência.") doSendAnimatedText(fromPosition, amount, COLOR_WHITE) doPlayerAddExperience(cid, amount) doPlayerAddSoul(cid, -250) doRemoveItem(item.uid, 1) else doPlayerSendCancel(cid, "Você não pode usar mais esse item") end else doPlayerSendCancel(cid, "Você não tem almas suficientes.") end return true end
  12. <?xml version="1.0" encoding="UTF-8"?> <vocations> <vocation id="0" name="None" description="none" needpremium="0" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="10" gainmanaticks="6" gainmanaamount="10" manamultiplier="4.0" attackspeed="1000" soulmax="100" gainsoulticks="120" fromvoc="0" attackable="no"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="2.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="2.0"/> <skill id="2" multiplier="2.0"/> <skill id="3" multiplier="2.0"/> <skill id="4" multiplier="2.0"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="1" name="Master Sorcerer" description="a master sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="100" gainmanaticks="2" gainmanaamount="200" manamultiplier="1.1" attackspeed="600" soulmax="200" gainsoulticks="15" fromvoc="1" lessloss="10"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="2.0"/> <skill id="2" multiplier="2.0"/> <skill id="3" multiplier="2.0"/> <skill id="4" multiplier="2.0"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="2" name="Elder Druid" description="an elder druid" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="100" gainmanaticks="2" gainmanaamount="200" manamultiplier="1.1" attackspeed="600" soulmax="200" gainsoulticks="15" fromvoc="2" lessloss="10"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.8"/> <skill id="2" multiplier="1.8"/> <skill id="3" multiplier="1.8"/> <skill id="4" multiplier="1.8"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="3" name="Royal Paladin" description="a royal paladin" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="2" gainhpamount="150" gainmanaticks="2" gainmanaamount="150" manamultiplier="1.4" attackspeed="600" soulmax="200" gainsoulticks="15" fromvoc="3" lessloss="10"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.2"/> <skill id="1" multiplier="1.2"/> <skill id="2" multiplier="1.2"/> <skill id="3" multiplier="1.2"/> <skill id="4" multiplier="1.1"/> <skill id="5" multiplier="1.1"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="4" name="Elite Knight" description="an elite knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="200" gainmanaticks="2" gainmanaamount="100" manamultiplier="3.0" attackspeed="600" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="10"> <formula meleeDamage="1.1" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.1"/> <skill id="1" multiplier="1.1"/> <skill id="2" multiplier="1.1"/> <skill id="3" multiplier="1.1"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.1"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="5" name="Master Sorcerer (VIP)" description="an master sorcerer (vip)" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="200" gainmanaticks="2" gainmanaamount="300" manamultiplier="1.1" attackspeed="600" soulmax="299" gainsoulticks="15" fromvoc="1" lessloss="40"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="2.0"/> <skill id="2" multiplier="2.0"/> <skill id="3" multiplier="2.0"/> <skill id="4" multiplier="2.0"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="6" name="Elder Druid (VIP)" description="an elder druid (vip)" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="200" gainmanaticks="2" gainmanaamount="300" manamultiplier="1.1" attackspeed="600" soulmax="299" gainsoulticks="15" fromvoc="2" lessloss="40"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.5"/> <skill id="1" multiplier="1.8"/> <skill id="2" multiplier="1.8"/> <skill id="3" multiplier="1.8"/> <skill id="4" multiplier="1.8"/> <skill id="5" multiplier="1.5"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="7" name="Royal Paladin (VIP)" description="an royal paladin (vip)" needpremium="1" gaincap="20" gainhp="10" gainmana="15" gainhpticks="2" gainhpamount="250" gainmanaticks="2" gainmanaamount="250" manamultiplier="1.4" attackspeed="600" soulmax="299" gainsoulticks="15" fromvoc="3" lessloss="40"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.2"/> <skill id="1" multiplier="1.2"/> <skill id="2" multiplier="1.2"/> <skill id="3" multiplier="1.2"/> <skill id="4" multiplier="1.1"/> <skill id="5" multiplier="1.1"/> <skill id="6" multiplier="1.1"/> </vocation> <vocation id="8" name="Elite Knight (VIP)" description="an elite knight (vip)" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="300" gainmanaticks="2" gainmanaamount="200" manamultiplier="3.0" attackspeed="600" soulmax="299" gainsoulticks="15" fromvoc="4" lessloss="40"> <formula meleeDamage="1.1" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" armor="1.0"/> <skill id="0" multiplier="1.1"/> <skill id="1" multiplier="1.1"/> <skill id="2" multiplier="1.1"/> <skill id="3" multiplier="1.1"/> <skill id="4" multiplier="1.4"/> <skill id="5" multiplier="1.1"/> <skill id="6" multiplier="1.1"/> </vocation> </vocations> Abraços.
  13. Olá, klauguns. Poste a seguir o conteúdo do arquivo vocations.xml localizado, geralmente, em data/XML.
  14. Muito estranho. Você já é o segundo a reportar esse erro. Poderia me dizer qual a revisão do seu The Forgotten Server 0.4?
  15. Não entendi. Você quer um comando que dê para o jogador ver suas próprias skills ou GODs verem as skills de jogadores?
  16. Isso é feito no movements.xml. Por exemplo: <movevent type="Equip" itemid="2492" slot="armor" event="function" value="onEquipItem"> <vocation id="4"/> <vocation id="8" showInDescription="0"/> <vocation id="3"/> <vocation id="7" showInDescription="0"/> </movevent>
  17. Graças ao sistema de formatação de tópicos do XTibia, ele troca símbolos como > para > o que faz com que os scripts deem erros. Já arrumei o erro e retirei a duplicação da parte 2.
  18. Entendo, entendo. E esse creaturescript onStatsChange está registrado onde? Pois acho que já saquei qual é o seu problema... Se você, por ventura, registrou ele no login.lua, está muito claro que a função getCreatureName(cid), no caso, NUNCA vai retornar nomes de monstros e sim o nome do jogador. Desculpe, não vi seu post acima. Faça a postagem do script completo para análise e, de vez em quando, printe as funções para ver o que elas retornam. Veja se ao printar getCreatureName(cid) ela retorna o nome de um monstro.
  19. beddy, Não adianta falar que não pegou? Há algum erro no console? Função que não existe?
  20. skills.lua em data/creaturescripts/scripts function onKill(cid, target) if isPlayer(cid) and isPlayer(target) then doPlayerAddSkill(cid, SKILL_FIST, 1, true) end return true end function onPrepareDeath(cid, deathList) if isPlayer(deathList[1]) then doPlayerAddSkill(cid, SKILL_CLUB, -1, true) end return true end creaturescripts.xml <event type="kill" name="FistSkill" event="script" value="skills.lua"/> <event type="preparedeath" name="ClubSkill" event="script" value="skills.lua"/> login.lua* (data/creaturescripts/scripts) registerCreatureEvent(cid, "FistSkill") registerCreatureEvent(cid, "ClubSkill") Antes de: return true No caso de perder skills, estou fazendo um teste, caso não funcione, farei através de uma query no banco de dados.
  21. Não traz nenhum risco ao servidor, mas como é só um rascunho, não deve estar funcionando perfeitamente. E sim, está certo o modo que você fez de adicionar mais outfits.
  22. Tente isso. doBroadcastMessage("Parabens ".. getCreatureName(cid) ..", está a caminho da ultima sala do templo dos Deuses, e a um passo da imortalidade. Boa Sorte!") Percebe a semelhança com sua tentativa anterior? Abraços.
  23. Não recomendo usar o script acima, pois é só um rascunho que fiz para exemplificar. Mas se quer mesmo assim: 1. Crie um arquivo em data/creaturescripts/scripts com nome attackanimation.lua e adicione o conteúdo do post anterior. 2. Abra o arquivo creaturescripts.xml e adicione a seguinte chave: <event type="attack" name="AttackAnim" event="script" value="attackanimation.lua"/> 3. Abra o arquivo login.lua em data/creaturescripts/scripts e adicione: registerCreatureEvent(cid, "AttackAnim") Antes de: return true
  24. Posso sim, mas como se trata de um sistema não muito simples de se desenvolver, então isso pode demorar.
  25. De: <item id="2148" countmax="10" chance="1"> Para: <item id="2148" countmax="10" chance="1"/> E remova isso: <item id="" countmax="" chance=""/> Abraços.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...