• logo_cipsoft
    Nowe serwery zostały otwarte 27 Sie 2025:
    Escura (Retro Open PvP) Mystera (Retro Open PvP) us_logo Penumbra (Retro Open PvP)

-Tibia 8.54 Transform system

Ciamciaj Bigos

ก้้้้้้&
Dołączył
Czerwiec 6, 2013
Posty
2081
Liczba reakcji
190
Opis; Autor nieznany. Udoskonalilem i poprawilem, bo byly bugi z powrotem hp. Krotki i latwy do edycji, po zerknieciu z grubsza juz wiadomo jak dziala.

Skrypt;
data/talkactions/scripts/transform.lua
[lua]local TRANSFORM = {
[1] = {bonusHP = 50, bonusMana = 50, newVoc = 2, level = 10},
[2] = {bonusHP = 50, bonusMana = 50, newVoc = 3, level = 20},
[3] = {bonusHP = 50, bonusMana = 50, newVoc = 4, level = 30},
}

function onSay(cid, words, param, channel , interval)
if(not isPlayer(cid))then
return true
end
local voc = getPlayerVocation(cid)
local transform = TRANSFORM[voc]
local lvl = getPlayerLevel(cid)
local mana = getPlayerMana(cid)
local pos = getCreaturePosition(cid)
if(transform)then
if(transform.level <= lvl)then
if(mana > 100)then
local bonusHP, bonusMana, newVoc, effect = transform.bonusHP, transform.bonusMana, transform.newVoc, transform.effect
bonusHP = bonusHP + getCreatureMaxHealth(cid)
bonusMana = bonusMana + getCreatureMaxMana(cid)
return doPlayerSetVocation(cid, newVoc) and Outfit(cid) and setCreatureMaxHealth(cid, bonusHP) and doCreatureAddHealth(cid, bonusHP) and setCreatureMaxMana(cid, bonusMana) and doCreatureAddMana(cid, bonusMana) and manaLoss(cid) and true
else
return doPlayerSendCancel(cid, "You need more chakra to transform") and doSendMagicEffect(pos, CONST_ME_POFF) and true
end
else
return doPlayerSendCancel(cid, "You need " .. transform.level .. " level to transform") and doSendMagicEffect(pos, CONST_ME_POFF) and true
end
else
return doPlayerSendCancel(cid, "You cannot transform.") and doSendMagicEffect(pos, CONST_ME_POFF) and true
end
return true
end[/lua]

data/lib/050-function.lua/
[lua]CHECK = {
[2] = {manapersec = 10, toVoc = 1, effect = 1},
[3] = {manapersec = 10, toVoc = 1, effect = 1},
}

function manaLoss(cid)
if(not isPlayer(cid))then
return true
end
local voc = getPlayerVocation(cid)
for voc,x in pairs (CHECK) do
if(CHECK[getPlayerVocation(cid)])then
if(getPlayerMana(cid) >= x.manapersec)then
return doPlayerAddMana(cid, -x.manapersec, false) and addEvent(manaLoss, 1000, cid) and true
else
return doSendMagicEffect(getCreaturePosition(cid), x.effect) and doPlayerSetVocation(cid, x.toVoc) and Outfit(cid) and ChangeHealthAndMana(cid) and true
end
end
end
return true
end

local TABELA = {
[1] = {bonusHP = 50, bonusMana = 50},
[2] = {bonusHP = 50, bonusMana = 50},
[3] = {bonusHP = 50, bonusMana = 50},
}

function ChangeHealthAndMana(cid)
local voc, healthmax, manamax = getPlayerVocation(cid), getCreatureMaxHealth(cid), getCreatureMaxMana(cid)
local tabela = TABELA[voc]
if (isPlayer(cid) and tabela)then
healthmax = healthmax - tabela.bonusHP
manamax = manamax - tabela.bonusMana
return setCreatureMaxHealth(cid, healthmax) and setCreatureMaxMana(cid, manamax) and doCreatureAddHealth(cid, -tabela.bonusHp) and doPlayerAddMana(cid, -tabela.bonusMana) and true
end
end

local OUTFIT = {
[1] = {lookType=2},
[2] = {lookType=6},
[3] = {lookType=5},
}

function Outfit(cid)
if(OUTFIT[getPlayerVocation(cid)])then
return doSetCreatureOutfit(cid, OUTFIT[getPlayerVocation(cid)], -1)
end
return true
end[/lua]

data/creaturescripts/scripts/login.lua/
[lua]manaLoss(cid)
Outfit(cid)[/lua]
 
Odp: Transform system

Zamiast si? m?czy? z tym odejmowaniem przy logowaniu/wylogowaniu wystarczy da? condition.
 
Odp: Transform system

Dzieki komenda dziala jak najbardziej tylko nie wiem jak teraz zrobic zeby trans spadl na tez komende revert i jak daje loga i zaloguje to hp i mana zostaje takie jak na transie
 
Odp: Transform system

[MENTION=108502]dake123[/MENTION]
poprawilem blad. Revert sam napiszesz, bo wystarczy zmienic profesje na poczatkowa (tutaj "1") i funkcja spalajaca mane powinna zatrzymac sie na for voc,x in pairs (CHECK) do, dodatkowo tez uzyj funkcji Outfit(cid)
 
Odp: Transform system

Naprawde sorry jestem w tym zielony i nie zabardzo rozumiem co mam zrobic mysle ze z tym revertem dam rade ale z tym zeby mi wracalo do pierwszego voc i zabieralo mane i hp to nie wiem jak mam to zrobic mozesz jako? to latwiej wytlumaczy? i naprawde Sry ze o takie co? prosz?

Notka moderatorska:
pw
 
Ostatnio edytowane przez moderatora:
Odp: Transform system

Umie kto? zrobi? ten spell tak aby to potw?r zmienia? gracza w inn? klas? i to na zawsze? Mia?by to by? spell targetowy, a dystans u?ycia to minimum 2 kratki od gacza i do tego z doskokiem na niego. B?d? wdzi?czny.
 
Odp: Transform system

Ja mam to samo dake123 dlatego Naruto Strych nie stoi,bo nie potrafi? tego naprawi? xD.Te? mi hp nie schodzi,a dosta?em tego skrypta pierwszy od swojego skryptera:D.Nie wiadomo jak to naprawi? xD.
 
Odp: Transform system

Kolega wy?ej si? po roku widz? uaktywni? :D. Po?owa os?b ju? to rozwi?za?a albo da?a sobie siana :D
 
Odp: Transform system

Dzisiaj naprawi?em tego buga mam do tego function onLogout dzia?aj?ce(sam sobie poradzi?em xD) bo ten skrypt u g?ry zosta? zrobiony na potrzebe servera xD.M?g?bym w sumie wrzuci? gotowca.
 
Ostatnia edycja:
Odp: Transform system

[MENTION=428970]Neczek[/MENTION] to wrzu? tak, ?eby przy wylogowaniu odejmowalo z powrotem hp. Dam reputa
 
Odp: Transform system

[MENTION=428970]Neczek[/MENTION]
Je?li ka?de twoje kody prostych system?w s? na prawie 900 linijek to raczej w?tpi?, ?eby? si? za?apa? do top 100 z tym swoim serwerem. :lol:
 
Odp: Transform system

Nie s? na 900 linijek po prostu mam 14 wokacji i ka?da wokacja ma 8 trans?w to sobie policz 1-8 naruto 10-17 sasuke i tak do 140;]. A tak poza tym niekt?rzy wol? robi? transy na wokacje, ?eby w vocations.xml si? bawi? z dmgem i innymi pierdo?ami;P. Wi?kszo?? skrypt?w jest przyci?tych i skr?conych ile si? da :D. Stary skrypter troch? to rozpierdalal w?a?ciciel tego skrypta co umie?ci? Ciamciaj ^^. A teraz Cbs mi pomaga;].
 
Do góry