Ir para conteúdo

[Ajuda] Sistema


Posts Recomendados

Fala galera do Xtibia

Eu tenho um sistema que eu pedi aqui no forum e o  @Yan Liima

Fez e etc.. , mas só que tem um problema [+/-]

O Sistema envia o jogador para um Hospital, mas se eu usar + de 1 cidade para os jogadores criar vai dar conflito

Oque eu gostaria era de uma ajuda para por pro sistema funcionar em outras posições se caso o jogador tiver em outra cidade

no site vai ter 2 ou mais cidades para o jogador escolher na hora de criar o character, e eu queria que nas outras cidades tivessem hospitais também.

 

Resumo : O sistema atual funciona pra tudo e todas, Oque eu quero é que tenha uma forma de verificar qual cidade o character foi criado e puxar ele para a position da cidade dele caso morra.

 

Spoiler

local hospitalpos = {
[1] = {x = 1021, y = 981, z = 7}, -- posições pra onde o player será teleportado ao morrer
[2] = {x = 1026, y = 981, z = 7},
[3] = {x = 1030, y = 981, z = 7},
}

local str = 66666

function onDeath(cid, position)
registerCreatureEvent(cid, "DeathPlayerHospital_L")
if isPlayer(cid) then
setPlayerStorageValue(cid, str, 1)
end
return true
end

function onLogin(cid)
registerCreatureEvent(cid, "DeathPlayerHospital")
if isPlayer(cid) then
    if getPlayerStorageValue(cid, str) == 1 then
    setPlayerStorageValue(cid, str, -1)
    doTeleportThing(cid, hospitalpos[math.random(#hospitalpos)], true)
    end
end
return true
end

 

Editado por NdboHakai
Link para o comentário
Compartilhar em outros sites

  • Diretor

To meio ocupado aqui, dá pra fazer isso de várias forma. O ideal seria por um [TownID] antes das numeração das pos, ia ficar bem organizado. Mas fiz uma mini gambiarra aqui, vê se funciona:

local hospitalpos = {
[1] = {x = 1021, y = 981, z = 7}, -- posições pra onde o player será teleportado ao morrer
[2] = {x = 1026, y = 981, z = 7},
[3] = {x = 1030, y = 981, z = 7},
}
local hospitalpos2 = {
[1] = {x = 1021, y = 981, z = 7}, -- posições pra onde o player será teleportado ao morrer
}
local str = 66666

function onDeath(cid, position)
if isPlayer(cid) then
setPlayerStorageValue(cid, str, 1)
end
return true
end

function onLogin(cid)
if isPlayer(cid) and getPlayerTown(cid) == 0 then --ID da City(TownID)
    if getPlayerStorageValue(cid, str) == 1 then
    setPlayerStorageValue(cid, str, -1)
    doTeleportThing(cid, hospitalpos[math.random(#hospitalpos)], true)
    end
end
if isPlayer(cid) and getPlayerTown(cid) == 1 then --ID da City(TownID)
    if getPlayerStorageValue(cid, str) == 1 then
    setPlayerStorageValue(cid, str, -1)
    doTeleportThing(cid, hospitalpos2[math.random(#hospitalpos2)], true)
    end
end

return true
end

 

Link para o comentário
Compartilhar em outros sites

21 minutos atrás, Yan Liima disse:

To meio ocupado aqui, dá pra fazer isso de várias forma. O ideal seria por um [TownID] antes das numeração das pos, ia ficar bem organizado. Mas fiz uma mini gambiarra aqui, vê se funciona:


local hospitalpos = {
[1] = {x = 1021, y = 981, z = 7}, -- posições pra onde o player será teleportado ao morrer
[2] = {x = 1026, y = 981, z = 7},
[3] = {x = 1030, y = 981, z = 7},
}
local hospitalpos2 = {
[1] = {x = 1021, y = 981, z = 7}, -- posições pra onde o player será teleportado ao morrer
}
local str = 66666

function onDeath(cid, position)
if isPlayer(cid) then
setPlayerStorageValue(cid, str, 1)
end
return true
end

function onLogin(cid)
if isPlayer(cid) and getPlayerTown(cid) == 0 then --ID da City(TownID)
    if getPlayerStorageValue(cid, str) == 1 then
    setPlayerStorageValue(cid, str, -1)
    doTeleportThing(cid, hospitalpos[math.random(#hospitalpos)], true)
    end
end
if isPlayer(cid) and getPlayerTown(cid) == 1 then --ID da City(TownID)
    if getPlayerStorageValue(cid, str) == 1 then
    setPlayerStorageValue(cid, str, -1)
    doTeleportThing(cid, hospitalpos2[math.random(#hospitalpos2)], true)
    end
end

return true
end

 

Troquei as posições e funcionou, mas quando adicionei +1 posição no hospitalpos2 o jogador não vai para as posições que está marcada, ele vai para a pos do templo '-'

Link para o comentário
Compartilhar em outros sites

  • Diretor
34 minutos atrás, NdboHakai disse:

Troquei as posições e funcionou, mas quando adicionei +1 posição no hospitalpos2 o jogador não vai para as posições que está marcada, ele vai para a pos do templo '-'

Deu algum erro na distro? Tu deixou assim? exemplo:

local hospitalpos2 = {
[1] = {x = 1021, y = 981, z = 7}, -- posições pra onde o player será teleportado ao morrer
[2] = {x = 1021, y = 981, z = 7},
}

 

Link para o comentário
Compartilhar em outros sites

36 minutos atrás, Yan Liima disse:

Deu algum erro na distro? Tu deixou assim? exemplo:


local hospitalpos2 = {
[1] = {x = 1021, y = 981, z = 7}, -- posições pra onde o player será teleportado ao morrer
[2] = {x = 1021, y = 981, z = 7},
}

 

é não deu error na distro e sim deixei assim

Link para o comentário
Compartilhar em outros sites

Em 12/03/2019 em 18:41, Yan Liima disse:

Deu algum erro na distro? Tu deixou assim? exemplo:


local hospitalpos2 = {
[1] = {x = 1021, y = 981, z = 7}, -- posições pra onde o player será teleportado ao morrer
[2] = {x = 1021, y = 981, z = 7},
}

 

Me ajuda :/

Link para o comentário
Compartilhar em outros sites

  • Diretor
26 minutos atrás, NdboHakai disse:

Me ajuda :/

Estranho era pra funcionar. Tenta tirar a ultima virgula:

local hospitalpos2 = {
[1] = {x = 1021, y = 981, z = 7}, -- posições pra onde o player será teleportado ao morrer
[2] = {x = 1021, y = 981, z = 7}
}

 

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

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