-
Total de itens
1347 -
Registro em
-
Última visita
-
Dias Ganhos
36
Tudo que Oneshot postou
-
Você tem que adicionar o parâmetro -m64 nas opções do seu aplicativo usado para compilar as sources do The Forgotten Server.
-
Opa, Startix. Legal ver você por aqui. Sei que você é um excelente designer e seus trabalhos mostram isso. Abraços.
-
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.
- 10 respostas
-
- card sytem
- pet sytem
- (e 5 mais)
-
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.
-
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
-
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.
-
Desculpe, foi um erro meu e este já foi consertado.
-
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.
-
Obrigado, Gustavo. Me deixe a par desse projeto sim. Abraços.
-
Vê se presta mais atenção na próxima vez que for editar seu arquivo items.xml. Download (Versão Corrigida): Speedy Share
-
pedido Quero Muda Esse Script De 7.92 Para 8.60
pergunta respondeu ao maiconskavurska de Oneshot em Scripts
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 -
<?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.
-
Olá, klauguns. Poste a seguir o conteúdo do arquivo vocations.xml localizado, geralmente, em data/XML.
-
Muito estranho. Você já é o segundo a reportar esse erro. Poderia me dizer qual a revisão do seu The Forgotten Server 0.4?
-
Não entendi. Você quer um comando que dê para o jogador ver suas próprias skills ou GODs verem as skills de jogadores?
-
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>
-
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.
-
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.
-
beddy, Não adianta falar que não pegou? Há algum erro no console? Função que não existe?
-
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.
-
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.
-
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.
-
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
-
pedido Duvida E Pedido De Script De Itens/critical
pergunta respondeu ao maiconskavurska de Oneshot em Scripts
Posso sim, mas como se trata de um sistema não muito simples de se desenvolver, então isso pode demorar. -
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.