-
Total de itens
3406 -
Registro em
-
Última visita
-
Dias Ganhos
113
Tudo que Vodkart postou
-
function onThink(cid, interval, lastExecution) on,storage,pos = getPlayersOnline(),52565,{x = 1250,y = 2520,z = 7} if #on > 0 then for i = 1, #on do if getPlayerStorageValue(on[i], storage) >= 1 then doTeleportThing(on[i], pos) end end end return true end tutorial: http://www.xtibia.co.../151237-osdate/ http://pgl.yoyo.org/luai/i/os.time
-
Não, é só o jogador usar o item que vai ganhar a mount. Nada de capturar...
-
function onSay(cid, words, param) if(words == "!buyvip") then local price = 10 if getAccountPoints(cid) >= price then local days = 10 local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13540) local timenow = os.time() if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13540, time) doAccountRemovePoints(cid, price) local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." points para colocar vip.") end elseif(words == "!vipdays") then local timenow = os.time() local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no seu character.") elseif(words == "/checkvip") then if getPlayerAccess(cid) == 5 then if not param then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") end local player = getPlayerByName(param) local pid = getPlayerByNameWildcard(param) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") return TRUE end local timenow = os.time() local quantity = math.floor((getPlayerStorageValue(player, 13540) - timenow)/(24 * 60 * 60)) doPlayerPopupFYI(cid, "O jogador tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no character.") return TRUE end elseif(words == "/addvip") then if getPlayerAccess(cid) == 5 then local t = string.explode(param, ",") if not t[2] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") end local player = getPlayerByName(t[1]) local days = t[2] local pid = getPlayerByNameWildcard(t[1]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") return TRUE end local daysvalue = days*3600*24 local storageplayer = getPlayerStorageValue(player, 13540) local timenow = os.time() local time = storageplayer <= 0 and (timenow + daysvalue) or (storageplayer + daysvalue) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP no seu character.") setPlayerStorageValue(player, 13540, time) local quantity = math.floor((getPlayerStorageValue(player,13540) - timenow)/(3600*24)) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem "..quantity.." dias de VIP restantes.") end elseif(words == "/delvip") then if getPlayerAccess(cid) == 5 then local dec = MESSAGE_INFO_DESCR if(param == "") then return TRUE,doPlayerSendTextMessage(cid,18,"Command param required.")end local C,t = {},string.explode(param, ",") C.pos = getPlayerPosition(cid) C.uid = getCreatureByName(t[1]) C.time = ((tonumber(t[2]) == nil) and 1 or tonumber(t[2]))*3600*24 --Tempo da vip por dia. C.days = (tonumber(t[2]) == nil) and 1 or tonumber(t[2]) --Dias de vip. local pid = getPlayerByNameWildcard(t[1]) if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.") return TRUE end if(getPlayerStorageValue(C.uid,13540) < C.time)then doPlayerSendTextMessage(cid,dec,'O jogador '..t[1]..' não possui '..C.days..' dias de vip.') else doPlayerSendTextMessage(cid,dec,'Você removeu '..C.days..' dias de vip do player '..t[1]..'.') setPlayerStorageValue(C.uid,13540,getPlayerStorageValue(C.uid,13540)-C.time) end doSendMagicEffect(C.pos, math.random(28,30)) end end return TRUE end
-
Leu o que eu escrevi amigo? "usa o código de ACTIONS" obrigado
-
usa o código de actions assim: function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerVocation(cid) ~= 7 then return doPlayerSendCancel(cid, "you need to be a blacksmith.") elseif isInArray({0, 65535}, toPosition.x) then return doPlayerSendCancel(cid, "Sorry, not possible.") elseif getTileItemById(toPosition, 2555).uid == 0 then return doPlayerSendCancel(cid, "You must put your ingredients in an anvil.") end local obj = RecipeFromPosition(toPosition) if obj then obj:forge(cid, toPosition) if _FORGESYSTEM.useSkill == true then addForgeTry(cid) end else doPlayerSendCancel(cid, _FORGESYSTEM.prompt.invalidRecipe) end return true end no caso eu coloquei a vocation 7 para ser a de ferreiro, pode trocar '-'
-
coloca a talk do seu !buyvip aqui para que possamos modificar
-
--[[ SCRIPT BY: MarcelloMkez ]] function onUse(cid, item, pos, item2, topos) config = { ptemp ="yes", --[[ Teleportar para ciade principal "yes ou no". ]] townp ="no", --[[ Teleportar para Cidade onde o player mora, "yes ou no". ]] rmvitem ="no", --[[ Remover item quando for usado? "yes ou no". ]] vip ="yes", --[[ Precisa ser Premium Account para usar o item? "yes ou no" ]] batlle ="yes", --[[ Precisa estar sem Batlle para usar o item? "yes ou no "]] possibilidade = 1 , --[[ Possibilidade do player ser teleportado em porcentagem. ]] princ = {x=418, y=1406, z=7}, --[[ Posição da Cidade Principal. ]] pz ="yes" --[[ Precisa estar em Protection Zone para Usar o Magic Teleport? "yes ou no"]] } local p = getPlayerTown(cid) local townpos = getTownTemplePosition(p) local cityname = getTownName(p) local chance = math.random(1, 100) --[[ de 1 a 100 % de chance, Não mude. ]] local msgp ="~ "..getPlayerName(cid).." Foi Teleportado para Cidade Principal. ~" local msgt ="~ "..getPlayerName(cid).." Foi Teleportado para "..cityname..". ~" local fail ="'O Teleport Falhou.'" if(config.vip =="yes") and getPlayerStorageValue(cid, 13540) - os.time() <= 0 then return doPlayerSendCancel(cid, "Você precisa ser Vip Para usar o Teleport Magico.") elseif (config.batlle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then return doPlayerSendCancel(cid, "Você precisa estar sem o batlle para usar o Teleport Magico.") elseif (config.pz =="yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then return doPlayerSendCancel(cid, "Você precisa estar em Protection Zone para usar o Teleport Magico.") elseif (config.ptemp =="yes" and config.townp =="yes") then return doPlayerPopupFYI(cid, "'ERROR': Não é Possivel teleportar para duas cidades ao mesmo tempo.") --[[ Menssagem quando o player marcar 'yes' para as duas opçoes de teleport. ]] elseif chance >= 1 and chance <= config.possibilidade then doCreatureSay(cid, fail, TALKTYPE_ORANGE_1) return doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) elseif(config.ptemp == "yes") then doTeleportThing(cid, config.princ) doCreatureSay(cid, msgp, TALKTYPE_ORANGE_1) return doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED) elseif(config.townp == "yes") then doTeleportThing(cid, townpos) doCreatureSay(cid, msgt, TALKTYPE_ORANGE_1) return doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED) end if(config.rmvitem =="yes") then doRemoveItem(item.uid, 1) end return TRUE end reportado, área incorreta
-
ta pra sair a cada 3 segundos(3000) effectevent[getPlayerGUID(cid)] = addEvent(doEffectPlayer, 3000, cid, effect) só mudar o 3000 ali para por exemplo 2 segundos = 2000
-
em login.lua adc antes do return true: -- effect vip effectevent = {} function doEffectPlayer(cid, effect) if not isCreature(cid) then return LUA_ERROR end doSendMagicEffect(getThingPos(cid), effect) effectevent[getPlayerGUID(cid)] = addEvent(doEffectPlayer, 3000, cid, effect) end if getPlayerStorageValue(cid, 13540) - os.time() > 0 then doEffectPlayer(cid, 45) end -- end effect vip doEffectPlayer(cid, 45) -- 45 é o n° do efeito que vai sair no player
-
Eu testei aqui e ele volta para a outfit original por causa dessa função: doRemoveCondition(cid, CONDITION_OUTFIT) ... você diz ficar com o looktype 3 também?
-
events = {} config = { sit = {hp = 5, mana = 5}, outfit = {lookType = 3}, storage = 21211 } function onSay(cid, words, param, channel) setPlayerStorageValue(cid, config.storage, getPlayerStorageValue(cid, config.storage) == -1 and 1 or -1) doCreatureSetNoMove(cid, getPlayerStorageValue(cid, config.storage) == 1 and true or false) if getPlayerStorageValue(cid, config.storage) == 1 then doPlayerSay(cid, "Ufa, Relaxando") doSetCreatureOutfit(cid, config.outfit, -1) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYAREA) doSitRelax(cid, config.sit) else doPlayerSay(cid, "você ficou em pé") doRemoveCondition(cid, CONDITION_OUTFIT) stopEvent(events[getPlayerGUID(cid)]) end return true end function doSitRelax(cid, formula) if not isCreature(cid) then return LUA_ERROR end doCreatureAddHealth(cid, formula.hp) doCreatureAddMana(cid, formula.mana) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYAREA) events[getPlayerGUID(cid)] = addEvent(doSitRelax, 5000, cid, formula) end
-
@vilden function onDeath(cid, corpse, deathList) if isPlayer(cid) and getPlayerSkullType(cid) < SKULL_RED and getPlayerBlessing(cid, 5) then doCreatureSetDropLoot(cid, false) end return true end eu coloquei só para checar a bless 5 porque ela que tem a função de não deixar perder loot '-'
-
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local item,pos = 2123,{x=129, y=53, z=6} if (msgcontains(msg, 'travel') or msgcontains(msg, 'viajar'))then npcHandler:say("Você precisa ter na bag 1 "..getItemNameById(item).." para teleportar, você quer teleportar? {yes}", cid) talkState[talkUser] = 1 elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then if getPlayerItemCount(cid, item) >= 1 then doTeleportThing(cid, pos) else npcHandler:say("Você não tem o item!", cid) end elseif msg == "no" then selfSay("Then not", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
creaturescript/script nome do seu script.lua function onCombat(cid, target) if isPlayer(cid) and isPlayer(target) then if getPlayerVocation(cid) < 9 and getPlayerVocation(target) > 8 or getPlayerVocation(cid) > 8 and getPlayerVocation(target) < 9 then doPlayerSendCancel(cid, "You may not attack.") return false end end return true end login.lua adc : registerCreatureEvent(cid, "VocationAttack") tag: <event type="combat" name="VocationAttack" event="script" value="nome do seu script.lua"/>
-
só editando pelas source mesmo, eu acho.
-
Pronto Editado =D ainda tem erro, só tirar "doRemoveCreature(cid)"
-
da pra ver que é seu mesmo, tem erro... vai kikar o jogador e mandar a msg pra quem?
-
1° Abra o programa Sqlite 2° Selecione a database do seu server, o arquivo é esse ".s3db", por exemplo o "forgottenserver.s3db" 3° na parte superior do programa tem a aba "Tools",clica nela e seleciona "Open SQL query editor" ou (ALT + E) se preferir 4° Vai abrir uma janela branca,nela você coloca isso: ALTER TABLE `accounts` ADD `premium_points` INT NOT NULL DEFAULT 0; 5° Depois clica no ícone do raio ali na parte de cima ou aperta o botão F9 que vai fazer com que a query seja executada.
-
function onSay(cid, words, param) local on = getPlayersOnline() for i = 1, #on do if getPlayerAccess(on[i]) < 3 then doTeleportThing(on[i], getTownTemplePosition(getPlayerTown(on[i]))) end end return true end
-
ficou lotado de gifs gays
-
porque seu pinto é grande cara? me explica
-
~~Sonhado~~ REP- Alertado em 10% por desrespeitar seu superior.
-
Membro alertado em 30% e suspenso por 15 dias. Tópico fechado.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.