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

[7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

Status
Zamknięty.
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

@Kapri
Piorunki mozesz ustawic w datEditor, dodajesz animacje podobna jak na ring tylko ze na postac, ale jest duzo grzebania.
 
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

Przykro mi, ju? nieaktualne, u?ytkownik kowol poda? mi pewn? funkcj? i sobie poradzi?em ;)
 
Ostatnia edycja:
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

Wersja tibii : 8.42
Silnik : TFS 0.3.4PL2
Tre?? b??du / opis b??du : Nie konczy sie.
Skrypt :
Kod:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
function onCastSpell(cid, var)
local mana = math.random(getPlayerLevel(cid) * 6 + getPlayerMagLevel(cid) * 7,getPlayerLevel(cid) * 7 + getPlayerMagLevel(cid) * 8)
local kolor = 35 
doPlayerAddMana(cid, mana) 
doSendAnimatedText(getPlayerPosition(cid),mana,kolor)
doCombat(cid, combat, var)
end
Kod:
<rune name="Manarune" id="2298" allowfaruse="1" charges="100" lvl="8" maglv="0" exhaustion="1000" aggressive="0" needtarget="1" blocktype="solid" event="script" value="healing/manarune.lua"/>
Ewentualne uwagi : Chcialbym, zeby pierwotnie ta runa miala 100 ladunkow i zeby sie konczyla po 100 uzyciach
 
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

#Ldrozd

Spr?buj tego -

Kod:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
function onCastSpell(cid, var)
local mana = math.random(getPlayerLevel(cid) * 6 + getPlayerMagLevel(cid) * 7,getPlayerLevel(cid) * 7 + getPlayerMagLevel(cid) * 8)
local kolor = 35 
doPlayerAddMana(cid, mana) 
doRemoveItem(item.uid, 1)
doSendAnimatedText(getPlayerPosition(cid),mana,kolor)
doCombat(cid, combat, var)
end
 
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

Wersja tibii : 8.5
silnik:TFS
Tre?? b??du / opis b??du :gdy sie zalozy pierscien nie przemienia outfitu i nie zmienia spowrotem
i nie jest od 100 lvl i chce jeszcze zeby bylo ze jak zalozy ten pierscien sam dziewczyna to zmieni sie outfit na xxx a jak chlopak to xxx
Skrypt :
Kod:
local config = {
    outfitEquip = 100,  --id outfitu, ktory zmienia po zalozeiu
    outfitStorage = 9245312 --outfitStorage, pod jakim zapisuje outfit
}
function onEquip(cid,item)
    local outfit = getCreatureOutfit(cid)
    setPlayerconfig.outfitStorageValue(cid, config.outfitStorage, outfit.lookType)
    setPlayerconfig.outfitStorageValue(cid, config.outfitStorage+1, outfit.lookHead)
    setPlayerconfig.outfitStorageValue(cid, config.outfitStorage+2, outfit.lookBody)
    setPlayerconfig.outfitStorageValue(cid, config.outfitStorage+3, outfit.lookLegs)
    setPlayerconfig.outfitStorageValue(cid, config.outfitStorage+4, outfit.lookFeet)
    setPlayerconfig.outfitStorageValue(cid, config.outfitStorage+5, outfit.lookAddons)
    doCreatureChangeOutfit(cid,config.outfitEquip)
    return TRUE
end
function onDeEquip(cid,item)
    local outfit = {lookType = getPlayerconfig.outfitStorageValue(cid, config.outfitStorage), lookHead = getPlayerconfig.outfitStorageValue(cid, config.outfitStorage+1), lookBody = 
getPlayerconfig.outfitStorageValue(cid, config.outfitStorage+2), lookLegs = getPlayerconfig.outfitStorageValue(cid, config.outfitStorage+3), lookFeet = getPlayerconfig.outfitStorageValue(cid, config.outfitStorage+4), lookAddons = 
getPlayerconfig.outfitStorageValue(cid, config.outfitStorage+5)}
    doCreatureChangeOutfit(cid,outfit)
    return TRUE
end
Ewentualne uwagi : Porsze jeszcze o wytlumaczenie gdzie co wkleic itp :) i prosze zrobic od 100 lvl i napisac gdzie co zrobic itp sami wiecie :D
 
Ostatnia edycja:
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

#Ldrozd
Spr?buj tego -
Kod:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
function onCastSpell(cid, var)
local mana = math.random(getPlayerLevel(cid) * 6 + getPlayerMagLevel(cid) * 7,getPlayerLevel(cid) * 7 + getPlayerMagLevel(cid) * 8)
local kolor = 35 
doPlayerAddMana(cid, mana) 
doRemoveItem(item.uid, 1)
doSendAnimatedText(getPlayerPosition(cid),mana,kolor)
doCombat(cid, combat, var)
end
Teraz to nie dziala w ogole. A propos tych ladunkow. Sudden death jak sie czaruje runke godem to wychodzi sto ladunkow. I jak probowalem zrobic super sd to skrypty super sd i sd byly takie same. Natomiast w spells.xml roznily sie one id runy.

Licze na dalsza pomoc ;)
 
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

Ovner,Gelio dlaczego ja nie dostalem skryptu jesli poprosilem pierwszy?
:(
A inni dostali? :(
Porsze jeszcze raz o jak najszybsza odp i skrypt :((( bardzo tego potrzebuje

Wersja tibii : 8.5
silnik:TFS
Tre?? b??du / opis b??du :gdy sie zalozy pierscien nie przemienia outfitu i nie zmienia spowrotem
i nie jest od 100 lvl i chce jeszcze zeby bylo ze jak zalozy ten pierscien sam dziewczyna to zmieni sie outfit na xxx a jak chlopak to xxx
Skrypt :
Kod:

Kod:
local config = {
    outfitEquip = 100,  --id outfitu, ktory zmienia po zalozeiu
    outfitStorage = 9245312 --outfitStorage, pod jakim zapisuje outfit
}
function onEquip(cid,item)
    local outfit = getCreatureOutfit(cid)
    setPlayerconfig.outfitStorageValue(cid, config.outfitStorage, outfit.lookType)
    setPlayerconfig.outfitStorageValue(cid, config.outfitStorage+1, outfit.lookHead)
    setPlayerconfig.outfitStorageValue(cid, config.outfitStorage+2, outfit.lookBody)
    setPlayerconfig.outfitStorageValue(cid, config.outfitStorage+3, outfit.lookLegs)
    setPlayerconfig.outfitStorageValue(cid, config.outfitStorage+4, outfit.lookFeet)
    setPlayerconfig.outfitStorageValue(cid, config.outfitStorage+5, outfit.lookAddons)
    doCreatureChangeOutfit(cid,config.outfitEquip)
    return TRUE
end
function onDeEquip(cid,item)
    local outfit = {lookType = getPlayerconfig.outfitStorageValue(cid, config.outfitStorage), lookHead = getPlayerconfig.outfitStorageValue(cid, config.outfitStorage+1), lookBody = 
getPlayerconfig.outfitStorageValue(cid, config.outfitStorage+2), lookLegs = getPlayerconfig.outfitStorageValue(cid, config.outfitStorage+3), lookFeet = getPlayerconfig.outfitStorageValue(cid, config.outfitStorage+4), lookAddons = 
getPlayerconfig.outfitStorageValue(cid, config.outfitStorage+5)}
    doCreatureChangeOutfit(cid,outfit)
    return TRUE
end

Ewentualne uwagi : Porsze jeszcze o wytlumaczenie gdzie co wkleic itp i prosze zrobic od 100 lvl i napisac gdzie co zrobic itp sami wiecie
 
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

@Ldrozd
A gdzie masz return? Nie ma. Masz:
Kod:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN)
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
function onCastSpell(cid, var)
local mana = math.random(getPlayerLevel(cid) * 6 + getPlayerMagLevel(cid) * 7,getPlayerLevel(cid) * 7 + getPlayerMagLevel(cid) * 8)
local kolor = 35 
doPlayerAddMana(cid, mana) 
doSendAnimatedText(getPlayerPosition(cid),mana,kolor)
return doCombat(cid, combat, var)
end
To raczej zadzia?a.
Pozdrawiam,
Gelio


No dziala, ale wciaz mozna uzywac ta rune w nieskonczonosc. Chce, zeby miala 100 ladunkow. prosze poprawic jeszcze raz.
 
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

@Gelio
Nie dziala, tzn. nie uwzglednia ilosci many jesli mam mniej jak 100 many to i tak moge uzyc spell'u, jak mana spadnie ponizej 100 nie zmienia vocations i outfitu i nie spada 10 many na 2 sekundy.
Chyba ten silnik ma cos popsute w events albo z mana.
 
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

Nie no czy wy czasami Ovner & Gelio nie przesadzacie? mam pytanie,ile mam czekac na skrypt ? .. bo juz czekam od prawie tygodnia i kur.. chyba sie nie doczekam .. mysle ze inni tak samo sadza jak ja ..
Jak nie robicie skryptow to zamykac temat i po sprawie..
Nie podoba sie to dowidzenia. Nikt cie nie prosi o skrypty do poprawienie. Ciesz sie, ze w ogole cos takiego jest jak ten watek, bo dzisiaj za wiedzie trzeba zaplacic, a oni robia to za darmo... Zastanow sie co mowisz!
 
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

Chcialbym bardzo przeprosic u?ytkownika Ovner za to ze mu szpanowalem ciagle na gg ze skryptem ;/
I uzytkownika Gelio.
Przepraszam chlopaki
 
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

Mam tez taki skrypt na transform, niewiem na jakom tibie. Chcem abys mi go przerobil na:
Wersja tibii : 8.42

Silnik : TFS 0.3.4PL2
Niektore Conditons nie dzialaja, przerob tak aby dawal hp i mane po transie, zmienial outfit, zabieral 2 na sek. many z 1 transform, zmienial vocations i zeby ponizej 100 many outfit i vocations wracal do 1 orginalnej.
Skrypt:
Kod:
--STATS  Goku1
local combat_stats_Goku1 = createCombatObject()
setCombatParam(combat_stats_Goku1, COMBAT_PARAM_EFFECT, 255)
setCombatParam(combat_stats_Goku1, COMBAT_PARAM_AGGRESSIVE, 0)
local condition_stats_SS = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition_stats_Goku1, CONDITION_PARAM_TICKS, 60000)
setConditionParam(condition_stats_Goku1, CONDITION_PARAM_STAT_MAGICPOINTS, 3)
setConditionParam(condition_stats_Goku1, CONDITION_PARAM_STAT_MAXHITPOINTS, 500)
setConditionParam(condition_stats_Goku1, CONDITION_PARAM_STAT_MAXMANAPOINTS, 700)
setCombatCondition(combat_stats_Goku1, condition_stats_Goku1)
--STATS Goku2
local combat_stats_Goku2 = createCombatObject()
setCombatParam(combat_stats_Goku2, COMBAT_PARAM_EFFECT, 255)
setCombatParam(combat_stats_Goku2, COMBAT_PARAM_AGGRESSIVE, 0)
local condition_stats_SS2 = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition_stats_Goku2, CONDITION_PARAM_TICKS, 60000)
setConditionParam(condition_stats_Goku2, CONDITION_PARAM_STAT_MAGICPOINTS, 6)
setConditionParam(condition_stats_Goku2, CONDITION_PARAM_STAT_MAXHITPOINTS, 1000)
setConditionParam(condition_stats_Goku2, CONDITION_PARAM_STAT_MAXMANAPOINTS, 1400)
setCombatCondition(combat_stats_Goku2, condition_stats_Goku2)
--STATS Goku3
local combat_stats_Goku3 = createCombatObject()
setCombatParam(combat_stats_Goku3, COMBAT_PARAM_EFFECT, 255)
setCombatParam(combat_stats_Goku3, COMBAT_PARAM_AGGRESSIVE, 0)
local condition_stats_SS3 = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition_stats_Goku3, CONDITION_PARAM_TICKS, 60000)
setConditionParam(condition_stats_Goku3, CONDITION_PARAM_STAT_MAGICPOINTS, 9)
setConditionParam(condition_stats_Goku3, CONDITION_PARAM_STAT_MAXHITPOINTS, 1500)
setConditionParam(condition_stats_Goku3, CONDITION_PARAM_STAT_MAXMANAPOINTS, 2100)
setCombatCondition(combat_stats_Goku3, condition_stats_Goku3)
--STATS CHANGLING 1
local combat_stats_Frieza_f1 = createCombatObject()
setCombatParam(combat_stats_Frieza_f1, COMBAT_PARAM_EFFECT, 255)
setCombatParam(combat_stats_Frieza_f1, COMBAT_PARAM_AGGRESSIVE, 0)
local condition_stats_Frieza_f1 = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition_stats_Frieza_f1, CONDITION_PARAM_TICKS, 60000)
setConditionParam(condition_stats_Frieza_f1, CONDITION_PARAM_STAT_MAGICPOINTS, 3)
setConditionParam(condition_stats_Frieza_f1, CONDITION_PARAM_STAT_MAXHITPOINTS, 500)
setConditionParam(condition_stats_Frieza_f1, CONDITION_PARAM_STAT_MAXMANAPOINTS, 700)
setCombatCondition(combat_stats_Frieza_f1, condition_stats_Frieza_f1)
--STATS CHANGLING 2
local combat_stats_Frieza_f2 = createCombatObject()
setCombatParam(combat_stats_Frieza_f2, COMBAT_PARAM_EFFECT, 255)
setCombatParam(combat_stats_Frieza_f2, COMBAT_PARAM_AGGRESSIVE, 0)
local condition_stats_Frieza_f2 = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition_stats_Frieza_f2, CONDITION_PARAM_TICKS, 60000)
setConditionParam(condition_stats_Frieza_f2, CONDITION_PARAM_STAT_MAGICPOINTS, 3)
setConditionParam(condition_stats_Frieza_f2, CONDITION_PARAM_STAT_MAXHITPOINTS, 1000)
setConditionParam(condition_stats_Frieza_f2, CONDITION_PARAM_STAT_MAXMANAPOINTS, 1400)
setCombatCondition(combat_stats_Frieza_f2, condition_stats_Frieza_f2)
--STATS CHANGLING 3
local combat_stats_Frieza_f3 = createCombatObject()
setCombatParam(combat_stats_Frieza_f3, COMBAT_PARAM_EFFECT, 255)
setCombatParam(combat_stats_Frieza_f3, COMBAT_PARAM_AGGRESSIVE, 0)
local condition_stats_Frieza_f3 = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition_stats_Frieza_f3, CONDITION_PARAM_TICKS, 60000)
setConditionParam(condition_stats_Frieza_f3, CONDITION_PARAM_STAT_MAGICPOINTS, 3)
setConditionParam(condition_stats_Frieza_f3, CONDITION_PARAM_STAT_MAXHITPOINTS, 1500)
setConditionParam(condition_stats_Frieza_f3, CONDITION_PARAM_STAT_MAXMANAPOINTS, 2100)
setCombatCondition(combat_stats_Frieza_f3, condition_stats_Frieza_f3)
--STATS KRILLIN UNLOCKED POTENTIAL
local combat_stats_krillin = createCombatObject()
setCombatParam(combat_stats_krillin, COMBAT_PARAM_EFFECT, 255)
setCombatParam(combat_stats_krillin, COMBAT_PARAM_AGGRESSIVE, 0)
local condition_stats_krillin = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition_stats_krillin, CONDITION_PARAM_TICKS, 60000)
setConditionParam(condition_stats_krillin, CONDITION_PARAM_STAT_MAGICPOINTS, 3)
setConditionParam(condition_stats_krillin, CONDITION_PARAM_STAT_MAXHITPOINTS, 1500)
setConditionParam(condition_stats_krillin, CONDITION_PARAM_STAT_MAXMANAPOINTS, 2100)
setCombatCondition(combat_stats_krillin, condition_stats_krillin)
local function onTransformGoku1(p)
doPlayerSendCancel(p.cid, "You are now transformed.")
local outfit_goku_SS = { lookType = 31, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 }
doSetCreatureOutfit(p.cid, outfit_Goku1, 60000)
doPlayerSetVocation(p.cid, 17)
doCombat(p.cid, p.combat_stats_Goku1, p.var)
doSendMagicEffect(getCreaturePosition(p.cid), 13)
end
local function onTransformGoku2(p)
local outfit_goku_SS2 = { lookType = 32, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 }
doSetCreatureOutfit(p.cid, outfit_Goku2, 60000)
doPlayerSetVocation(p.cid, 18)
doCombat(p.cid, p.combat_stats_Goku2, p.var)
doSendMagicEffect(getCreaturePosition(p.cid), 13)
end
local function onTransformGoku3(p)
local outfit_goku_SS3 = { lookType = 33, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 }
doSetCreatureOutfit(p.cid, outfit_Goku3, 60000)
doPlayerSetVocation(p.cid, 19)
doCombat(p.cid, p.combat_stats_Goku3, p.var)
doSendMagicEffect(getCreaturePosition(p.cid), 13)
end
local function onRevertGoku(p)
doPlayerSendCancel(p.cid, "You revert to normal form.")
doSendMagicEffect(getCreaturePosition(p.cid), 13)
doPlayerSetVocation(p.cid, 2)
end
local function onTransformFriezaF2(p)
doPlayerSendCancel(p.cid, "You are now transformed.")
local outfit_Frieza_f2 = { lookType = 22, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 }
doSetCreatureOutfit(p.cid, outfit_Frieza_f2, 60000)
doPlayerSetVocation(p.cid, 38)
doCombat(p.cid, p.combat_stats_Frieza_f2, p.var)
doSendMagicEffect(getCreaturePosition(p.cid), 24)
end
local function onTransformFriezaF3(p)
local outfit_Frieza_f3 = { lookType = 23, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 }
doSetCreatureOutfit(p.cid, outfit_Frieza_f3, 60000)
doPlayerSetVocation(p.cid, 39)
doCombat(p.cid, p.combat_stats_Frieza_f3, p.var)
doSendMagicEffect(getCreaturePosition(p.cid), 24)
end
local function onTransformFriezaF4(p)
local outfit_Frieza_f4 = { lookType = 24, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 }
doSetCreatureOutfit(p.cid, outfit_Frieza_f4, 60000)
doPlayerSetVocation(p.cid, 40)
doCombat(p.cid, p.combat_stats_Frieza_f4, p.var)
doSendMagicEffect(getCreaturePosition(p.cid), 24)
end
local function onRevertFrieza(p)
doPlayerSendCancel(p.cid, "You revert to normal form.")
doSendMagicEffect(getCreaturePosition(p.cid), 24)
doPlayerSetVocation(p.cid, 14)
end
local function onTransformTeenGohanSS(p)
doPlayerSendCancel(p.cid, "You are now transformed.")
local outfit_TeenGohan_SS = { lookType = 76, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 }
doSetCreatureOutfit(p.cid, outfit_TeenGohan_SS, 60000)
doPlayerSetVocation(p.cid, 24)
doCombat(p.cid, p.combat_stats_SS, p.var)
doSendMagicEffect(getCreaturePosition(p.cid), 13)
end
local function onTransformTeenGohanSS2(p)
local outfit_TeenGohan_SS2 = { lookType = 77, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 }
doSetCreatureOutfit(p.cid, outfit_TeenGohan_SS2, 60000)
doPlayerSetVocation(p.cid, 25)
doCombat(p.cid, p.combat_stats_SS2, p.var)
doSendMagicEffect(getCreaturePosition(p.cid), 13)
end
local function onRevertTeenGohan(p)
doPlayerSendCancel(p.cid, "You revert to normal form.")
doSendMagicEffect(getCreaturePosition(p.cid), 13)
doPlayerSetVocation(p.cid, 4)
end
local function onTransformGotenSS(p)
local outfit_Goten_SS = { lookType = 35, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 }
doSetCreatureOutfit(p.cid, outfit_Goten_SS, 60000)
doPlayerSetVocation(p.cid, 32)
doCombat(p.cid, p.combat_stats_SS, p.var)
doSendMagicEffect(getCreaturePosition(p.cid), 13)
end
local function onTransformGotenSSFP(p)
local outfit_Goten_SS = { lookType = 35, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 }
doSetCreatureOutfit(p.cid, outfit_Goten_SS, 60000)
doPlayerSetVocation(p.cid, 33)
doCombat(p.cid, p.combat_stats_SS2, p.var)
doSendMagicEffect(getCreaturePosition(p.cid), 13)
end
local function onRevertGoten(p)
doPlayerSendCancel(p.cid, "You revert to normal form.")
doSendMagicEffect(getCreaturePosition(p.cid), 13)
doPlayerSetVocation(p.cid, 8)
end
local function onTransformVegetaSS(p)
local outfit_Vegeta_SS = { lookType = 90, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 }
doSetCreatureOutfit(p.cid, outfit_Vegeta_SS, 60000)
doPlayerSetVocation(p.cid, 21)
doCombat(p.cid, p.combat_stats_SS, p.var)
doSendMagicEffect(getCreaturePosition(p.cid), 13)
end
local function onTransformVegetaSS2(p)
local outfit_Vegeta_SS2 = { lookType = 94, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 }
doSetCreatureOutfit(p.cid, outfit_Vegeta_SS2, 60000)
doPlayerSetVocation(p.cid, 22)
doCombat(p.cid, p.combat_stats_SS2, p.var)
doSendMagicEffect(getCreaturePosition(p.cid), 13)
end
local function onTransformVegetaM(p)
local outfit_Vegeta_M = { lookType = 89, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 }
doSetCreatureOutfit(p.cid, outfit_Vegeta_M, 60000)
doPlayerSetVocation(p.cid, 23)
doCombat(p.cid, p.combat_stats_SS3, p.var)
doSendMagicEffect(getCreaturePosition(p.cid), 13)
end
local function onRevertVegeta(p)
doPlayerSendCancel(p.cid, "You revert to normal form.")
doSendMagicEffect(getCreaturePosition(p.cid), 13)
doPlayerSetVocation(p.cid, 3)
end
local function onTransformFutureTrunksSS(p)
local outfit_Future_Trunks_SS = { lookType = 28, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 }
doSetCreatureOutfit(p.cid, outfit_Future_Trunks_SS, 60000)
doPlayerSetVocation(p.cid, 28)
doCombat(p.cid, p.combat_stats_SS, p.var)
doSendMagicEffect(getCreaturePosition(p.cid), 13)
end
local function onTransformFutureTrunksSS2(p)
local outfit_Future_Trunks_SS2 = { lookType = 93, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 }
doSetCreatureOutfit(p.cid, outfit_Future_Trunks_SS2, 60000)
doPlayerSetVocation(p.cid, 29)
doCombat(p.cid, p.combat_stats_SS2, p.var)
doSendMagicEffect(getCreaturePosition(p.cid), 13)
end
local function onRevertFutureTrunks(p)
doPlayerSendCancel(p.cid, "You revert to normal form.")
doSendMagicEffect(getCreaturePosition(p.cid), 13)
doPlayerSetVocation(p.cid, 6)
end
local function onTransformKrillinUP(p)
doPlayerSetVocation(p.cid, 34)
doCombat(p.cid, p.combat_stats_krillin, p.var)
doSendMagicEffect(getCreaturePosition(p.cid), 12)
end
local function onRevertKrillin(p)
doPlayerSendCancel(p.cid, "You revert to normal form.")
doSendMagicEffect(getCreaturePosition(p.cid), 15)
doPlayerSetVocation(p.cid, 9)
end

function onCastSpell(cid, var)
CHAR = getPlayerVocation(cid)
LVL = getPlayerLevel(cid)
local p = {cid = cid, var = var, combat_stats_SS = combat_stats_SS, combat_stats_SS2 = combat_stats_SS2, combat_stats_SS3 = combat_stats_SS3, combat_stats_Frieza_f1 = combat_stats_Frieza_f1, combat_stats_Frieza_f2 = combat_stats_Frieza_f2, combat_stats_Frieza_f3 = combat_stats_Frieza_f3}
if(exhaust(cid, PSV_TRANSFORM, 64) == 1) then
if CHAR == 2 and LVL >= 30 then
	addEvent(onTransformGokuSS, 1000, p)
	addEvent(onTransformGokuSS2, 2000, p)
	addEvent(onTransformGokuSS3, 3000, p)
	addEvent(onRevertGoku, 63000, p)
elseif CHAR == 2 and LVL >= 20 then
	addEvent(onTransformGokuSS, 1000, p)
	addEvent(onTransformGokuSS2, 2000, p)
	addEvent(onRevertGoku, 63000, p)
elseif CHAR == 2 and LVL >= 10 then
	addEvent(onTransformGokuSS, 1000, p)
	addEvent(onRevertGoku, 63000, p)
else
	doPlayerSendCancel(cid, "You don't have enought level.")
end
if CHAR == 14 and LVL >= 30 then
	addEvent(onTransformFriezaF2, 1000, p)
	addEvent(onTransformFriezaF3, 2000, p)
	addEvent(onTransformFriezaF4, 3000, p)
	addEvent(onRevertFrieza, 63000, p)
elseif CHAR == 14 and LVL >= 20 then
	addEvent(onTransformFriezaF1, 1000, p)
	addEvent(onTransformFriezaF2, 2000, p)
	addEvent(onRevertFrieza, 63000, p)
elseif CHAR == 14 and LVL >= 10 then
	addEvent(onTransformFriezaF1, 1000, p)
	addEvent(onRevertFrieza, 63000, p)
else
	doPlayerSendCancel(cid, "You don't have enought level.")
end
if CHAR == 4 and LVL >= 30 then
	addEvent(onTransformTeenGohanSS, 1000, p)
	addEvent(onTransformTeenGohanSS2, 2000, p)
	addEvent(onRevertTeenGohan, 63000, p)
elseif CHAR == 4 and LVL >= 20 then
	addEvent(onTransformTeenGohanSS, 1000, p)
	addEvent(onRevertTeenGohan, 62000, p)
else
	doPlayerSendCancel(cid, "You don't have enought level.")
end
if CHAR == 8 and LVL >= 10 then
	addEvent(onTransformGotenSS, 1000, p)
	addEvent(onTransformGotenSSFP, 2000, p)
	addEvent(onRevertGoten, 62000, p)
else
	doPlayerSendCancel(cid, "You don't have enought level.")
end
if CHAR == 3 and LVL >= 30 then
	addEvent(onTransformVegetaSS, 1000, p)
	addEvent(onTransformVegetaSS2, 2000, p)
	addEvent(onTransformVegetaM, 3000, p)
	addEvent(onRevertVegeta, 63000, p)
elseif CHAR == 3 and LVL >= 20 then
	addEvent(onTransformVegetaSS, 1000, p)
	addEvent(onTransformVegetaSS2, 2000, p)
	addEvent(onRevertVegeta, 63000, p)
elseif CHAR == 3 and LVL >= 10 then
	addEvent(onTransformVegetaSS, 1000, p)
	addEvent(onRevertVegeta, 63000, p)
else
	doPlayerSendCancel(cid, "You don't have enought level.")
end
if CHAR == 6 and LVL >= 30 then
	addEvent(onTransformFutureTrunksSS, 1000, p)
	addEvent(onTransformFutureTrunksSS2, 2000, p)
	addEvent(onRevertFutureTrunks, 63000, p)
elseif CHAR == 6 and LVL >= 20 then
	addEvent(onTransformFutureTrunksSS, 1000, p)
	addEvent(onRevertFutureTrunks, 62000, p)
else
	doPlayerSendCancel(cid, "You don't have enought level.")
end
if CHAR == 9 and LVL >= 20 then
	addEvent(onTransformKrillinUP, 1000, p)
	addEvent(onRevertKrillin, 61000, p)
else
	doPlayerSendCancel(cid, "You don't have enought level.")
end
else
	doPlayerSendCancel(cid, "You are already transformed.")
end

end

A jak wiesz dlaczego w tamtym moim skrypcie nic sie niedzieje ponizej 100 many to napraw tamten.
 
Ostatnia edycja:
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

Siema, nie umiem si? doliczy?, kt?ry to post o skrypt dlatego je?li jest on 4+ prosz? o usuni?cie i z g?ry sory.
Wersja tibii : 8.42
Silnik : TFS 0.3.4.1879
Tre?? b??du / opis b??du : Nie daje exp zale?nie od lvlu gracza tylko zawsze pelny lvl.
Skrypt :
Kod:
--The War Server v1.2 (Crying lef)---------------------------------------------------
--by Keraxel-------------------------------------------------------------------------
--for otcentrum.pl && otland.net-----------------------------------------------------
--Thanks to: TFS Developers (TFS), Masiar (awesome blowjobs)-------------------------
--do not remove this comments!-------------------------------------------------------
-------------------------------------------------------------------------------------
--based on The Forgotten Server 0.3.4pl2---------------------------------------------
--ALL done in lua!-------------------------------------------------------------------
-------------------------------------------------------------------------------------
--If you found any bug report it on a site(s) bellow:--------------------------------
--http://otland.net.pl/dystrybucje/38-8-42-war-server-v1-1-crying-lef.html-----------
--http://otland.net/f18/8-4-war-server-v1-0-a-25886/---------------------------------
-------------------------------------------------------------------------------------
--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--
RUNES = {} --[[##do not touch it!##]]
-- {antibot, normal}
RUNES.UH = {2275, 2273}
RUNES.SD = {2263, 2268}
RUNES.EXPLO = {2312, 2313}
RUNES.HMM = {2314, 2311}
RUNES.GFB = {2307, 2304}
RUNES.PBOMB = {2270, 2286}
RUNES.EBOMB = {2282, 2262}
RUNES.FBOMB = {2306, 2305}
RUNES.MW = {2294, 2293}
GLOBAL_RUNE_TYPE = 2
if ANTIBOT_RUNES then
	GLOBAL_RUNE_TYPE = 1
end
ITEMS = {} --[[##do not touch it!##]]
--for empty slot use nil or false
--[[sorcerer]] ITEMS[5] = {
7902, --1 // head // glacier mask
7888, --2 // necakle // glacier amulet
2002, --3 // backpack // blue backpack
7897, --4 // armor // glacier robe
2534, --5 // right hand // wand of vortex
2190, --6 // left hand // spellbook of vampire
7896, --7 // legs // glacier kilt
7892, --8 // feet // glacier shoes
2165, --9 // ring // stealth ring
nil, --10 // ammo slot // EMPTY
----
--items to a backpack -- {id, inBackpack[, count/subtype]}
----
{2273, false}, --uh
{2274, false}, --avalanche
{2271, false}, --icicle
{2305, false}, --firebomb
{2261, false}, --destory field
{2293, false}, --magic wall
{8704, false}, --small health potion
{7620, false}, --mana
{7589, false}, --strong mana
{7590, false}, --great mana
}
--[[druid]] ITEMS[6] = {
7903, --1 // head // terra hood
7887, --2 // necakle // terra amulet
3940, --3 // backpack // camouflage backpack
7884, --4 // armor // terra mantle
2518, --5 // right hand // snakebite rod
2182, --6 // left hand // spellbook of dark mysteries
7885, --7 // legs // terra legs
7886, --8 // feet // terra boots
2168, --9 // ring // life ring
nil, --10 // ammo slot // EMPTY
----
--items to a backpack -- {id, inBackpack[, count/subtype]}
----
{2273, false}, --uh
{2274, false}, --avalanche
{2271, false}, --icicle
{2305, false}, --firebomb
{2261, false}, --destory field
{2293, false}, --magic wall
{2278, false}, --paralyze
{8704, false}, --small health potion
{7620, false}, --mana
{7589, false}, --strong mana
{7590, false}, --great mana
}
--[[paladin]] ITEMS[7] = {
2493, --1 // head // demon helmet
2133, --2 // necakle // ruby necklace
2000, --3 // backpack // red backpack
2494, --4 // armor // demon armor
2520, --5 // right hand // assassin star
7368, --6 // left hand // demon shield
2495, --7 // legs // demon legs
9933, --8 // feet // firewalker boots
2214, --9 // ring // ring of healing
nil, --10 // ammo slot // infernal bolts
----
--items to a backpack -- {id, inBackpack[, count/subtype]}
----
{2273, false}, --uh
{2295, false}, --holy missile
{2305, false}, --firebomb
{2261, false}, --destory field
{2293, false}, --magic wall
{7620, false}, --mana
{7589, false}, --strong mana
{8704, false}, --small health potion
{7618, false}, --health potion
{7588, false}, --strong health potion
{8472, false}, --great spirit
}
--[[knight]] ITEMS[8] = {
2471, --1 // head // golden helmet
2139, --2 // necakle // ancient tiara
2004, --3 // backpack // golden backpack
2466, --4 // armor // golden armor
2524, --5 // right hand // golden sword
8931, --6 // left hand // ornamented shield
2470, --7 // legs // golden legs
2646, --8 // feet // golden boots
2164, --9 // ring // might ring
nil, --10 // ammo slot // EMPTY
----
--items to a backpack -- {id, inBackpack[, count/subtype]}
----
{2273, false}, --uh
{2313, false}, --explosion
{2305, false}, --firebomb
{2261, false}, --destory field
{2293, false}, --magic wall
{7620, false}, --mana
{8704, false}, --small health
{7618, false}, --health
{7588, false}, --strong health
{7591, false}, --great health
{8473, false}, --ultimate health
}
ITEMS[1], ITEMS[2], ITEMS[3], ITEMS[4] = ITEMS[5], ITEMS[6], ITEMS[7], ITEMS[8]
ITEMS[0] = ITEMS[1] --prevents debugs
STORAGE = {
	PLAYER = {
		TEAM_INFO = 40000
	},
	GLOBAL = {
		TEAMS = {40001, 40002},
		TEAMS_COUNT = {40011, 40012},
		AREA_ID = 40020
	}
}
--[[ ##do not change anything below this line!## ]]
BAG_OF_SSA = getBooleanFromString(getConfigValue("addBagOfSSA"))
ANTIBOT_RUNES = getBooleanFromString(getConfigValue("antibotRunes"))
LEVEL_GAIN_FOR_KILL = tonumber(getConfigValue("levelGainForKill"))
ANTI_RELOG_TIME = tonumber(getConfigValue("antiRelogTime"))
DEFAULT_LEVEL = tonumber(getConfigValue("defaultLevel"))
MAXIMUM_LEVEL = tonumber(getConfigValue("maximumLevel"))
INITIALIZED = false
---------------------------------------------------------------------
---------------------------------------------------------------------
---------------------------------------------------------------------
map = {	
	towns = {
		{"Fibula", {2, 3}},
		{"Venore", {5, 6}},
		{"Edron", {8, 9}},
		{"Thais", {11, 12}},
		{"Rook by Delton", {14, 15}}
	},
	get = function ()
		return getGlobalStorageValue(STORAGE.GLOBAL.AREA_ID)
	end,
	removeIssue = function ()
		if map.get() < 1 or map.get() > #map.towns then
			print("map.removeIssue: issue has been removed :: map was ".. map.get())
			return setGlobalStorageValue(STORAGE.GLOBAL.AREA_ID, 1)
		end
		return FALSE
	end,
	set = function ()
		map.removeIssue()
		return setGlobalStorageValue(STORAGE.GLOBAL.AREA_ID, (map.get() % #map.towns) + 1)
	end
}
playerTeam = {
	get = function (cid)
			return ((getPlayerStorageValue(cid, STORAGE.PLAYER.TEAM_INFO) == STORAGE.GLOBAL.TEAMS[1]) and 1) or 2
	end,
	set = function (cid, id)
		return setPlayerStorageValue(cid, STORAGE.PLAYER.TEAM_INFO, id)
	end
}
teamCount = {
	get = function (teamId)
		return getGlobalStorageValue(STORAGE.GLOBAL.TEAMS_COUNT[teamId])
	end,
	add = function (teamId, count)
		return setGlobalStorageValue(STORAGE.GLOBAL.TEAMS_COUNT[teamId], teamCount.get(teamId) + count)
	end,
	rem = function (teamId, count)
		return teamCount.add(teamId, -count)
	end
}
doPlayerSetTeam = {
	login = function (cid)
		if getPlayerAccess(cid) < 3 then
			local time = ANTI_RELOG_TIME or 2000
			doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
			doPlayerAddSoul(cid, -getPlayerSoul(cid))
			doSendMagicEffect(getCreaturePosition(cid), 37)
		end
--		print("Team 1 count: "..teamCount.get(1).."\nTeam 2 count: "..teamCount.get(2))
		return TRUE
	end,
	logout = function (cid)
		if getPlayerAccess(cid) < 3 then
			local team = playerTeam.get(cid)
--			print("playerTeam.get(cid): "..team)
			teamCount.rem(team, 1)
			playerTeam.set(cid, FALSE)
--			print("Team 1 count: "..teamCount.get(1).."\nTeam 2 count: "..teamCount.get(2))
		end
		return TRUE
	end
}
function getSmallestTeam()
	return (teamCount.get(1) > teamCount.get(2) and 2) or 1
end
function doPlayerSetLevel(cid, level)
	return doPlayerAddExperience(cid, (getExperienceForLevel(level) - getPlayerExperience(cid)))
end
function doPlayerAddLevel(cid, amount)
	return doPlayerAddExperience(cid, getExperienceForLevel(getPlayerLevel(cid) + amount) - getPlayerExperience(cid))
end
function doResetTeams(teams)
	for team = 1, #teams do
		setGlobalStorageValue(teams[team], 0)
	end
	return true
end
function getPlayerExp(cid)
		local lvl = getPlayerLevel(cid) - 1
	if lvl >= 1 then
		exp = (50 * (lvl) * (lvl) * (lvl) - 150 * (lvl) * (lvl) + 400 * (lvl)) / 3
	else
		exp = 100
	end
	return exp
end
function doInitializeServer()
		doResetTeams(STORAGE.GLOBAL.TEAMS_COUNT)
		INIT = true
		return print(">>>>..::War has been initialized::..<<<<")
end
if not(INIT) then
	addEvent(doInitializeServer, 0)
end
function onKillPlayer(cid, lastHitKiller, mostDamageKiller)
	if isPlayer(cid) then
		if isPlayer(lastHitKiller) then
			doPlayerAddSoul(lastHitKiller, 1)
			doSendAnimatedText(getCreaturePosition(lastHitKiller), "FRAG!", 144, lastHitKiller)
			if isPlayer(mostDamageKiller) and mostDamageKiller ~= lastHitKiller then
				doPlayerAddSoul(mostDamageKiller, 1)
				doSendAnimatedText(getCreaturePosition(mostDamageKiller), "FRAG!", 150, mostDamageKiller)
			end
			if getBooleanFromString(getConfigValue("experienceByKillingPlayers")) and  lastHitKiller ~= cid then
				if BAG_OF_SSA and lastHitKiller ~= cid then
					doPlayerBuyItemContainer(lastHitKiller, 1996, 2197, 1, 0, 5)
					if mostDamageKiller ~= lastHitKiller then
						doPlayerBuyItemContainer(mostDamageKiller, 1996, 2197, 1, 0, 5)
					end
				end
				local gainLevel = LEVEL_GAIN_FOR_KILL
				if  tonumber(gainLevel) == nil then
					gainLevel = math.floor(getPlayerExp(cid) * 0.12) --here you can configure how many level will be added to killer(s)
				end
				--print("lastHitKiller: ".. lastHitKiller) print("mostDamageKiller: ".. mostDamageKiller) print("cid: ".. cid) print("MAXIMUM_LEVEL:") print(MAXIMUM_LEVEL)
				--print("\n\n\n") print(lastHitKiller ~= cid) print(MAXIMUM_LEVEL == nil) print(getPlayerLevel(mostDamageKiller) < MAXIMUM_LEVEL)
				if (lastHitKiller ~= cid) and ((MAXIMUM_LEVEL == nil) or (getPlayerExp(lastHitKiller) < MAXIMUM_LEVEL)) then
					doPlayerAddLevel(lastHitKiller, gainLevel)
				end
				if ((mostDamageKiller ~= lastHitKiller) and (mostDamageKiller ~= cid)) and ((MAXIMUM_LEVEL == nil) or (getPlayerLevel(mostDamageKiller) < MAXIMUM_LEVEL)) then
					doPlayerAddLevel(mostDamageKiller, gainLevel)
				end
			end
		end
		if tonumber(DEFAULT_LEVEL) ~= nil then
			doPlayerSetLevel(cid, DEFAULT_LEVEL)
		end
		local oldPosition = getCreaturePosition(cid)
		doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
		doCreatureAddHealth(cid, getCreatureMaxHealth(cid), TRUE)
		doCreatureAddMana(cid, (getCreatureMaxMana(cid) - getCreatureMana(cid)))
		doSendMagicEffect(getCreaturePosition(cid), 37)
		doSendMagicEffect(oldPosition, 2)
		doRemoveConditions(cid, FALSE)
		doPlayerAddSoul(cid, -getPlayerSoul(cid))
		return FALSE
	end
	return TRUE
end
function doPlayerShowFragsCount(cid, thing, position, lookDistance)
	if isPlayer(thing.uid) and getPlayerAccess(thing.uid) < 3 then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Frags: " .. getPlayerSoul(thing.uid))
	end
	return TRUE
end
Ewentualne uwagi : Chcia?bym aby gracz, kt?ry zabije innego dostawa? expa zale?nie od lvla tak jak to jest na Maxis War. A tutaj dostaje sie zawsze 100% lvla
Z g?ry dzi?ki,
M?ody
 
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

Wersja tibii : 8.50
Silnik : TFS 0.3.4.1879 (WAR)
Tre?? b??du / opis b??du : ACC: B??d z createaccount.php u?ywam ACC makera Gesior 0.3.0[8.x][SQL] i przerobi?em go pod 8.50 wszystko dzia?a oprucz createaccount.php. B??d polega dok?adnie na tym ?e w kolumnie ID tworzy si? account kt?ry kto? poda? a w kolumnie name zapisuje si? jako? (Dd2385A5fd452j co? w tym stylu) i nie da si? logowa? do gry... MD5 to nie jest chyba... obecnie mam zrobione w ten spos?b ?e na ko?cu pliku createaccount.php mam takie co?:
PHP:
<?
    // ??czymy si? z baz? danych
    $connection = @mysql_connect('localhost','XXX','XXX')
    or die('Brak po??czenia z serwerem MySQL');
    $db = @mysql_select_db('XXX', $connection)
    or die('Nie mog? po??czy? si? z baz? danych');
    
    // dadawanie serwera.Nie zmieniaj       INSERT INTO serwery SET!!!
    $ins = @mysql_query("UPDATE `accounts` SET `id` = `name`;");
?>
Ale to jest nie do ko?ca skuteczne bo czasami skrypt nie mo?e tego wywo?a? gdy? jak np account jest taki sam jak password podany. Chodzi mi o to aby ten account w kolumnie name zapisywa? si? tak jak w kolumnie ID a nie jako? "Dd2385A5fd452j".
Skrypt :
Link bo skrypt d?ugi i si? nie zmie?ci?:
Kod:
http://wklej.org/id/127499/
Ewentualne uwagi : Brak
 
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

Wersja tibii : 8.42
Silnik : TFS Mystic Spirit 0.2.3
Tre?? b??du / opis b??du : Takie b??dy mi w konsoli wywala bo mam stare skryptowanie tego NPC:
54925560.jpg


Skrypt:
Kod:
local focus = 0
local talk_start = 0
local target = 0
local cena = 1000000
local ticket = 15834
function onThingMove(creature, thing, oldpos, oldstackpos)
end
function onCreatureAppear(creature)
end
function onCreatureDisappear(cid, pos)
      if focus == cid then
          selfSay('Good bye then.')
          focus = 0
          talk_start = 0
      end
end
function onCreatureTurn(creature)
end
function msgcontains(txt, str)
      return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end
function onCreatureSay(cid, type, msg)
      msg = string.lower(msg)
      if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then
         selfSay('Hiho ' .. creatureGetName(cid) .. '! How may I help you '.. creatureGetName(cid)..'? I can sell tickets for the ore wagon service.')
         focus = cid
         talk_start = os.clock()
      elseif focus == cid then
        talk_start = os.clock()
        if msgcontains(msg, 'ticket') or msgcontains(msg, 'tickets') then
            selfSay('Do you want to purchase a weekly ticket for the ore wagons? With it you can travel freely and fast through Kazordoon for one week. '.. cena ..' gold only. Deal?')
            talk_state = 1
        elseif talk_state == 1 then
            if msgcontains(msg, 'yes') then
                if getPlayerStorageValue(cid, ticket) == -1 then
                    if doPlayerRemoveMoney(cid, cena) == TRUE then
                        if setPlayerStorageValue(cid, ticket, os.time() + 604800) == TURE then
                            selfSay('You have succesfull buy a weekly ticket for the ore wagon service.')
                        else
                            selfSay('Sory, i can\'t...')
                        end
                    else
                        selfSay('Sorry, you do not have enough money.')
                    end
                else
                    selfSay('You have buy a weekly ticket!')
                end
             end
            talk_state = 0
          elseif msgcontains(msg, 'bye')  and getDistanceToCreature(cid) < 4 then
              selfSay('Good bye, ' .. creatureGetName(cid) .. '!')
              focus = 0
              talk_start = 0
          end
      end
end
function onCreatureChangeOutfit(creature)
end
function onThink()
    doNpcSetCreatureFocus(focus)
      if (os.clock() - talk_start) > 30 then
          if focus > 0 then
              selfSay('Next Please...')
          end
              focus = 0
      end
     if focus ~= 0 then
         if getDistanceToCreature(focus) > 5 then
             selfSay('Good bye then.')
             focus = 0
         end
     end
end

Wszystko co potrzebne wyczytacie sobie ze skryptu a je?li nie prosz? o kontakt na PW. :p
 
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

Wersja tibii : 8.42
Silnik : TFS 0.2.3 (Mystic Spirit)
Tre?? b??du / opis b??du : Nie Chce Dzia?a? emote Spell, a Jest Zmieniona Tre?? w game.cpp
Skrypt :
Kod:
result = g_spells->playerSaySpell(player, type, text);
	if(result == TALKACTION_BREAK)
		return internalCreatureSay(player, SPEAK_SAY, text);
	else if(result == TALKACTION_FAILED)
		return true
Zmieniamy linijk?
t?
Kod:
return internalCreatureSay(player, SPEAK_SAY, text);
na t?
Kod:
return internalCreatureSay(player, SPEAK_MONSTER_SAY, text);
Jakie? Pytania Pisa? na PW.
 
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

Wersja Tibi:8.5
Silnik:Tfs 0.2.4 mystic spirit
Opis B?edu:Chcialem zrobic arenepvp ta co sie wniej bija ludzie i postanowilem zrobic to na przykladzie anhilatora tylko ze 2 osoby ,ale cos nie wyszlo.Prosz? o poprawienie.
-- annihilator lever

function onUse(cid, item, frompos, item2, topos)

if item.uid == 2876 and item.itemid == 1945 then
player1pos = {x=1040, y=987, z=8, stackpos=253}
player1 = getThingfromPos(player1pos)

player2pos = {x=1040, y=989, z=8, stackpos=253}
player2 = getThingfromPos(player2pos)


if player1.itemid > 0 and player2.itemid > 0 then
queststatus1 = getPlayerStorageValue(player1.uid,7000)
queststatus2 = getPlayerStorageValue(player2.uid,7000)

if queststatus1 == -1 and queststatus2 == -1 == -1 then
nplayer1pos = {x=1042, y=988, z=9}
nplayer2pos = {x=1051, y=988, z=9}

doSendMagicEffect(player1pos,2)
doSendMagicEffect(player2pos,2)

doTeleportThing(player1.uid,nplayer1pos)
doTeleportThing(player2.uid,nplayer2pos)

doSendMagicEffect(nplayer1pos,10)
doSendMagicEffect(nplayer2pos,10)

doTransformItem(item.uid,item.itemid+1)
else
end
else
doPlayerSendCancel(cid,"Do Areny Potrzeba 2 Graczy.")
end

elseif item.uid ==2876 and item.itemid == 1946 then
if getPlayerAccess(cid) > 0 then
doTransformItem(item.uid,item.itemid-1)
else
doPlayerSendCancel(cid,"Sorry, not possible.")
end
else
return 0
end

return 1
end
 
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

Elo nie dzia?a mi skrypt zostanie mieszka?cem danego miasta na podstawie x- y- z-

Wersja tibii : 8.1
Silnik : Aries 0.4.0
Tre?? b??du / opis b??du : Skrypt nie dzia?a
Skrypt :
Kod:
function onStepIn(cid, item, frompos, item2, topos)
if item.uid == 9898 then
doPlayerSetMasterPos(cid,{x=438, y=504, z=8})
doPlayerSendTextMessage(cid,22,"Zostales mieszkancem tego miasta!:)")
else
return 0
end
return 1
end

Z g?ry dzi?kuje
 
Ostatnia edycja:
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

Elo nie dzia?a mi skrypt zostanie mieszka?cem danego miasta na podstawie x- y- z-
Wersja tibii : 8.1
Silnik : Aries 0.4.0
Tre?? b??du / opis b??du : Skrypt nie dzia?a
Skrypt :
Kod:
function onStepIn(cid, item, frompos, item2, topos)
if item.uid == 9898 then
doPlayerSetMasterPos(cid,{x=438, y=504, z=8})
doPlayerSendTextMessage(cid,22,"Zostales mieszkancem tego miasta!:)")
else
return 0
end
return 1
end
Z g?ry dzi?kuje

Chcia?em u?ywa? tego skryptu do PVP Island, ?e je?eli padniesz respisz si? w 1 z 2 temple.
 
Ostatnia edycja:
Odp: [7.92+] Firma poprawiaj?ca skrypty by Ovner & Gelio

Wersja Tibi 8.5
Silnik:The forgotten server 0.2.4 mystic spirit
Opis B??du:Nie wiem jak ustawic zeby dzia?a?a arena svargrond!Zaraz Podam dalej .Chodzi mi oto zeby napsiac gdzie zmienic wspolrzedne co dodac:Pbo nie zabardzo umiem to:P
arena.lua
function onUse(cid, item, frompos, item2, topos)

if item.uid == 8001 and item.itemid == 1945 then

player1pos = {x=621, y=611, z=7, stackpos=253}
player1 = getThingfromPos(player1pos)


if player1.itemid > 0 then

queststatus1 = getPlayerStorageValue(player1.uid,8001)

if queststatus1 == -1 then
nplayer1pos = {x=585, y=612, z=7}

doSendMagicEffect(player1pos,2)

doTeleportThing(player1.uid,nplayer1pos)

doSendMagicEffect(nplayer1pos,10)

doTransformItem(item.uid,item.itemid+1)
else
doPlayerSendCancel(cid,"All players must have level 8 to enter.")
end
else
doPlayerSendCancel(cid,"Pise no quadrado estupido")
end

elseif item.uid ==8001 and item.itemid == 1946 then
if getPlayerAccess(cid) > 0 then
doTransformItem(item.uid,item.itemid-1)
else
doPlayerSendCancel(cid,"O ADM nao sabe pq os players nao conseguem puxar agora chame qualquer gm")
end
else
return 0
end

return 1
end

To arena door tu tez nie wiem:(
--Function by Ta4e 28/09/2008--
--90% Arena quest in tibia rl--
--Version 4.0--

function onUse(cid, item, fromPosition, itemEx, toPosition)


--Storages of Arena NPC--
greenhorn = 5000
scrapper = 5001
warlord = 5002

starting={x=90, y=45, z=7, stackpos=253}
ending={x=143, y=109, z=7, stackpos=253}
trash= {x=100, y=70, z=9}


---------------------------------------------------------------------------------------------------------------------
greenhornstatus = getPlayerStorageValue(cid,greenhorn)
scrapperstatus = getPlayerStorageValue(cid,scrapper)
warlordstatus = getPlayerStorageValue(cid,warlord)
checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos}

if item.itemid == 5132 and item.actionid == 60000 then
if warlordstatus == 1 or scrapperstatus == 1 or greenhornstatus == 1 then
players=0
totalmonsters=0
monster = {}
repeat
creature= getThingfromPos(checking)
if creature.itemid > 0 then
if getPlayerAccess(creature.uid) == 0 then
players=players+1
end
if getPlayerAccess(creature.uid) ~= 0 and getPlayerAccess(creature.uid) ~= 3 then
totalmonsters=totalmonsters+1
monster[totalmonsters]=creature.uid
end
end
checking.x=checking.x+1
if checking.x>ending.x then
checking.x=starting.x
checking.y=checking.y+1
end
until checking.y>ending.y
if players==0 then
current=0
repeat
current=current+1
doTeleportThing(monster[current],trash)
until current>=totalmonsters

doTransformItem(item.uid, 5133)
doTeleportThing(cid, toPosition, TRUE)

end
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You need permission of Halvar to enter in Arena.")
end

end
end

arenareward.lua:
function onUse(cid, item, fromPosition, itemEx, toPosition)
if item.actionid >= 42361 and item.actionid <= 42365 and getPlayerStorageValue(cid, 42361) ~= 1 then
local reward = 0
if item.actionid == 42361 then
reward = doCreateItemEx(1990,1)
doAddContainerItem(reward, 7372, 1)
doAddContainerItem(reward, 6569, 10)
doAddContainerItem(reward, 6574, 1)
doAddContainerItem(reward, 2114, 1)
elseif item.actionid == 42362 then
reward = doCreateItemEx(7406,1)
elseif item.actionid == 42363 then
reward = doCreateItemEx(7380,1)
elseif item.actionid == 42364 then
reward = doCreateItemEx(7392,1)
elseif item.actionid == 42365 then
reward = doCreateItemEx(7342,1)
doAddContainerItem(reward, 7365, 100)
doAddContainerItem(reward, 7364, 100)
end

local additem = doPlayerAddItemEx(cid, reward, 0)
if additem == RETURNVALUE_NOERROR then
doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,'You found ' .. getItemNameById(getThing(reward).itemid) .. '.')
setPlayerStorageValue(cid, 42361, 1)
else
doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,'You do not have enough place in your backpack or lifting, in order to take away this object.')
end
elseif item.actionid >= 42371 and item.actionid <= 42375 and getPlayerStorageValue(cid, 42371) ~= 1 then
local reward = 0
if item.actionid == 42371 then
reward = doCreateItemEx(1990,1)
doAddContainerItem(reward, 7372, 1)
doAddContainerItem(reward, 6569, 10)
doAddContainerItem(reward, 6574, 1)
doAddContainerItem(reward, 7183, 1)
elseif item.actionid == 42372 then
reward = doCreateItemEx(7384,1)
elseif item.actionid == 42373 then
reward = doCreateItemEx(7389,1)
elseif item.actionid == 42374 then
reward = doCreateItemEx(7415,1)
elseif item.actionid == 42375 then
reward = doCreateItemEx(7342,1)
doAddContainerItem(reward, 7365, 100)
doAddContainerItem(reward, 2547, 100)
doAddContainerItem(reward, 2547, 100)
doAddContainerItem(reward, 2311, 50)
doAddContainerItem(reward, 2304, 50)



end
local additem = doPlayerAddItemEx(cid, reward, 0)
if additem == RETURNVALUE_NOERROR then
doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,'You found ' .. getItemNameById(getThing(reward).itemid) .. '.')
setPlayerStorageValue(cid, 42371, 1)
else
doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,'You do not have enough place in your backpack or lifting, in order to take away this object.')
end
elseif item.actionid >= 42381 and item.actionid <= 42385 and getPlayerStorageValue(cid, 42381) ~= 1 then
local reward = 0
if item.actionid == 42381 then
reward = doCreateItemEx(1990,1)
doAddContainerItem(reward, 7372, 1)
doAddContainerItem(reward, 6569, 10)
doAddContainerItem(reward, 6574, 1)
doAddContainerItem(reward, 6568, 1)
elseif item.actionid == 42382 then
reward = doCreateItemEx(7429,1)
elseif item.actionid == 42383 then
reward = doCreateItemEx(7434,1)
elseif item.actionid == 42384 then
reward = doCreateItemEx(7390,1)
elseif item.actionid == 42385 then
reward = doCreateItemEx(7342,1)
doAddContainerItem(reward, 2273, 50)
doAddContainerItem(reward, 2268, 50)
doAddContainerItem(reward, 7443, 1)
doAddContainerItem(reward, 7440, 1)
doAddContainerItem(reward, 6529, 100)
end
local additem = doPlayerAddItemEx(cid, reward, 0)
if additem == RETURNVALUE_NOERROR then
doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,'You found ' .. getItemNameById(getThing(reward).itemid) .. '.')
setPlayerStorageValue(cid, 42381, 1)
else
doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,'You do not have enough place in your backpack or lifting, in order to take away this object.')
end
end
return TRUE
end
 
Status
Zamknięty.
Do góry