• logo_cipsoft
    Nowe serwery zostały otwarte 27 Paź 2025:
    Idyllia (Optional PvP) Hostera (Open PvP) us_logo Dracobra (Open PvP)

Skrypty & Kody Scrypt TP + wlasne spelle

Witam, potrzebuje scryptu na teleportowanie si? gracza do gracza

Zrobilem nowe spelle, ale nie mam pojecia jak zrobi? ?w taki scrypt

8.6 Tfs 0.4

wykona?em taki skrypt jednak sprawdzalem inne i sa inaczej napisane.

Jakby to uj?c bardziej profesjonalnie, ze lvl * mlvl etc. wiec wykonalem ze czar zdaje od tylu do tylu dmg stale
Nie wiem jak to zrobic profesjonalnie ;)

[LUA]-- Areas/Combat for 0ms
local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY)
setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat0_Brush,createCombatArea({{0, 0, 1, 0, 0},
{0, 1, 0, 1, 0},
{1, 0, 2, 0, 1},
{1, 0, 0, 0, 1},
{0, 1, 0, 1, 0},
{0, 0, 1, 0, 0}}))
function getDmg_Brush(cid, level, maglevel)
return (7500)*-1,(11250)*-1
end
setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

-- Areas/Combat for 100ms
local combat1_Brush = createCombatObject()
setCombatParam(combat1_Brush, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY)
setCombatParam(combat1_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat1_Brush,createCombatArea({{0, 1, 0},
{1, 3, 1},
{1, 1, 1},
{0, 1, 0}}))
function getDmg_Brush(cid, level, maglevel)
return (7500)*-1,(11250)*-1
end
setCombatCallback(combat1_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

-- Areas/Combat for 200ms
local combat2_Brush = createCombatObject()
setCombatParam(combat2_Brush, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY)
setCombatParam(combat2_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat2_Brush,createCombatArea({{0, 0, 0, 1, 0, 0, 0},
{0, 0, 1, 0, 1, 0, 0},
{0, 1, 0, 0, 0, 1, 0},
{1, 0, 0, 2, 0, 0, 1},
{1, 0, 0, 0, 0, 0, 1},
{0, 1, 0, 0, 0, 1, 0},
{0, 0, 1, 0, 1, 0, 0},
{0, 0, 0, 1, 0, 0, 0}}))
function getDmg_Brush(cid, level, maglevel)
return (7500)*-1,(11250)*-1
end
setCombatCallback(combat2_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

-- Areas/Combat for 400ms
local combat4_Brush = createCombatObject()
setCombatParam(combat4_Brush, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY)
setCombatParam(combat4_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat4_Brush,createCombatArea({{0, 0, 1, 0, 0},
{0, 1, 0, 1, 0},
{1, 0, 2, 0, 1},
{1, 0, 0, 0, 1},
{0, 1, 0, 1, 0},
{0, 0, 1, 0, 0}}))
function getDmg_Brush(cid, level, maglevel)
return (7500)*-1,(11250)*-1
end
setCombatCallback(combat4_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")

-- =============== CORE FUNCTIONS ===============
local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part
if (isCreature(cid)) then
doCombat(cid, c, var)
if (dirList ~= nil) then -- Emit distance effects
local i = 2;
while (i < #dirList) do
doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList,y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
i = i + 2
end
end
end
end

function onCastSpell(cid, var)
local startPos = getCreaturePosition(cid)
RunPart(combat0_Brush,cid,var)
addEvent(RunPart,100,combat1_Brush,cid,var)
addEvent(RunPart,200,combat2_Brush,cid,var)
addEvent(RunPart,400,combat4_Brush,cid,var)
return true
end[/LUA]
[MENTION=66597]Edy[/MENTION]towalem i zrobilem takie cos
[LUA]local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, TRUE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, TRUE)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 40.6, 50.6, 70.6, 40.6)

local area = createCombatArea(AREA_CIRCLE3X3)
setCombatArea(combat, area)

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end
[/LUA]
wyglada chyba znacznie lepiej

Potrzebuje liste effectow ktorej szukalem na necie jednak z marnym skutkiem. Jezeli bylby ktos tak mily to bardzo mi pomoze
Potrzebuje takze wyjasnienia formuly skill
co dokladnie co oznacza
Czyli np :
COMBAT_FORMULA_SKILL, 40.6, 50.6, 70.6, 40.6)

40.6 - od czego etc. Poniewaz robie na oslep ;)

I jezeli ktos bylby wstanie dac mi ten skrypt na tp, od gracza do gracza. Bylbym w niebo wziety :)
 

Our partners and their custom servers:

Odp: Scrypt TP + wlasne spelle

?atwiejszy spos?b do ogarni?cia dmg
Polecam to zrobi? tak:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, TRUE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, TRUE)
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "spell1")
function spell1(cid, level, maglevel)
local min = -(level * 5.9+ maglevel * 12 +50)
local max = -(level * 5.9+ maglevel * 13 +50)
return min, max
end
local area = createCombatArea(AREA_CIRCLE3X3)
setCombatArea(combat, area)

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end


Oraz cd. efekt?w polecam pobra? ObjectBuildera i wczyta? spr i dat z Twojego clienta. Tam masz zak?adk? Effects i id przy ka?dym efekcie. Pami?taj ?e ka?dy id efektu z ObjectBuildera wpisujesz w skrypcie o 1 mniej czyli: jak chcesz mie? efekt o id 50 to w skrypcie wpisz id 49 <nwm czemu tak jest xD np.
setCombatParam(combat, COMBAT_PARAM_EFFECT, 49)
 
Odp: Scrypt TP + wlasne spelle

[LUA] <instant name="field bomb" words="exori bomb" lvl="250" maglv="1" mana="25" exhaustion="2000" prem="0" needlearn="0" blockwalls="0" aggressive="1" event="script" value="attack/field bomb.lua">
<vocation id="4"/>
</instant>[/LUA]

Twoj scrypt

[LUA]local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, TRUE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, TRUE)
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "spell1")
function spell1(cid, level, maglevel)
local min = -(level * 59.9 + maglevel * 12 + 50)
local max = -(level * 80.9 + maglevel * 13 + 50)
return min, max
end
local area = createCombatArea(AREA_CIRCLE3X3)
setCombatArea(combat, area)

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end[/LUA]

I blad ktory mi sie pojawia w consoli


A efekt jesst jaki jaki ma byc, jednak nie zadaje DMG czar, a czemu to nie mam pojecia.
A i gdzioe w tym scrypcie jest opisane w jaki sposob ma czas bic, tzn ile sqm etc
 
Odp: Scrypt TP + wlasne spelle

A i gdzioe w tym scrypcie jest opisane w jaki sposob ma czas bic, tzn ile sqm etc
Tutaj juz pobral z data/spells/lib/spells.lua obszar.
local area = createCombatArea(AREA_CIRCLE3X3), a wyglada to tak:
Kod:
AREA_CIRCLE3X3 = {
	{0, 0, 1, 1, 1, 0, 0},
	{0, 1, 1, 1, 1, 1, 0},
	{1, 1, 1, 1, 1, 1, 1},
	{1, 1, 1, 3, 1, 1, 1},
	{1, 1, 1, 1, 1, 1, 1},
	{0, 1, 1, 1, 1, 1, 0},
	{0, 0, 1, 1, 1, 0, 0}
}

skrypt na teleport do innego gracza
[lua]function onSay(cid, words, param)
if(param == "") then return true end
local target = getCreatureByName(param)
if(target)then
doTeleportThing(cid, getCreaturePosition(target), true)
doSendMagicEffect(getCreaturePosition(cid), 32)
doPlayerAddMana(cid, -300) -- odbiera mane za czar
end
return true
end[/lua]
 
Back
Do góry Bottom