
Tudo que Sun postou
-
Simple Task 0.4 não funciona
testa isto pra gente ver oque irá acontecer. @Nother
-
Simple Task 0.4 não funciona
qual versão do seu tfs?
-
Simple Task 0.4 não funciona
falta a tabela, se não tiver a tabela no script não irá funcionar mesmo! me envia este tutorial
-
Simple Task 0.4 não funciona
queria saber, esta task_sys está na sua lib?
-
Simple Task 0.4 não funciona
envie o script quando for assim, pra ser lido direto e ter sua resposta mais rapido! @Nother
-
Level Minimo
reeditei.
-
Level Minimo
function onLogin(player) local exp = 900 if player:getLevel() <= 7 then player:addExperience(exp, false) end return true end testa dessa forma @Lost666
-
Como debugar o código para encontrar o local do erro
@sklorde Este script está puxando diversos códigos, seriam Poison Power, Ember, Yawm e statsChange, envia eles aqui! podem ser vários motivos, getPlayerSlotItem pode estar sendo passado de forma errada, ou está função não esta sendo puxada pelo seu system. envie eles aqui. debugar códigos em LUA é mais facil usar print(variavel)
- [OLD CLIENT] Servidor NTOUnLiMiTeD e NTOStorm
-
Problema com aleatoriedade do script
se tiver mais duvidas ai sobre Linguagem Lua só criar um tópico que estarei lá para te ajudar!.
-
Problema com aleatoriedade do script
sim, mas ele não queria a script em si! ele quer uma explicação do porque da forma que ele está editando, está dando erro.
-
Voce ja esta sob efeito da potion(Exp Potion)
@Orientalz
-
Problema com aleatoriedade do script
@leessandro então amigo, eu nunca usei math.randomseed enquanto programo para tibia, pelo simples fato do tempo! vou explicar melhor, quando não se tem algo gerando valores de tempo, não se usa math.randomseed, mas oque seria o tempo? vou tentar explicar de uma forma mais simples sem você se perder, o console em si, já é um math.randomseed, ele já irá gerar pra você novos valores sem precisar ter que ficar usando está função! então onde se usaria ela? num OTC, que ali os valores precisam ser gerados pelo gerador e como não tem nada para que gere isso para ele como o console que já faz este processo! vou te dar um exemplo de um catch que eu mesmo desenvolvi! local catch local srand = math.random(1, x.chance) if srand > Pokebals_chance["pokeball"] and srand <= Pokebals_chance["greatball"] then -- ## se o valor gerado for maior que a chance da pokebola, e que este valor seja menor que o da great ball catch = true else catch = false end if catch then doRemoveItem(itemEx.uid, 1) addEvent(doSendMagicEffect, 1, toPosition, bolaefeitoON) addEvent(function() doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, str) item = doCreateItemEx(12664, 1) doItemSetAttribute(item, "poke", name) doItemSetAttribute(item, "nome", i) doItemSetAttribute(item, "description", description) doPlayerAddItemEx(cid, item, true) end, 3000) else doRemoveItem(itemEx.uid, 1) addEvent(doSendMagicEffect, 1, toPosition, bolaefeitoOff) addEvent(doPlayerSendTextMessage, 3000, cid, MESSAGE_STATUS_CONSOLE_BLUE, "Escapou!.") end espero que tenha entendido! e fica livre ai se outro tiver uma explicação melhor sobre!!!!. claro que não postei o catch completo, é apenas um exemplo!
-
Voce ja esta sob efeito da potion(Exp Potion)
testa ae! @Orientalz
- Descompilador Molebox
- Descompilador Molebox
- Horder Leader System (Definitivo)
-
pvp enforced por creaturescript
Se quer deixar fixo deixe mLevel = 500 Não se esqueça de deixar rep+ e colocar a resposta como solucao, para ajudar mais pessoas!
-
pvp enforced por creaturescript
se você retirar a storage, todo player que morrer independente irá ganhar xp! só vc remover está linha if getPlayerStorageValue(target, 2310) == -1 then return true end
-
pvp enforced por creaturescript
function onDeath(cid, corpse, deathList) local position = getPlayerPosition(deathList[1]) local target = getCreatureTarget(deathList[1]) local mLevel = getPlayerLevel(cid) <= getPlayerLevel(target) and 500 or 5000 if getPlayerStorageValue(target, 2310) == -1 then return true end doSendAnimatedText(position, "+" .. tostring((getPlayerExperience(target) / mLevel) .. "exp", COLOR_RED) doCreatureAddHealth(deathList[1], 1000) doPlayerAddExperience(deathList[1], (getPlayerExperience(target) / mLevel)) return true end perdão a demora, está ai o script! não se esqueça de registrar no login.lua e colocar a tag no xml! <event type="death" name="PvpEnforced" event="script" value="death.lua"/> e em login.lua registerCreatureEvent(cid, "PvpEnforced") lembrando!, não altere nada no script, você pode alterar apenas a storage tá ai o funcionamento!. @poko360 lembrando se te ajudei rep+ e coloque como {Solução}
-
Como diminuir o base speed dos players?
já que não deu pra fazer isto já em c++, vamos por Lua xD. @Nother crie um arquivo em creaturescript chamado em advanceSpeed.lua e cole function onAdvance(cid, skill, oldLevel, newLevel) if newLevel then doChangeSpeed(cid, -getCreatureSpeed(cid)) doChangeSpeed(cid, VocationSpeed[getPlayerVocation(cid)].speed) end return true end e agora em creaturescript.xml cole isto <event type="advance" name="AdvanceSpeed" event="script" value="advanceSpeed.lua"/> agora em login.lua cole isto isto registerCreatureEvent(cid, "AdvanceSpeed")
-
Como diminuir o base speed dos players?
reverte tudo que eu disse!, agora vai em player.h procure por void updateBaseSpeed() { if(!hasFlag(PlayerFlag_SetMaxSpeed)) baseSpeed = vocation->getBaseSpeed() + (2 * (level - 1)); else baseSpeed = SPEED_MAX; } e troque por void updateBaseSpeed() { if(!hasFlag(PlayerFlag_SetMaxSpeed)) baseSpeed = vocation->getBaseSpeed(); else baseSpeed = SPEED_MAX; } agora certeza que vai!
-
Como diminuir o base speed dos players?
vai em player.cpp e procure por void Player::addExperience(uint64_t exp) logo abaixo terá updateBaseSpeed(); g_game.changeSpeed(this, 0); apague estas duas linhas de codigo ainda em player.cpp agora procure por void Player::removeExperience(uint64_t exp, bool updateStats/* = true*/) abaixo irá ter updateBaseSpeed(); g_game.changeSpeed(this, 0); apague essas duas linha de código, compile e seja feliz! Se te ajudei de alguma forma, rep+ e {Solução} para o post que teve sua duvida sanada!.
-
Como diminuir o base speed dos players?
manda o arquivo de reverter!
-
Como diminuir o base speed dos players?
crie um arquivo na lib chamado BaseSpeed.lua e coloque VocationSpeed = { [1] = {speed = 1}, [2] = {speed = 1}, [4] = {speed = 1}, [5] = {speed = 1}, [6] = {speed = 1}, -- Vegeta [11] = {speed = 1}, [12] = {speed = 1}, [14] = {speed = 1}, [15] = {speed = 1}, [16] = {speed = 1}, -- Dende [21] = {speed = 1}, [22] = {speed = 1}, [24] = {speed = 1}, [25] = {speed = 1}, [26] = {speed = 1}, -- Piccolo [31] = {speed = 1}, [32] = {speed = 1}, [34] = {speed = 1}, [35] = {speed = 1}, [36] = {speed = 1}, -- Yamcha [41] = {speed = 1}, [42] = {speed = 1}, [44] = {speed = 1}, [45] = {speed = 1}, [46] = {speed = 1}, -- Freeza [51] = {speed = 1}, [52] = {speed = 1}, [54] = {speed = 1}, [55] = {speed = 1}, [56] = {speed = 1}, -- Bardock [61] = {speed = 1}, [62] = {speed = 1}, [64] = {speed = 1}, [65] = {speed = 1}, [66] = {speed = 1} } agora em creaturescript/script crie um arquivo chamado de speed.lua function onLogin(cid) if VocationSpeed[getPlayerVocation(cid)] then doChangeSpeed(cid, -getCreatureSpeed(cid)) doChangeSpeed(cid, VocationSpeed[getPlayerVocation(cid)].speed) end return true end agora em creaturescript.xml coloque <event type="login" name="Speed" script="speed.lua" /> em login.lua registerCreatureEvent(cid, "Speed") agora troque seu vocations por este local config = { --[vocation id] = { level, nova voc, looktype, efeito} -- Goku [1] = { 100, 2, 4, 114}, [2] = { 200, 3, 5, 114}, [4] = { 100, 5, 4, 114}, [5] = { 200, 6, 5, 114}, [6] = { 300, 7, 6, 114}, -- Vegeta [11] = { 100, 12, 13, 116}, [12] = { 200, 13, 14, 114}, [14] = { 100, 15, 16, 114}, [15] = { 200, 16, 17, 114}, [16] = { 300, 17, 18, 114}, -- Dende [21] = { 100, 22, 22, 111}, [22] = { 200, 23, 23, 111}, [24] = { 100, 25, 25, 111}, [25] = { 200, 26, 27, 111}, [26] = { 300, 27, 28, 111}, -- Piccolo [31] = { 100, 32, 32, 111}, [32] = { 200, 33, 33, 111}, [34] = { 100, 35, 33, 111}, [35] = { 200, 36, 34, 111}, [36] = { 300, 37, 35, 111}, -- Yamcha [41] = { 100, 42, 42, 116}, [42] = { 200, 43, 43, 116}, [44] = { 100, 45, 44, 116}, [45] = { 200, 46, 45, 116}, [46] = { 300, 47, 46, 116}, -- Freeza [51] = { 100, 52, 52, 116}, [52] = { 200, 53, 53, 116}, [54] = { 100, 55, 53, 116 }, [55] = { 200, 56, 54, 116 }, [56] = { 300, 57, 55, 116 }, -- Bardock [61] = { 100, 62, 63, 116 }, [62] = { 200, 63, 64, 116 }, [64] = { 100, 65, 64, 116 }, [65] = { 200, 66, 65, 114 }, [66] = { 300, 67, 66, 114 } } function onSay(cid, words, param, channel) local voc = config[getPlayerVocation(cid)] if voc then if getPlayerLevel(cid) >= voc[1] then doPlayerSetVocation(cid, voc[2]) doCreatureSay(cid, "Aaah !!!!", 19) local outfit = {lookType = voc[3]} doCreatureChangeOutfit(cid, outfit) doSendMagicEffect(getCreaturePosition(cid), voc[4]) doChangeSpeed(cid, -getCreatureSpeed(cid)) doChangeSpeed(cid, VocationSpeed[getPlayerVocation(cid)].speed) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Voce precisa estar no level " .. voc[1] .. " para transformar.") end else doPlayerSendCancel(cid, "Nao é possível se transformar.") end return true end testa ae, provavelmente irá funcionar 100% @Nother Base script feita com a versão 0.4, se testar e funcionar contigo, repute e coloque como {Solução}, para que mais pessoas com necessidade do script, possam ser ajudadas tbm!. toda vez em que adicionar algo novo, não se esqueça de alterar na lib tbm a base speed! OBS: Necessariamente não iria precisar criar um creaturescript (onLogin), fiz isto para que não tenha nenhum conflito de algo e acabando não alterando a speed. você pode remover se quiser, não irá alterar quase em nada. (A maioria dos ots derivados de nto,dbo etc, quando você loga, sua outfit não é a mesma da vocation atual, então para que isto seja sanado precisa do (onLogin).)