• logo_cipsoft
    Nowe serwery zostały otwarte 19 Lut 2025:
    Noctalia (Open PvP) Ignitera (Open PvP) us_logo Xybra (Open PvP)

Creaturescripts Animace gdy awansujesz by GoD Aron

Status
Zamknięty.

Kazik Flo

Advanced User
Dołączył
Czerwiec 6, 2010
Posty
216
Liczba reakcji
8
Autor: GoD Aron
Licencja: Byle by nie usuwa? autora :)
?o?! Napisa?em sw?j pierwszy skrypt jego zadaniem jest dodanie graczowi cale hp oraz mane + super efekty gdy awansuje w jednym z mo?liwo?? swej postaci!
Teraz do roboty!
Cz??? LUA
Wchodzimy do katalogu /data/creaturescripts/scripts/ i tam dodajemy plik advance.lua jego zawarto?? to :
Kod:
    -- Autor: GoD Aron
    function onAdvance(cid, skill, oldlevel, newlevel)
                    local pPos =  getCreaturePosition(cid)
                    if skill == SKILL__MAGLEVEL then
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Gratulacje! Awansowales w Magic Levelu")
                            doSendMagicEffect(pPos, 40)
                            doCreatureAddHealth(cid, getCreatureMaxHealth(cid))
                            doCreatureAddMana(cid, getCreatureMaxMana(cid))
                    elseif skill == SKILL_SHIELD then
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Gratulacje! Awansowales w Obronie")
                            doSendMagicEffect(pPos, 3)
                    elseif skill == SKILL_AXE then
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Gratulacje! Awansowales w walce Toporami")
                            doSendMagicEffect(pPos, 42)
                    elseif skill == SKILL_SWORD then
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Gratulacje! Awansowales w walce Mieczami")
                            doSendMagicEffect(pPos, 50)
                    elseif skill == SKILL_CLUB then
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Gratulacje! Awansowales w walce Maczugami")
                            doSendMagicEffect(pPos, 30)   
                    elseif skill == SKILL_DISTANCE then
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Gratulacje! Awansowales w walce na Dystans")
                            doSendMagicEffect(pPos, 29)
                    elseif skill == SKILL__LEVEL then
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Gratulacje! Awansowales w Levelu!")
                            doSendMagicEffect(pPos, 28)     
                    end
                    return true
    end
W kolejnym kroku wchodzimy do pliku login.lua i dodajemy linijk? :
Kod:
registerCreatureEvent(cid, "Advance")
Nast?pnie w katalogu /data/creaturescripts/creaturescripts.xml/
Kod:
<event type="advance" name="Advance" event="script" value="advance.lua"/>
Koniec!
Skrypt jest wpe?ni sprawny ! Wszystko dzia?a!
 
Odp: Animace gdy awansujesz by GoD Aron

Zauwa?y?e? ?e dodaje hp i manne tylko gdy awansujesz w mlvl?? Nie powinno to wygl?da? tak;
PHP:
    -- Autor: GoD Aron
    function onAdvance(cid, skill, oldlevel, newlevel)
                    local pPos =  getCreaturePosition(cid)
                    if skill == SKILL__MAGLEVEL then
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Gratulacje! Awansowales w Magic Levelu")
                            doSendMagicEffect(pPos, 40)
                    elseif skill == SKILL_SHIELD then
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Gratulacje! Awansowales w Obronie")
                            doSendMagicEffect(pPos, 3)
                    elseif skill == SKILL_AXE then
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Gratulacje! Awansowales w walce Toporami")
                            doSendMagicEffect(pPos, 42
                    elseif skill == SKILL_SWORD then
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Gratulacje! Awansowales w walce Mieczami")
                            doSendMagicEffect(pPos, 50)
                    elseif skill == SKILL_CLUB then
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Gratulacje! Awansowales w walce Maczugami")
                            doSendMagicEffect(pPos, 30)   
                    elseif skill == SKILL_DISTANCE then
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Gratulacje! Awansowales w walce na Dystans")
                            doSendMagicEffect(pPos, 29)
                    elseif skill == SKILL__LEVEL then
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Gratulacje! Awansowales w Levelu!")
                            doSendMagicEffect(pPos, 28)     
                    end
                            doCreatureAddHealth(cid, getCreatureMaxHealth(cid)-getCreatureHealth(cid))
                            doCreatureAddMana(cid, getCreatureMaxMana(cid)-getCreatureMana(cid))
                    return true
    end

Nie testowa?em i mo?e nie dzia?a?.

I gdzie ten super efekt??
 
Odp: Animace gdy awansujesz by GoD Aron

Nom s? dodane effekty jak awansujesz mi to dzia?a all dob?e..
 
Odp: Animace gdy awansujesz by GoD Aron

Kod:
      elseif skill == SKILL_AXE then
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Gratulacje! Awansowales w walce Toporami")
                            doSendMagicEffect(pPos, 42[B])[/B]

Poprawi?em b??d ;)
nie powinno by? tam na ko?cu ")" (jak zaznaczy?em w kodzie)
 
Odp: Animace gdy awansujesz by GoD Aron

Nom Po wino ale mi to tak dzia?a all
 
Odp: Animace gdy awansujesz by GoD Aron

@GoD AroN
Popraw b??d !! ;p
 
Odp: Animace gdy awansujesz by GoD Aron

Ok Poprawi?em ten B??d.;)
 
Animacje po awansie new ;)

Animacje po awansie new ;)

Animacje gdy awansujemy, testowane na tfs 0.4_dev :
W data/creaturescripts/scripts robimy plik advance.lua i wklejamy do niego :

-- Create by GoD Squezz
function onAdvance(cid, skill, oldlevel, newlevel)
local pos = getCreaturePosition(cid)

if skill == SKILL__MAGLEVEL then
doPlayerSay(cid, "[MAGICLEVEL UP!]", TALKTYPE_ORANGE_1)
for i = 1, 1 do
local effectPositions = {
{x = pos.x, y = pos.y - 3, z = pos.z},
{x = pos.x, y = pos.y + 3, z = pos.z},
{x = pos.x - 3, y = pos.y, z = pos.z},
{x = pos.x + 3, y = pos.y, z = pos.z},
{x = pos.x - 2, y = pos.y - 2, z = pos.z},
{x = pos.x + 2, y = pos.y - 2, z = pos.z},
{x = pos.x + 2, y = pos.y + 2, z = pos.z},
{x = pos.x - 2, y = pos.y + 2, z = pos.z}
}
for _, ePos in ipairs(effectPositions) do
doSendDistanceShoot(pos, ePos, CONST_ANI_SUDDENDEATH)
doSendMagicEffect(ePos, CONST_ME_YALAHARIGHOST)
end
end
elseif skill == SKILL__LEVEL then
doPlayerSay(cid, "[LEVEL UP!]", TALKTYPE_ORANGE_1)
for i = 1, 1 do
local effectPosition = {
{x = pos.x, y = pos.y - 3, z = pos.z},
{x = pos.x, y = pos.y + 3, z = pos.z},
{x = pos.x - 3, y = pos.y, z = pos.z},
{x = pos.x + 3, y = pos.y, z = pos.z},
{x = pos.x - 2, y = pos.y - 2, z = pos.z},
{x = pos.x + 2, y = pos.y - 2, z = pos.z},
{x = pos.x + 2, y = pos.y + 2, z = pos.z},
{x = pos.x - 2, y = pos.y + 2, z = pos.z}
}
for _, ePos in ipairs(effectPosition) do
doSendDistanceShoot(pos, ePos, CONST_ANI_SMALLHOLY)
doSendMagicEffect(ePos, CONST_ME_HOLYAREA)
end
end
elseif skill == SKILL_CLUB then
doPlayerSay(cid, "[CLUB FIGHTING UP!]", TALKTYPE_ORANGE_1)
for i = 1, 1 do
local effectPositio = {
{x = pos.x, y = pos.y - 3, z = pos.z},
{x = pos.x, y = pos.y + 3, z = pos.z},
{x = pos.x - 3, y = pos.y, z = pos.z},
{x = pos.x + 3, y = pos.y, z = pos.z},
{x = pos.x - 2, y = pos.y - 2, z = pos.z},
{x = pos.x + 2, y = pos.y - 2, z = pos.z},
{x = pos.x + 2, y = pos.y + 2, z = pos.z},
{x = pos.x - 2, y = pos.y + 2, z = pos.z}
}
for _, ePos in ipairs(effectPositio) do
doSendDistanceShoot(pos, ePos, CONST_ANI_WHIRLWINDCLUB)
doSendMagicEffect(ePos, CONST_ME_GROUNDSHAKER)
end
end
elseif skill == SKILL_SWORD then
doPlayerSay(cid, "[SWORD FIGHTING UP!]", TALKTYPE_ORANGE_1)
for i = 1, 1 do
local effectPositi = {
{x = pos.x, y = pos.y - 3, z = pos.z},
{x = pos.x, y = pos.y + 3, z = pos.z},
{x = pos.x - 3, y = pos.y, z = pos.z},
{x = pos.x + 3, y = pos.y, z = pos.z},
{x = pos.x - 2, y = pos.y - 2, z = pos.z},
{x = pos.x + 2, y = pos.y - 2, z = pos.z},
{x = pos.x + 2, y = pos.y + 2, z = pos.z},
{x = pos.x - 2, y = pos.y + 2, z = pos.z}
}
for _, ePos in ipairs(effectPositi) do
doSendDistanceShoot(pos, ePos, CONST_ANI_WHIRLWINDSWORD)
doSendMagicEffect(ePos, CONST_ME_HOLYAREA)
end
end
elseif skill == SKILL_AXE then
doPlayerSay(cid, "[AXE FIGHTING UP!]", TALKTYPE_ORANGE_1)
for i = 1, 1 do
local effectPosit = {
{x = pos.x, y = pos.y - 3, z = pos.z},
{x = pos.x, y = pos.y + 3, z = pos.z},
{x = pos.x - 3, y = pos.y, z = pos.z},
{x = pos.x + 3, y = pos.y, z = pos.z},
{x = pos.x - 2, y = pos.y - 2, z = pos.z},
{x = pos.x + 2, y = pos.y - 2, z = pos.z},
{x = pos.x + 2, y = pos.y + 2, z = pos.z},
{x = pos.x - 2, y = pos.y + 2, z = pos.z}
}
for _, ePos in ipairs(effectPosit) do
doSendDistanceShoot(pos, ePos, CONST_ANI_WHIRLWINDAXE)
doSendMagicEffect(ePos, CONST_ME_BATS)
end
end
elseif skill == SKILL_DISTANCE then
doPlayerSay(cid, "[DISTANCE FIGHTING UP!]", TALKTYPE_ORANGE_1)
for i = 1, 1 do
local effectPosi = {
{x = pos.x, y = pos.y - 3, z = pos.z},
{x = pos.x, y = pos.y + 3, z = pos.z},
{x = pos.x - 3, y = pos.y, z = pos.z},
{x = pos.x + 3, y = pos.y, z = pos.z},
{x = pos.x - 2, y = pos.y - 2, z = pos.z},
{x = pos.x + 2, y = pos.y - 2, z = pos.z},
{x = pos.x + 2, y = pos.y + 2, z = pos.z},
{x = pos.x - 2, y = pos.y + 2, z = pos.z}
}
for _, ePos in ipairs(effectPosi) do
doSendDistanceShoot(pos, ePos, CONST_ANI_FLAMMINGARROW)
doSendMagicEffect(ePos, CONST_ME_FIREATTACK)
end
end
elseif skill == SKILL_FIST then
doPlayerSay(cid, "[FIST FIGHTING UP!]", TALKTYPE_ORANGE_1)
for i = 1, 1 do
local effectPos = {
{x = pos.x, y = pos.y - 3, z = pos.z},
{x = pos.x, y = pos.y + 3, z = pos.z},
{x = pos.x - 3, y = pos.y, z = pos.z},
{x = pos.x + 3, y = pos.y, z = pos.z},
{x = pos.x - 2, y = pos.y - 2, z = pos.z},
{x = pos.x + 2, y = pos.y - 2, z = pos.z},
{x = pos.x + 2, y = pos.y + 2, z = pos.z},
{x = pos.x - 2, y = pos.y + 2, z = pos.z}
}
for _, ePos in ipairs(effectPos) do
doSendDistanceShoot(pos, ePos, CONST_ANI_EXPLOSION)
doSendMagicEffect(ePos, CONST_ME_WATERSPLASH)
end
end
elseif skill == SKILL_SHIELD then
doPlayerSay(cid, "[SHIELD UP!]", TALKTYPE_ORANGE_1)
for i = 1, 1 do
local effectPo = {
{x = pos.x, y = pos.y - 3, z = pos.z},
{x = pos.x, y = pos.y + 3, z = pos.z},
{x = pos.x - 3, y = pos.y, z = pos.z},
{x = pos.x + 3, y = pos.y, z = pos.z},
{x = pos.x - 2, y = pos.y - 2, z = pos.z},
{x = pos.x + 2, y = pos.y - 2, z = pos.z},
{x = pos.x + 2, y = pos.y + 2, z = pos.z},
{x = pos.x - 2, y = pos.y + 2, z = pos.z}
}
for _, ePos in ipairs(effectPo) do
doSendDistanceShoot(pos, ePos, CONST_ANI_SMALLHOLY)
doSendMagicEffect(ePos, CONST_ME_HOLYAREA)
end
end
elseif skill == SKILL_FISHING then
doPlayerSay(cid, "[FISHING UP!]", TALKTYPE_ORANGE_1)
for i = 1, 1 do
local effectP = {
{x = pos.x, y = pos.y - 3, z = pos.z},
{x = pos.x, y = pos.y + 3, z = pos.z},
{x = pos.x - 3, y = pos.y, z = pos.z},
{x = pos.x + 3, y = pos.y, z = pos.z},
{x = pos.x - 2, y = pos.y - 2, z = pos.z},
{x = pos.x + 2, y = pos.y - 2, z = pos.z},
{x = pos.x + 2, y = pos.y + 2, z = pos.z},
{x = pos.x - 2, y = pos.y + 2, z = pos.z}
}
for _, ePos in ipairs(effectP) do
doSendDistanceShoot(pos, ePos, CONST_ANI_ENERGYBALL)
doSendMagicEffect(ePos, CONST_ME_WATERSPLASH)
end
end
end
return TRUE
end
W data/creaturescripts/creaturescripts.xml dopisujemy
<event type="advance" name="advance" event="script" value="advance.lua"/>
W data/creaturescripts/scripts/login.lua po registerCreatureEvent(cid, "ReportBug") dodajemy :
registerCreatureEvent(cid, "advance")
 
Odp: Animace gdy awansujesz by GoD Aron

No tak skrypt jest bardzo dobry ka?dy ka?dego poprawial xD dzieki za skrypt reput leci dla pana God Aron
 
Status
Zamknięty.
Do góry