Ir para conteúdo

rockstar96

Barão
  • Total de itens

    216
  • Registro em

  • Última visita

Tudo que rockstar96 postou

  1. Vá denovo ao tópico, eu postei um outro sistema de tile premium, que creio que funciona lá (:
  2. Cara que linha inútil Você pegou a table config do Marcryzius? Ele que colocava protection zone como prot ._. Script legal apesar de poder ser reduzido um monte.
  3. Especifique como o script funciona amigo =) Assim poderíamos fazer as funções que faltam.
  4. data/movements/scripts crie o arquivo timeroom.lua e coloque isto: function onStepIn(cid, item, pos) local config = { newPos = {x=?, y=?, z=?}, effect = 13, timeToLeave = 60 * 60 * 1000, storage = 53550, } if isPlayer(cid) then if getPlayerStorageValue(cid, config.storage) <= 0 then addEvent(doTeleportThing, config.timeToLeave, cid, config.newPos) addEvent(doSendMagicEffect, config.timeToLeave, config.newPos, config.effect) addEvent(doPlayerSetStorageValue, config.timeToLeave, cid, config.storage, 0) doPlayerSetStorageValue(cid, config.storage, 1) end end return true end data/movements/movevents.xml: <movevent type="StepIn" event="script" value="timeroom.lua"/>
  5. Tente por return true antes do último end
  6. É só adicionar um end no final que se resolve.
  7. Amigo você sabe que globalevent são diferentes de spells? Reportado brimkz mas muda o nome ai cara
  8. O jeito de usar seria: WORDS [param] Por exemplo: /tp demon Entendeu? ;P
  9. else doPlayerSendTextMessage(cid,26,"You can not use this object.") then Troque por else doPlayerSendTextMessage(cid,25,"You can not use this object.") end
  10. function onSay(cid, words, param) function warnPlayer(cid, msg) return doPlayerSendCancel(cid, msg) and doSendMagicEffect(getCreaturePosition(cid), 2) end local config = { ['Demon'] = {pos = {x=?, y=?, z=?}, effect = 13, cost = 0}, ['City'] = {pos = {x=?, y=?, z=?}, effect = 12, cost = 100}, } local place = config[param] local storage = 34289 -- Storage do exhausted local time = 5000 -- Milisegundos de exaustão if place ~= nil then if getPlayerMoney(cid) >= place.cost then if getCreatureCondition(cid, CONDITION_INFIGHT) == false then if getCreatureSkullType == SKULL_NONE then if getTilePzInfo(getCreaturePosition(cid)) == true then if exhaustion.get(cid, storage) == false then doTeleportThing(cid, place.pos) doPlayerRemoveMoney(cid, place.cost) doSendMagicEffect(place.pos, place.effect) exhaustion.set(cid, storage, time) else warnPlayer(cid, "Você está exausto.") end else warnPlayer(cid, "Você precisa estar em PZ.") end else warnPlayer(cid, "Você não pode estar PK.") end else warnPlayer(cid, "Você não pode estar em battle.") end else warnPlayer(cid, "Você precisa de ".. place.cost .." para teleportar.") end else warnPlayer(cid, "Lugar inválido.") end return true end Acho que é assim, com certeza tem algum erro rsrs script meu sempre tem erro '-'
  11. Só é possível mudar isto mexendo nas sources do servidor.
  12. Para não cobrir o personagem, no lugar de 3, na array da área, coloque 2.
  13. talkState[talkUser] = 0 ou talk_state = 0
  14. function onStepIn(cid, item, position, fromPosition) if doPlayerTakeItem(cid, 1970, 1) == false then doTeleportThing(cid, fromPosition) else doSendMagicEffect(position, 12) end return true end
  15. data/global.lua: function isWalkable(cid,pos) local aux = pos aux.stackpos = 253 if doTileQueryAdd(cid, pos) == 1 and getTilePzInfo(pos) == FALSE and isCreature(getThingFromPos(aux).uid) == FALSE then return TRUE end return FALSE end function getWeaponDistanceEffect(uid) local WeaponType = getItemWeaponType(uid) if WeaponType == WEAPON_CLUB then return CONST_ANI_WHIRLWINDCLUB elseif WeaponType == WEAPON_SWORD then return CONST_ANI_WHIRLWINDSWORD elseif WeaponType == WEAPON_AXE then return CONST_ANI_WHIRLWINDAXE else return CONST_ANI_NONE end end function getOppositeSidePos(cid,centerPos) local otherSideDirTable = { {SOUTH,SOUTHWEST,SOUTHEAST}, --NORTH {WEST,SOUTHWEST,NORTHWEST}, --EAST {NORTH,NORTHWEST,NORTHEAST}, --SOUTH {EAST,SOUTHEAST,NORTHEAST}, --WEST {NORTH,EAST,NORTHEAST}, --SOUTHWEST {NORTH,WEST,NORTHWEST}, --SOUTHEAST {SOUTH,EAST,SOUTHEAST}, --NORTHWEST {SOUTH,WEST,SOUTHWEST} --NORTHEAST } local PlayerDirection = (getDirectionTo(centerPos,getCreaturePosition(cid)))+1 local newDirection = otherSideDirTable[PlayerDirection][math.random(1,3)] local newPos = getPosByDir(centerPos,newDirection) if isWalkable(cid,getPosByDir(centerPos,newPos)) then return newPos end if newDirection == 1 then local rand = math.random(2,3) newDirection = otherSideDirTable[PlayerDirection][rand] newPos = getPosByDir(centerPos,newDirection) if isWalkable(cid,newPos) then return newPos end newDirection = otherSideDirTable[PlayerDirection][5-rand] newPos = getPosByDir(centerPos,newDirection) if isWalkable(cid,newPos) then return newPos end elseif newDirection == 2 then local rand = math.random(1,2) if rand == 2 then rand = 3 end newDirection = otherSideDirTable[PlayerDirection][rand] newPos = getPosByDir(centerPos,newDirection) if isWalkable(cid,newPos) then return newPos end newDirection = otherSideDirTable[PlayerDirection][4-rand] newPos = getPosByDir(centerPos,newDirection) if isWalkable(cid,newPos) then return newPos end elseif newDirection == 3 then local rand = math.random(1,2) newDirection = otherSideDirTable[PlayerDirection][rand] newPos = getPosByDir(centerPos,newDirection) if isWalkable(cid,newPos) then return newPos end newDirection = otherSideDirTable[PlayerDirection][3-rand] newPos = getPosByDir(centerPos,newDirection) if isWalkable(cid,newPos) then return newPos end end otherSideDirTable = { {EAST,WEST}, --NORTH {NORTH,SOUTH}, --EAST {EAST,WEST}, --SOUTH {NORTH,SOUTH}, --WEST {SOUTHEAST,NORTHWEST}, --SOUTHWEST {SOUTHWEST,NORTHEAST}, --SOUTHEAST {SOUTHWEST,NORTHEAST}, --NORTHWEST {SOUTHEAST,NORTHWEST} --NORTHEAST } local rand = math.random(1,2) newDirection = otherSideDirTable[PlayerDirection][rand] newPos = getPosByDir(centerPos,newDirection) if isWalkable(cid,newPos) then return newPos end newDirection = otherSideDirTable[PlayerDirection][3-rand] newPos = getPosByDir(centerPos,newDirection) if isWalkable(cid,newPos) then return newPos end otherSideDirTable = { {NORTHWEST,NORTHEAST}, --NORTH {SOUTHEAST,NORTHEAST}, --EAST {SOUTHWEST,SOUTHEAST}, --SOUTH {SOUTHWEST,NORTHWEST}, --WEST {SOUTH,WEST}, --SOUTHWEST {EAST,SOUTH}, --SOUTHEAST {NORTH,WEST}, --NORTHWEST {NORTH,EAST} --NORTHEAST } local rand = math.random(1,2) newDirection = otherSideDirTable[PlayerDirection][math.random(1,2)] newPos = getPosByDir(centerPos,newDirection) if isWalkable(cid,newPos) then return newPos end newDirection = otherSideDirTable[PlayerDirection][3-rand] newPos = getPosByDir(centerPos,newDirection) if isWalkable(cid,newPos) then return newPos end return getPosByDir(centerPos,PlayerDirection-1) end data/spells/spells.xml: <instant name="Omnislash" words="Omnislash" lvl="50" mana="200" prem="1" range="1" needtarget="1" needweapon="1" exhaustion="0" needlearn="0" event="script" value="Omnislash.lua"> <vocation id="4"/> <vocation id="8"/> </instant> data/spells/scripts/Omnislash.lua: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_USECHARGES, true) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1.0, -0, 1.0, -0) function OmnislashStrike(cid,combat,var,times,opos,Target) if not isCreature(cid) or not isCreature(Target) then doCreatureSetNoMove(Target, false) doCreatureSetNoMove(cid, false) return true end doCreatureSetNoMove(Target, true) doCreatureSetNoMove(cid, true) local newPos = getOppositeSidePos(cid,getCreaturePosition(Target)) if times == 15 then if not doComparePositions(getCreaturePosition(cid),opos) then doTeleportThing(cid,opos) doSendDistanceShoot(newPos, opos, getWeaponDistanceEffect(getPlayerWeapon(cid).uid)) end doCreatureSetNoMove(Target, false) doCreatureSetNoMove(cid, false) return doCombat(cid, combat, var) else if isWalkable(cid,newPos) and newPos ~= getCreaturePosition(cid) then local fromPos = getCreaturePosition(cid) doTeleportThing(cid,newPos) doSendDistanceShoot(fromPos, newPos, getWeaponDistanceEffect(getPlayerWeapon(cid).uid)) end doCombat(cid, combat, var) return addEvent(OmnislashStrike,333,cid,combat,var,times+1,opos,Target) end end function onCastSpell(cid, var) return addEvent(OmnislashStrike,0,cid,combat,var,0,getCreaturePosition(cid),getCreatureTarget(cid)) end Créditos: Quetzalma (da otf***)
  16. data/talkactions/talkactions.xml: <talkaction words="PALAVRAS" script="NOME_DO_ARQUIVO.lua"/> data/talkactions/scripts: function onSay(cid, words, param) local broadcastMsg = "Uma peste de ratos está invandindo a cidade!" local positions = { {name = "Rat", pos = {x=?, y=?, z=?}}, {name = "Beholder Eye", pos = {x=? ,y=?, z=?}}, {name = "Troll", pos = {x=?, y=?, z=?}}, } for _, v in ipairs(positions) do doSummonCreature(v.name, v.pos) end return true doBroadcastMessage(broadcastMsg) end
  17. Rsrs, como se os moderadores não dessem 1 ou 2 alertais verbais antes de começarem a alertar, e depois precisa de 5 alertas para ser banido Não respondam esta mensagem. É automática. brimkz
  18. function onUse(cid, item, frompos, item2, topos) return doTeleportThing(cid, getPlayerMasterPos(cid)) and doSendMagicEffect(getPlayerMasterPos(cid), CONST_ME_TELEPORT) and doRemoveItem(item.uid, 1) end
  19. config = { ['item'] = 2210, ['pos'] = {x=529, y=909, z=7}, } function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) then if getPlayerItemCount(cid, config['item']) > 1 then doPlayerSendCancel(cid, 'Você só pode ter um '..getItemNameById(config['item'])..' para passar.') doTeleportThing(cid, fromPosition) elseif getPlayerItemCount(cid, config['item']) == 1 then doTeleportThing(cid, config['pos']) else doPlayerSendCancel(cid, 'Você precisa ter um '..getItemNameById(config['item'])..' para passar.') doTeleportThing(cid, fromPosition) end else doTeleportThing(cid, fromPosition) end return TRUE end
  20. Então adicione em data/lib/function.lua Porquê não baniram esse boi aí de uma vez? ._.
  21. Reportado. Double post. @Topic: Espere, logo logo alguém irá ajudá-lo. Seja paciente.
  22. Reportado Double post, área errada e conteúdo já existente.
  • Quem Está Navegando   0 membros estão online

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