- 0
Preciso De Um Simples Edit No Surf (Pokemon)
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
script alguém pode me ajudar nessa spells aqui, queira que colocassem pro meu personagem ficar inatingível por 6 segundos e podendo atacar livremente
Por lazaroszz,
- 0 respostas
- 495 visualizações
-
- 1 resposta
- 2287 visualizações
-
- 0 respostas
- 1076 visualizações
-
- 1 resposta
- 1235 visualizações
-
- 1 resposta
- 1281 visualizações
-
Pergunta
energythemagyc 0
Pessoal, é o seguinte, gostaria que me ajudassem no seguinte script :
Surf.lua
function onUse(cid, item, frompos, item2, topos)
local configs = {
[4647] = {x = -2, y = 0}, -- 4647 é o id da borda oeste (lado esquerdo do player) ----- Deixa assim
[4645] = {x = 2, y = 0}, -- 4645 é o id da borda leste (lado direito do player) ----- Deixa assim
[4646] = {x = 0, y = 2}, -- 4646 é o id da borda sul (abaixo do player) ----- Deixa assim
[4644] = {x = 0, y = -2}, -- 4644 é o id da borda norte (acima do player) ----- Deixa assim
}
local playerpos = getCreaturePosition(cid)
local pokes = {
["Poliwag"] = {lookType=278, speed = 210},
["Tentacruel"] = {lookType=185, speed = 430},
["Blastoise"] = {lookType=184, speed = 500},
["Dewgong"] = {lookType=183, speed = 401},
["Kabutops"] = {lookType=189, speed = 500},
["Omastar"] = {lookType=188, speed = 550},
["Gyarados"] = {lookType=187, speed = 610},
["Poliwrath"] = {lookType=190, speed = 410},
["Shiny Gyarados"] = {lookType=529, speed = 640},
["Shiny Seadra"] = {lookType=522, speed = 530},
["Shiny Tentacruel"] = {lookType=522, speed = 460},
["Squirtle"] = {lookType=273, speed = 280},
["Shiny Blastoise"] = {lookType=523, speed = 540},
["Wartotle"] = {lookType=275, speed = 350},
['Tentacool'] = {lookType=274, speed = 340},
['Staryu'] = {lookType=266, speed = 260},
['Starmie'] = {lookType=267, speed = 450},
['Golduck'] = {lookType=271, speed = 460},
['Poliwhirl'] = {lookType=137, speed = 340},
['Tentacool'] = {lookType=277, speed = 340},
['Goldeen'] = {lookType=268, speed = 220},
['Seaking'] = {lookType=269, speed = 350},
['Seadra'] = {lookType=270, speed = 270},
['Snorlax'] = {lookType=300, speed = 511},
['Vaporeon'] = {lookType=191, speed = 360},
}
if #getCreatureSummons(cid) <= 0 and getPlayerStorageValue(cid, 63215) <= 0 then
return doPlayerSendCancel(cid, "Você precisa de um pokemon para nadar.")
end
l = false
for i,x in pairs(pokes) do
if getPlayerStorageValue(cid, 63215) <= 0 and i:lower() == getCreatureName(getCreatureSummons(cid)[1]):lower() then
l = true
end
end
if not l and getPlayerStorageValue(cid, 63215) <= 0 then
return doPlayerSendCancel(cid, "Este pokemon nao possui a habilidade de nadar.")
end
if getPlayerStorageValue(cid, 63215) <= 0 then
doTeleportThing(cid, {x=playerpos.x+configs[item2.itemid].x, y=playerpos.y+configs[item2.itemid].y, z=playerpos.z})
setPlayerStorageValue(cid, 63215, 1)
doSetCreatureOutfit(cid, pokes[getCreatureName(getCreatureSummons(cid)[1])], -1)
doCreatureSay(cid, "Vamos nadar, "..getCreatureName(getCreatureSummons(cid)[1]), 1)
setPlayerStorageValue(cid, 61209, getCreatureMaxHealth(getCreatureSummons(cid)[1]))
setPlayerStorageValue(cid, 61210, getCreatureHealth(getCreatureSummons(cid)[1]))
doChangeSpeed(cid, pokes[getCreatureName(getCreatureSummons(cid)[1])].speed)
doRemoveCreature(getCreatureSummons(cid)[1])
else
doTeleportThing(cid, {x=playerpos.x-configs[item2.itemid].x, y=playerpos.y-configs[item2.itemid].y, z=playerpos.z})
setPlayerStorageValue(cid, 63215, 0)
doRemoveCondition(cid, CONDITION_OUTFIT)
local item = getPokeOutLive(cid)[1]
doCreatureSay(cid, "Vamos sair, " .. getItemAttribute(item, "poke"):match("This is (.-)'s pokeball."), 1)
pk = doSummonCreature(getItemAttribute(item, "poke"):match("This is (.-)'s pokeball."), getThingPosition(cid))
doConvinceCreature(cid, pk)
registerCreatureEvent(pk, "DiePoke")
registerCreatureEvent(cid, "PlayerPokeDeath")
registerCreatureEvent(cid, "LogoutPoke")
setCreatureMaxHealth(pk, getPlayerStorageValue(cid, 61209))
doCreatureAddHealth(pk, getPlayerStorageValue(cid, 61209))
doCreatureAddHealth(pk, getPlayerStorageValue(cid, 61210)-getPlayerStorageValue(cid, 61209))
doChangeSpeed(cid, getCreatureBaseSpeed(cid)-getCreatureSpeed(cid))
end
return TRUE
end
Teria como vocês colocar algo do tipo, quando o player estiver no surf não poder pescar ? Pois acontece que o player esta na agua e pesca o poke e o poke pescado fica em cima da agua :S
Se possivel também façam o mesmo no caso do fly
Fly.lua
function getPokemonMaxLife(name)
local file = io.open('data/monster/monsters.xml','r')
local arquivo = file:read(-1):lower():match('<monster name="'..name:lower()..'" file="(.-)"/>')
file:close()
local data = io.open('data/monster/'..(arquivo or ''),'r')
if not data then
return 100
end
local maximo = data:read(-1):match('max%s*=%s*"(%d+)"')
data:close()
return maximo
end
function onUse(cid, item, frompos, item2, topos)
local pokes = {
['Moltres'] = {229, 800},
['Articuno'] = {230, 800},
['Zapdos'] = {224, 800},
['Mew'] = {232, 800},
['Mewtwo'] = {233, 800},
['Dragonite'] = {221, 300},
['Pidgeot'] = {222, 350},
['Fearow'] = {226, 400},
['Aerodactyl'] = {227, 490},
['Charizard'] = {216, 590},
['Elder Charizard'] = {295, 800},
}
local idballs = {
[2531] = {"Pokeball"},
[2557] = {"Superball"},
[2524] = {"Greatball"},
[2525] = {"Ultraball"},
[2523] = {"Masterball"},
}
local storage = 9393 -- Não mexa aqui!
local exhaust = 0 -- Tempo para player poder usar o item novamente! (tempo em segundos)
local time = 0 -- Tempo para ficar na montaria! (tempo em segundos)
local old_speed = getCreatureBaseSpeed(cid)
local summons = getCreatureSummons(cid)
if (getPlayerStorageValue(cid, storage) <= os.time()) then
if getPlayerStorageValue(cid, 24000) == 5 then
return doPlayerSendCancel(cid, "Você está montado.")
end
if getPlayerStorageValue(cid, 17000) == 10 then
local nome = getItemName(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid)
local balls = idballs[getPlayerSlotItem(cid,8).itemid]
local poke_name = nome:match('(.-) '..balls[1])
local action_id = getItemAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "aid")
if getSqmId(getCreaturePosition(cid)).itemid == CONST_FLYVOID then
return doPlayerSendCancel(cid,"Desça antes de sair do fly")
end
setPlayerStorageValue(cid, storage, os.time()+exhaust)
doChangeSpeed(cid, -(getCreatureSpeed(cid) - getCreatureBaseSpeed(cid)))
doRemoveCondition(cid, CONDITION_OUTFIT)
setPlayerStorageValue(cid, 17000, 7)
setPlayerStorageValue(cid, 23000, 6)
local monster = doCreateMonster(poke_name, getCreaturePosition(cid))
doConvinceCreature(cid, monster)
doCreatureAddHealth(monster, -(tonumber(getPokemonMaxLife(poke_name) - action_id)))
doPlayerSay(cid, poke_name .. ", Vamos parar!", TALKTYPE_SAY)
setPlayerStorageValue(cid, 9999,-1)
setPlayerStorageValue(cid, 8888,-1)
return true
end
if #getCreatureSummons(cid) < 1 then
return doPlayerSendCancel(cid, "Para voar você precisa de um pokemon")
end
if isPremium(cid) == FALSE then
return doPlayerSendCancel(cid, "Você não é premium account.")
end
local name = getCreatureName(getCreatureSummons(cid)[1])
local pokemon = pokes[getCreatureName(getCreatureSummons(cid)[1])]
if not pokes[name] then
return doPlayerSendCancel(cid, "Este pokemon não pode voar.")
end
setPlayerStorageValue(cid, storage, os.time()+exhaust)
doChangeSpeed(cid, pokemon[2])
setPlayerStorageValue(cid, 17000, 10)
setPlayerStorageValue(cid, 23000, 5)
doSetCreatureOutfit(cid, {lookType = pokemon[1], lookHead = 0, lookAddons = 0, lookLegs = 0, lookBody = 0, lookFeet = 0}, -1)
setPlayerStorageValue(cid,9999,pokemon[1])
setPlayerStorageValue(cid,8888,pokemon[2])
doItemSetAttribute(getPlayerSlotItem(cid, CONST_SLOT_FEET).uid, "aid", getCreatureHealth(getCreatureSummons(cid)[1]))
function getPokemonId(summons)
for _, pid in ipairs(summons) do
return pid
end
end
doRemoveCreature(getPokemonId(summons))
doPlayerSay(cid, name .. ", Vamos voar!", TALKTYPE_SAY)
doPlayerSendTextMessage(cid,27,'Fale \'up\' para subir e \'down\' para descer!.' )
if fly.using(cid) then
local p = getCreaturePosition(cid)
p.stackpos = 0
local f = getTileThingByPos(p)
if fly.del(cid) then
if f.itemid ~= 0 and f.itemid ~= 1 and f.itemid ~= CONST_FLYVOID then
return true
else
setPlayerStorageValue(cid,10941,1)
local p = getCreaturePosition(cid)
setPlayerStorageValue(cid, 102011,p.x)
setPlayerStorageValue(cid, 102012,p.y)
setPlayerStorageValue(cid, 102013,p.z)
return true
end
else
doPlayerSendTextMessage(cid,27,'Você não pode voar neste local.')
end
end
end
return true
end
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados