AkaiNight

Registered Users
  • Content count

    121
  • Joined

  • Last visited

Community Reputation

5 Neutral

About AkaiNight

  • Rank
    Member

Recent Profile Visitors

876 profile views
  1. Well i'm searching for some codes for custom weapon and i'll cut it short. I need a code for dash like ruby but i try to use rubys code but it is not works. And also i need code for area damage. Thanks for help.
  2. Making switchable weapon

    Well i just have 18-20 items but i can try this.
  3. Making switchable weapon

    is it possible to make a item can switch lua files?
  4. First of all forgive my english it's not my main language and i'm not sure that i can explain correctly what i want. I'm making a custom weapon which switchable with other forms it must have a main form and with hotkeys it must change another.(I hope that it's understandable) all of weapons have different textures and different abilites (sword, bow, speat, scythe) and i don't know how to make all of them in 1 .lua i hope it is understandable
  5. same error i tried everything but still same error so i'm making my weapon again from start i hope this time it'll work.
  6. Game starts without any error
  7. Well i don't know so much about coding a weapon and i can only find this way to do if you have better idea i can try because it seems like this way does not work
  8. [00:02:48]: [string "scripts/components/inventory.lua"]:637: attempt to index local 'inst' (a nil value) LUA ERROR stack traceback: scripts/components/inventory.lua:637 in (method) GiveItem (Lua) <636-769> scripts/prefabs/player_common.lua:1941 in (method) OnNewSpawn (Lua) <1937-1949> scripts/networking.lua:250 in () ? (Lua) <238-256> =[C]:-1 in (method) SendSpawnRequestToServer (C) <-1--1> scripts/mainfunctions.lua:1289 in (local) cb (Lua) <1287-1290> scripts/frontend.lua:541 in (method) DoFadingUpdate (Lua) <505-545> scripts/frontend.lua:593 in (method) Update (Lua) <553-710> scripts/update.lua:92 in () ? (Lua) <33-129> well here is crash log and here is my swords code i believe it's causes error local assets = { --sword + -- Asset("ANIM", "anim/fuingetsu.zip"), -- Asset("ANIM", "anim/swap_fuingetsu.zip"), -- Asset("ATLAS", "images/inventoryimages/fuingetsu.xml"), -- Asset("IMAGE", "images/inventoryimages/fuingetsu.tex"), -------------------------------------------------------------------------- --hammer + -- Asset("ANIM", "anim/hakai.zip"), -- Asset("ANIM", "anim/swap_hakai.zip"), --Asset("ATLAS", "images/inventoryimages/hakai.xml"), -- Asset("IMAGE", "images/inventoryimages/hakai.tex"), --------------------------------------------------------------------------- --icicle + -- Asset("ANIM", "anim/kinshara.zip"), -- Asset("ANIM", "anim/swap_kinshara.zip"), -- Asset("ATLAS", "images/inventoryimages/kinshara.xml"), -- Asset("IMAGE", "images/inventoryimages/kinshara.tex"), --------------------------------------------------------------------------- --pen --Asset("ANIM", "anim/tsuitou.zip"), -- Asset("ANIM", "anim/swap_tsuitou.zip"), -- Asset("ATLAS", "images/inventoryimages/tsuitou.xml"), -- Asset("IMAGE", "images/inventoryimages/tsuitou.tex"), -------------------------------------------------------------------------- --bow + -- Asset("ANIM", "anim/shinsou.zip"), -- Asset("ANIM", "anim/swap_shinsou.zip"), -- Asset("ATLAS", "images/inventoryimages/shinsou.xml"), -- Asset("IMAGE", "images/inventoryimages/shinsou.tex"), --------------------------------------------------------------------------- --light staff -- Asset("ANIM", "anim/raika.zip"), -- Asset("ANIM", "anim/swap_raika.zip"), -- Asset("ATLAS", "images/inventoryimages/raika.xml"), -- Asset("IMAGE", "images/inventoryimages/raika.tex"), --------------------------------------------------------------------------- --axe + -- Asset("ANIM", "anim/tobiume.zip"), -- Asset("ANIM", "anim/swap_tubiume.zip"), -- Asset("ATLAS", "images/inventoryimages/tobiume.xml"), -- Asset("IMAGE", "images/inventoryimages/tobiume.tex"), -------------------------------------------------------------------------- --scythe + -- Asset("ANIM", "anim/shirayuki.zip"), -- Asset("ANIM", "anim/swap_shirayuki.zip"), -- Asset("ATLAS", "images/inventoryimages/shirayuki.xml"), -- Asset("IMAGE", "images/inventoryimages/shirayuki.tex"), --------------------------------------------------------------------------- --spear + -- Asset("ANIM", "anim/shiden.zip"), -- Asset("ANIM", "anim/swap_shiden.zip"), -- Asset("ATLAS", "images/inventoryimages/shiden.xml"), -- Asset("IMAGE", "images/inventoryimages/shiden.tex"), --------------------------------------------------------------------------- } local prefabs = { } local function OnEquip(inst, owner) owner.AnimState:OverrideSymbol("swap_object", "swap_kinshara", "symbol0") owner.AnimState:Show("ARM_carry") owner.AnimState:Hide("ARM_normal") end local function OnUnequip(inst, owner) owner.AnimState:Hide("ARM_carry") owner.AnimState:Show("ARM_normal") end local function onattack_kinshara(inst, attacker, target) player.components.talker:Say("Wingardium Levi... What do you expect me to do with that? Nya~") end local function fn() local inst = CreateEntity() inst.entity:AddTransform() inst.entity:AddAnimState() inst.entity:AddNetwork() MakeInventoryPhysics(inst) inst:AddComponent("talker") inst.AnimState:SetBank("kinshara") inst.AnimState:SetBuild("kinshara") inst.AnimState:PlayAnimation("idle") inst.components.weapon:SetOnAttack(onattack_kinshara) inst:AddComponent("inventoryitem") inst.components.inventoryitem.keepondeath = true inst.components.inventoryitem.imagename = "kinshara" inst.components.inventoryitem.atlasname = "images/inventoryimages/kinshara.xml" inst:AddComponent("equippable") inst.components.equippable:SetOnEquip( OnEquip ) inst.components.equippable:SetOnUnequip( OnUnequip ) inst.components.inventoryitem.keepondeath = true if owner HasTag("swarduser") then --item turning to sword local function OnEquip(inst, owner) owner.AnimState:OverrideSymbol("swap_object", "swap_fuingetsu", "symbol0") owner.AnimState:Show("ARM_carry") owner.AnimState:Hide("ARM_normal") end local function OnUnequip(inst, owner) owner.AnimState:Hide("ARM_carry") owner.AnimState:Show("ARM_normal") end local function fn() local inst = CreateEntity() inst.entity:AddTransform() inst.entity:AddAnimState() inst.entity:AddNetwork() MakeInventoryPhysics(inst) inst.AnimState:SetBank("fuingetsu") inst.AnimState:SetBuild("fuingetsu") inst.AnimState:PlayAnimation("idle") inst.entity:SetPristine() inst:AddTag("sharp") inst:AddTag("fuingetsu") if not TheWorld.ismastersim then return inst end inst:AddComponent("inspectable") inst:AddComponent("weapon") inst.components.weapon:SetDamage(40) inst.components.weapon.attackrange = 1.1 inst.components.weapon.hitrange = 1.1 inst:AddComponent("inventoryitem") inst.components.inventoryitem.keepondeath = true inst.components.inventoryitem.imagename = "fuingetsu" inst.components.inventoryitem.atlasname = "images/inventoryimages/fuingetsu.xml" inst:AddComponent("equippable") inst.components.equippable:SetOnEquip( OnEquip ) inst.components.equippable:SetOnUnequip( OnUnequip ) inst.components.inventoryitem.keepondeath = true end end if owner HasTag("hammeruser") then --item turning to hammer local function OnEquip(inst, owner) owner.AnimState:OverrideSymbol("swap_object", "swap_hakai", "symbol0") owner.AnimState:Show("ARM_carry") owner.AnimState:Hide("ARM_normal") end local function OnUnequip(inst, owner) owner.AnimState:Hide("ARM_carry") owner.AnimState:Show("ARM_normal") end local function fn() local inst = CreateEntity() inst.entity:AddTransform() inst.entity:AddAnimState() inst.entity:AddNetwork() MakeInventoryPhysics(inst) inst.AnimState:SetBank("hakai") inst.AnimState:SetBuild("hakai") inst.AnimState:PlayAnimation("idle") inst.entity:SetPristine() inst:AddTag("hakai") if not TheWorld.ismastersim then return inst end inst:AddComponent("inspectable") inst:AddComponent("tool") inst.components.tool:SetAction(ACTIONS.HAMMER, 1) inst.components.weapon.attackrange = 1.1 inst.components.weapon.hitrange = 1.1 inst:AddComponent("inventoryitem") inst.components.inventoryitem.keepondeath = true inst.components.inventoryitem.imagename = "hakai" inst.components.inventoryitem.atlasname = "images/inventoryimages/hakai.xml" inst:AddComponent("equippable") inst.components.equippable:SetOnEquip( OnEquip ) inst.components.equippable:SetOnUnequip( OnUnequip ) inst.components.inventoryitem.keepondeath = true end end if owner HasTag("bowuser") then --item turning to bow local function OnEquip(inst, owner) owner.AnimState:OverrideSymbol("swap_object", "swap_shinsou", "symbol0") owner.AnimState:Show("ARM_carry") owner.AnimState:Hide("ARM_normal") end local function OnUnequip(inst, owner) owner.AnimState:Hide("ARM_carry") owner.AnimState:Show("ARM_normal") end local function onattack_shinsou(inst, attacker, target) if attacker and attacker.components.sanity then attacker.components.sanity:DoDelta(-5) elseif attacker and attacker.components.sanity < 10 then player.components.talker:Say("I... can't... aim... did i say it right? Nya~") end end local function fn() local inst = CreateEntity() inst.entity:AddTransform() inst.entity:AddAnimState() inst.entity:AddNetwork() MakeInventoryPhysics(inst) inst.components.weapon:SetOnAttack(onattack_shinsou) inst.AnimState:SetBank("shinsou") inst.AnimState:SetBuild("shinsou") inst.AnimState:PlayAnimation("idle") inst.entity:SetPristine() inst:AddTag("shinsou") inst.AddTag("bow") inst:AddComponent("weapon") inst:AddComponent("talker") if not TheWorld.ismastersim then return inst end inst:AddComponent("inspectable") inst.components.weapon:SetDamage(15) inst.components.weapon:SetRange(8, 10) inst:AddComponent("inventoryitem") inst.components.inventoryitem.keepondeath = true inst.components.inventoryitem.imagename = "shinsou" inst.components.inventoryitem.atlasname = "images/inventoryimages/shinsou.xml" inst:AddComponent("equippable") inst.components.equippable:SetOnEquip( OnEquip ) inst.components.equippable:SetOnUnequip( OnUnequip ) inst.components.inventoryitem.keepondeath = true end end if owner HasTag("axeuser") then --item turning to axe local function OnEquip(inst, owner) owner.AnimState:OverrideSymbol("swap_object", "swap_tobiume", "symbol0") owner.AnimState:Show("ARM_carry") owner.AnimState:Hide("ARM_normal") end local function OnUnequip(inst, owner) owner.AnimState:Hide("ARM_carry") owner.AnimState:Show("ARM_normal") end local function fn() local inst = CreateEntity() inst.entity:AddTransform() inst.entity:AddAnimState() inst.entity:AddNetwork() MakeInventoryPhysics(inst) inst.AnimState:SetBank("tobiume") inst.AnimState:SetBuild("tobiume") inst.AnimState:PlayAnimation("idle") inst.entity:SetPristine() inst:AddTag("tobiume") if not TheWorld.ismastersim then return inst end inst:AddComponent("inspectable") inst:AddComponent("tool") inst.components.tool:SetAction(ACTIONS.CHOP, 1) inst.components.weapon.attackrange = 1.1 inst.components.weapon.hitrange = 1.1 inst:AddComponent("inventoryitem") inst.components.inventoryitem.keepondeath = true inst.components.inventoryitem.imagename = "tobiume" inst.components.inventoryitem.atlasname = "images/inventoryimages/tobiume.xml" inst:AddComponent("equippable") inst.components.equippable:SetOnEquip( OnEquip ) inst.components.equippable:SetOnUnequip( OnUnequip ) inst.components.inventoryitem.keepondeath = true end end if owner HasTag("scytheuser") then --item turning to scythe local function OnEquip(inst, owner) owner.AnimState:OverrideSymbol("swap_object", "swap_shirayuki", "symbol0") owner.AnimState:Show("ARM_carry") owner.AnimState:Hide("ARM_normal") end local function OnUnequip(inst, owner) owner.AnimState:Hide("ARM_carry") owner.AnimState:Show("ARM_normal") end local function fn() local inst = CreateEntity() inst.entity:AddTransform() inst.entity:AddAnimState() inst.entity:AddNetwork() MakeInventoryPhysics(inst) inst.AnimState:SetBank("shirayuki") inst.AnimState:SetBuild("shirayuki") inst.AnimState:PlayAnimation("idle") inst.entity:SetPristine() inst:AddTag("sharp") inst:AddTag("shirayuki") if not TheWorld.ismastersim then return inst end inst:AddComponent("inspectable") inst:AddComponent("weapon") inst.components.weapon:SetDamage(20) inst.components.weapon.rosing = true inst.components.weapon.attackrange = 1.1 inst.components.weapon.hitrange = 1.1 inst:AddComponent("inventoryitem") inst.components.inventoryitem.keepondeath = true inst.components.inventoryitem.imagename = "shirayuki" inst.components.inventoryitem.atlasname = "images/inventoryimages/shirayuki.xml" inst:AddComponent("equippable") inst.components.equippable:SetOnEquip( OnEquip ) inst.components.equippable:SetOnUnequip( OnUnequip ) inst.components.inventoryitem.keepondeath = true end end if owner HasTag("spearuser") then --item turning to spear local function OnEquip(inst, owner) owner.AnimState:OverrideSymbol("swap_object", "swap_shiden", "symbol0") owner.AnimState:Show("ARM_carry") owner.AnimState:Hide("ARM_normal") end local function OnUnequip(inst, owner) owner.AnimState:Hide("ARM_carry") owner.AnimState:Show("ARM_normal") end local function fn() local inst = CreateEntity() inst.entity:AddTransform() inst.entity:AddAnimState() inst.entity:AddNetwork() MakeInventoryPhysics(inst) inst.AnimState:SetBank("shiden") inst.AnimState:SetBuild("shiden") inst.AnimState:PlayAnimation("idle") inst.entity:SetPristine() inst:AddTag("shiden") if not TheWorld.ismastersim then return inst end inst:AddComponent("inspectable") inst:AddComponent("weapon") inst.components.weapon:SetDamage(40) inst.components.weapon.attackrange = 1.1 inst.components.weapon.hitrange = 1.1 inst:AddComponent("inventoryitem") inst.components.inventoryitem.keepondeath = true inst.components.inventoryitem.imagename = "shiden" inst.components.inventoryitem.atlasname = "images/inventoryimages/shiden.xml" inst:AddComponent("equippable") inst.components.equippable:SetOnEquip( OnEquip ) inst.components.equippable:SetOnUnequip( OnUnequip ) inst.components.inventoryitem.keepondeath = true end end return inst end return Prefab( "common/inventory/weapon", fn, assets) and here is my character's lua local MakePlayerCharacter = require "prefabs/player_common" local assets = { Asset("SCRIPT", "scripts/prefabs/player_common.lua"), } local prefabs = { "book_birds", "book_tentacles", "book_gardening", "book_sleep", "book_brimstone", "shadow_despawn", "statue_transition_2", } -- Custom starting items local start_inv = { "kinshara", } -- When the character is revived from human, well works local function onbecamehuman(inst) -- Set speed when reviving from ghost (optional) inst.components.locomotor.walkspeed = 4.6 inst.components.locomotor.runspeed = 7 inst.components.combat:SetAttackPeriod (0.6) end local function onbecameghost(inst) -- Remove speed modifier when becoming a ghost inst.components.locomotor.walkspeed = 8.0 end -- When loading or spawning the character local function onload(inst) inst:ListenForEvent("ms_respawnedfromghost", onbecamehuman) inst.components.locomotor.walkspeed = 4.6 inst.components.locomotor.runspeed = 7 inst.components.combat:SetAttackPeriod (0.6 ) if not inst:HasTag("playerghost") then onbecameghost(inst) end end --Critters sanity aura local function critter_SanityAura(inst) local x, y, z = inst.Transform:GetWorldPosition() local delta = 0 local ents = TheSim:FindEntities(x, y, z, 20, {"critter_puppy", "player" , "critter_kitten"}) local bonus_sanity = nil local distsq = nil local totalDelta = nil for k, v in pairs(ents) do if v ~= inst then if v.prefab == "critter_puppy" then bonus_sanity = -TUNING.SANITYAURA_MEDIUM distsq = math.max(inst:GetDistanceSqToInst(v), 1) delta = delta + bonus_sanity / distsq elseif v.prefab == "critter_kitten" then bonus_sanity = TUNING.SANITYAURA_SMALL distsq = math.max(inst:GetDistanceSqToInst(v), 1) delta = delta + bonus_sanity / distsq elseif v:HasTag ("player") then bonus_sanity = -TUNING.SANITYAURA_SMALL distsq = math.max(inst:GetDistanceSqToInst(v), 1) delta = delta + bonus_sanity / distsq else end end totalDelta = totalDelta + delta end if #ents > 0 then totalDelta = totalDelta / #ents else totalDelta = 0 end return totalDelta end --For can not wear anything --local function OnEquip(inst) --Get the equipped item -- local hat = inst.components.inventory:GetEquippedItem(EQUIPSLOTS.HEAD) -- local body = inst.components.inventory:GetEquippedItem(EQUIPSLOTS.BODY) -- local hand = inst.components.inventory:GetEquippedItem(EQUIPSLOTS.HAND) --If it doesn't have your unique tag drop it --if not hat:HasTag("youruniquetagname") then -- inst.components.inventory:DropItem(hat) -- end -- if not body:HasTag("youruniquetagname") then -- inst.components.inventory:DropItem(body) --end -- if not hand:HasTag("fuingetsu") then -- inst.components.inventory:DropItem(hand) -- end --end --Can't pick up chester local function OnPickup(inst) if data.prefab == "chester_eyebone" then local eyebone = data.prefab inst.components.sanity:DoDelta(-30) inst.components.inventory:DropItem(eyebone) end end --Counter freeze attack local function OnBeingAttacked(inst, data) local damage = data and data.damage if damage then local last_time_first_hit = inst.last_time_first_hit local current_time = GetTime() -- If the hit is the first, or more than 60 seconds passed, reset the damage received and the last hit time -- Else, add it up if (last_time_first_hit == nil) or (current_time - last_time_first_hit > 59.5) then inst.total_damage_received = damage inst.last_time_first_hit = current_time else inst.total_damage_received = inst.total_damage_received + damage end -- We pass 50 damage, freeze everything, then reset damage and timer if inst.total_damage_received > 49.5 then if inst.level < 40 then inst.components.talker:Say("My skills are sealed for now. Nya~") end local x, y, z = inst.Transform:GetWorldPosition() -- First table, table with "must have" tags, entities with freezable component have freezable tag -- Second table, table with "cant have" tags, player has player tag inst.components.talker:Say("It hurts! Nya~") local ents = TheSim:FindEntities(x, y, z, 20, {"freezable"}, {"player"}) for i, v in ipairs(ents) do v.components.freezable:AddColdness(10) v.components.freezable:SpawnShatterFX() end inst.total_damage_received = 0 inst.last_time_hit = nil end end end --Stat chance on moons local function PowerUpAtNewMoon(inst) if TheWorld.state.isnight then if TheWorld.state.moonphase == "new" then inst.components.combat:SetAttackPeriod (0.4) inst.components.locomotor.walkspeed = 6 inst.components.locomotor.runspeed = 10 inst.Light:Enable(true) inst.Light:SetRadius(18) inst.Light:SetFalloff(0.75) inst.Light:SetIntensity(.7) inst.Light:SetColour(70/255,230/255,12/170) inst.components.talker:Say("The curse has gone We are finally free! Nya~") elseif TheWorld.state.moonphase == "full" then inst.components.combat:SetAttackPeriod (0.8) inst.components.locomotor.walkspeed = 3.2 inst.components.locomotor.runspeed = 4 inst.components.talker:Say("I can feel the curse of moon. The moon binds us! Nya~") end elseif TheWorld.state.isdusk then if TheWorld.state.moonphase == "new" then inst.components.combat:SetAttackPeriod (0.4) inst.components.locomotor.walkspeed = 6 inst.components.locomotor.runspeed = 10 inst.components.talker:Say("I can't feel the moon. Finally i can be free. Nya~") elseif TheWorld.state.moonphase == "full" then inst.components.combat:SetAttackPeriod (0.8) inst.components.locomotor.walkspeed = 3.2 inst.components.locomotor.runspeed = 4 inst.components.talker:Say("Oh! I can feel the moon. This night will be cursed. Nya~") end elseif TheWorld.state.isday then inst.components.locomotor.walkspeed = 4.6 inst.components.locomotor.runspeed = 7 inst.components.combat:SetAttackPeriod (0.6) end end --Restat for foods local function oneat(inst, food) if food and food.components.edible and food.prefab == "fishsticks" then inst.components.health:DoDelta(50) inst.components.sanity:DoDelta(50) inst.components.hunger:DoDelta(50) inst.components.talker:Say("Itadakimasu. Nya~", 1.2, true) elseif food and food.components.edible and food.prefab == "fishtacos" then inst.components.health:DoDelta(50) inst.components.sanity:DoDelta(50) inst.components.hunger:DoDelta(50) inst.components.talker:Say("Itadakimasu. Nya~", 1.2, true) elseif food and food.components.edible and food.prefab == "fish" then inst.components.health:DoDelta(20) inst.components.sanity:DoDelta(30) inst.components.hunger:DoDelta(20) inst.components.talker:Say("Itadakimasu. Nya~", 1.2, true) elseif food and food.components.edible and food.prefab == "fish_cooked" then inst.components.sanity:DoDelta(-15) inst.components.talker:Say("Don't you know the fire is not good for me! Do not try to eat that me again!!!. Nya~", 1.2, true) elseif food and food.components.edible and food.prefab == "ice" then inst.components.health:DoDelta(5) inst.components.sanity:DoDelta(10) inst.components.talker:Say("Itadakimasu. Nya~", 1.2, true) elseif food and food.components.edible and food.prefab == not "ice" or "fish_cooked" or "fish" or "fishtacos" or "fishsticks" then local hungerboost = 5 local sanityboost = -5 local foodcheck = food.prefab == "spoiled_food" and 0 or hungerboost inst.components.health:DoDelta(0) inst.components.sanity:DoDelta(-5) inst.components.hunger:DoDelta(5) inst.components.talker:Say("I shouldn't eat that. Nya~") end end --Level system local function levelexp(inst, data) local max_exp = 999999999994650 local min_exp = -99999999999999 local level = math.min(inst.level, max_exp) local health_percent = inst.components.health:GetPercent() local sanity_percent = inst.components.sanity:GetPercent() local hunger_percent = inst.components.hunger:GetPercent() if inst.level <=999999999994650 then inst.components.talker:Say("[EXP] \n".. (inst.level)) end --level 0 (start) if inst.level >0 and inst.level <=10 then inst.components.health.maxhealth = math.ceil (50) inst.components.hunger.max = math.ceil (50) inst.components.sanity.max = math.ceil (50) --level 1 elseif inst.level >10 and inst.level <=20 then inst.components.health.maxhealth = math.ceil (55) inst.components.hunger.max = math.ceil (55) inst.components.sanity.max = math.ceil (55) --level 2 elseif inst.level >20 and inst.level <=40 then inst.components.health.maxhealth = math.ceil (60) inst.components.hunger.max = math.ceil (60) inst.components.sanity.max = math.ceil (60) elseif inst.level > 20 then inst.AddTag("fridge") --level 3 elseif inst.level >40 and inst.level <=70 then inst.components.health.maxhealth = math.ceil (65) inst.components.hunger.max = math.ceil (65) inst.components.sanity.max = math.ceil (65) --level 4 elseif inst.level >70 and inst.level <=110 then inst.components.health.maxhealth = math.ceil (70) inst.components.hunger.max = math.ceil (70) inst.components.sanity.max = math.ceil (70) --level 5 elseif inst.level >110 and inst.level <=160 then inst.components.health.maxhealth = math.ceil (75) inst.components.hunger.max = math.ceil (75) inst.components.sanity.max = math.ceil (75) --level 6 elseif inst.level >160 and inst.level <=220 then inst.components.health.maxhealth = math.ceil (80) inst.components.hunger.max = math.ceil (80) inst.components.sanity.max = math.ceil (80) --level 7 elseif inst.level >220 and inst.level <=290 then inst.components.health.maxhealth = math.ceil (85) inst.components.hunger.max = math.ceil (85) inst.components.sanity.max = math.ceil (85) --level 8 elseif inst.level >290 and inst.level <=370 then inst.components.health.maxhealth = math.ceil (90) inst.components.hunger.max = math.ceil (90) inst.components.sanity.max = math.ceil (90) --level 9 elseif inst.level >370 and inst.level <=460 then inst.components.health.maxhealth = math.ceil (95) inst.components.hunger.max = math.ceil (95) inst.components.sanity.max = math.ceil (95) --level 10 elseif inst.level >460 and inst.level <=560 then inst.components.health.maxhealth = math.ceil (100) inst.components.hunger.max = math.ceil (100) inst.components.sanity.max = math.ceil (100) --level 11 elseif inst.level >560 and inst.level <=670 then inst.components.health.maxhealth = math.ceil (110) inst.components.hunger.max = math.ceil (110) inst.components.sanity.max = math.ceil (110) --level 12 elseif inst.level >670 and inst.level <=790 then inst.components.health.maxhealth = math.ceil (120) inst.components.hunger.max = math.ceil (120) inst.components.sanity.max = math.ceil (120) --level 13 elseif inst.level >790 and inst.level <=920 then inst.components.health.maxhealth = math.ceil (130) inst.components.hunger.max = math.ceil (130) inst.components.sanity.max = math.ceil (130) --level 14 elseif inst.level >920 and inst.level <=1060 then inst.components.health.maxhealth = math.ceil (140) inst.components.hunger.max = math.ceil (140) inst.components.sanity.max = math.ceil (140) --level 15 elseif inst.level >1060 and inst.level <=1210 then inst.components.health.maxhealth = math.ceil (150) inst.components.hunger.max = math.ceil (150) inst.components.sanity.max = math.ceil (150) --level 16 elseif inst.level >1210 and inst.level <=1370 then inst.components.health.maxhealth = math.ceil (160) inst.components.hunger.max = math.ceil (150) inst.components.sanity.max = math.ceil (160) --level 17 elseif inst.level >1370 and inst.level <=1540 then inst.components.health.maxhealth = math.ceil (170) inst.components.hunger.max = math.ceil (170) inst.components.sanity.max = math.ceil (170) --level 18 elseif inst.level >1540 and inst.level <=1720 then inst.components.health.maxhealth = math.ceil (180) inst.components.hunger.max = math.ceil (180) inst.components.sanity.max = math.ceil (180) --level 19 elseif inst.level >1720 and inst.level <1910 then inst.components.health.maxhealth = math.ceil (190) inst.components.hunger.max = math.ceil (190) inst.components.sanity.max = math.ceil (190) --level 20 elseif inst.level >1910 and inst.level <=2110 then inst.components.health.maxhealth = math.ceil (200) inst.components.hunger.max = math.ceil (200) inst.components.sanity.max = math.ceil (200) --level 21 elseif inst.level >2110 and inst.level <=2320 then inst.components.health.maxhealth = math.ceil (210) inst.components.hunger.max = math.ceil (210) inst.components.sanity.max = math.ceil (210) --level 22 elseif inst.level >2320 and inst.level <=2540 then inst.components.health.maxhealth = math.ceil (220) inst.components.hunger.max = math.ceil (220) inst.components.sanity.max = math.ceil (220) --level 23 elseif inst.level >2540 and inst.level <=2770 then inst.components.health.maxhealth = math.ceil (230) inst.components.hunger.max = math.ceil (230) inst.components.sanity.max = math.ceil (230) --level 24 elseif inst.level >2770 and inst.level <=3010 then inst.components.health.maxhealth = math.ceil (240) inst.components.hunger.max = math.ceil (240) inst.components.sanity.max = math.ceil (240) --level 25 elseif inst.level >3010 and inst.level <=3260 then inst.components.health.maxhealth = math.ceil (250) inst.components.hunger.max = math.ceil (250) inst.components.sanity.max = math.ceil (250) --level 26 elseif inst.level >3260 and inst.level <=3520 then inst.components.health.maxhealth = math.ceil (260) inst.components.hunger.max = math.ceil (260) inst.components.sanity.max = math.ceil (260) --level 27 elseif inst.level >3520 and inst.level <=3790 then inst.components.health.maxhealth = math.ceil (270) inst.components.hunger.max = math.ceil (270) inst.components.sanity.max = math.ceil (270) --level 28 elseif inst.level >3790 and inst.level <=4070 then inst.components.health.maxhealth = math.ceil (280) inst.components.hunger.max = math.ceil (280) inst.components.sanity.max = math.ceil (280) --level 29 elseif inst.level >4070 and inst.level <=4360 then inst.components.health.maxhealth = math.ceil (290) inst.components.hunger.max = math.ceil (290) inst.components.sanity.max = math.ceil (290) --level 30 elseif inst.level >4360 and inst.level <=4660 then inst.components.health.maxhealth = math.ceil (300) inst.components.hunger.max = math.ceil (300) inst.components.sanity.max = math.ceil (300) end inst.components.health:SetPercent(health_percent) inst.components.hunger:SetPercent(hunger_percent) inst.components.sanity:SetPercent(sanity_percent) end --Exp for kill local function onkill(inst, data) local victim = data.victim if ( victim:HasTag("catcoon") ) then inst.level = inst.level -969696 inst.components.talker:Say("There is nothing to say...") end if ( victim:HasTag("chester") or victim:HasTag("glommer") or victim:HasTag("hutch") or victim:HasTag("lavae_pet") ) then inst.level = inst.level - 50 inst.components.talker:Say("Oh come on! Why i did that? I'm cursed now. Nya~") end if ( victim:HasTag("smallbird") or victim:HasTag("babybeefalo") or victim:HasTag("toddlerbeefalo") ) then inst.level = inst.level - 10 inst.components.talker:Say("I feel bad about that. It was so cute. Nya~") end if ( victim:HasTag("pigman") or victim:HasTag("bunnyman") or victim:HasTag("rocky") ) then inst.level = inst.level - 5 inst.components.talker:Say("Should i do that? I mean it feels bad. Nya~") end if ( victim:HasTag("butterfly") or victim:HasTag("crow") or victim:HasTag("robin") or victim:HasTag("robin_winter") or victim:HasTag("canary") or victim:HasTag("rabbit") or victim:HasTag("mole") or victim:HasTag("grassgekko") or victim:HasTag("mandrake") ) then inst.level = inst.level + 1 levelexp(inst) end if ( victim:HasTag("eyeplant") or victim:HasTag("bee") or victim:HasTag("spider") or victim:HasTag("frog") or victim:HasTag("batilisk") or victim:HasTag("mosquito") or victim:HasTag("deer") or victim:HasTag("deerantler") or victim:HasTag("perd") or victim:HasTag("monkey") or victim:HasTag("buzzard") or victim:HasTag("snurtle") ) then inst.level = inst.level + 2 levelexp(inst) end if ( victim:HasTag("birchnutdrake") or victim:HasTag("killerbee") or victim:HasTag("tentacle") or victim:HasTag("tentacle_pillar") or victim:HasTag("spider_warrior") or victim:HasTag("teenbird") or victim:HasTag("little_walrus") or victim:HasTag("teenbeefalo") or victim:HasTag("penguin") or victim:HasTag("lightninggoat") or victim:HasTag("slurtle") ) then inst.level = inst.level + 3 levelexp(inst) end if ( victim:HasTag("tallbird") or victim:HasTag("spider_spitter") or victim:HasTag("merm") or victim:HasTag("spider_hider") or victim:HasTag("spider_dropper") or victim:HasTag("pigguard") or victim:HasTag("koalefant_summer") or victim:HasTag("koalefant_winter") or victim:HasTag("beefalo") or victim:HasTag("walrus") ) then inst.level = inst.level + 5 levelexp(inst) end if ( victim:HasTag("hound") or victim:HasTag("firehound") or victim:HasTag("icehound") or victim:HasTag("knight") or victim:HasTag("rook") or victim:HasTag("bishop") or victim:HasTag("deer_red") or victim:HasTag("deer_blue") or victim:HasTag("lavae") or victim:HasTag("worm") or victim:HasTag("mossling") or victim:HasTag("beeguard") ) then inst.level = inst.level + 7 levelexp(inst) end if ( victim:HasTag("bishop_nightmare") or victim:HasTag("knight_nightmare") or victim:HasTag("rook_nightmare") or victim:HasTag("crawlinghorror") or victim:HasTag("crawlingnightmare") or victim:HasTag("shadow_knight") or victim:HasTag("shadow_bishop") or victim:HasTag("shadow_rook") or victim:HasTag("ghost") or victim:HasTag("werepig") or victim:HasTag("lureplant") ) then inst.level = inst.level + 10 levelexp(inst) end if ( victim:HasTag("leif") or victim:HasTag("krampus") or victim:HasTag("warg") or victim:HasTag("spat") or victim:HasTag("deciduoustree") ) then inst.level = inst.level + 25 inst.components.talker:Say("That's what i was talking about. Nya~") levelexp(inst) end if ( victim:HasTag("beequeen") or victim:HasTag("Goose") or victim:HasTag("dragonfly") or victim:HasTag("bearger") or victim:HasTag("spiderqueen") or victim:HasTag("deerclops") or victim:HasTag("minotaur") or victim:HasTag("klaus") or victim:HasTag("toadstool") ) then inst.level = inst.level + 50 inst.components.talker:Say("Hell Yea! I am the strongest. Nya~") inst.SoundEmitter:PlaySound("dontstarve/characters/alishia/bosskill") levelexp(inst) end end --startin gstats for level system local function onpreload(inst, data) if data.level then inst.level = data.level levelexp(inst) if data.health and data.health.health then inst.components.health.currenthealth = data.health.health end if data.sanity and data.sanity.current then inst.components.sanity.current = data.sanity.current end inst.components.health:DoDelta(0) inst.components.sanity:DoDelta(0) inst.components.hunger:DoDelta(0) end end --just for save local function onsave(inst, data) data.level = inst.level end --Extra damage from hounds local function ExtraHoundDamage(inst) local _GetAttacked = inst.components.combat.GetAttacked inst.components.combat.GetAttacked = function(self, attacker, damage, ...) if attacker and attacker:HasTag("hound") and damage then damage = damage * 1.5 end return _GetAttacked(self, attacker, damage, ...) end end --Extra damage from overheat local function IncreaseHurtRate(inst) inst.components.temperature.hurtrate = inst.components.temperature.hurtrate * 2 end local function DecreaseHurtRate(inst) inst.components.temperature.hurtrate = inst.components.temperature.hurtrate / 2 end -- This initializes for both the server and client. Tags can be added here. local common_postinit = function(inst) -- Minimap icon inst.MiniMapEntity:SetIcon( "alishia.tex" ) inst:AddTag("alisha") inst:AddTag("bookbuilder") inst.transformed = true inst:AddComponent("keyhandler") inst.components.keyhandler:AddActionListener("alishia", TUNING.alishia.KEYTWO, "SpeedUp") inst.components.keyhandler:AddActionListener("alishia", TUNING.alishia.KEY3, "IceAttack") inst.level = 0 end -- This initializes for the server only. Components are added here. local master_postinit = function(inst) -- choose which sounds this character will play inst.soundsname = "alishia" -- Uncomment if "wathgrithr"(Wigfrid) or "webber" voice is used --inst.talker_path_override = "dontstarve_DLC001/characters/" -- Stats inst.components.health:SetMaxHealth(50) inst.components.hunger:SetMax(50) inst.components.sanity:SetMax(50) --healt regen inst.components.health:StartRegen(3, 60) --overheat and min temperature inst.components.temperature.mintemp = 10 inst.components.temperature.overheattemp = 60 inst.components.temperature.inherentsummerinsulation = TUNING.INSULATION_TINY * -1 --start for level system --inst.visual_cos = true inst.level = 0 --Well no idea inst:AddComponent("heater") inst.components.heater.heatfn = function() return -25 end inst.components.heater:SetThermics(false, true) -- Damage multiplier (optional) inst.components.combat.damagemultiplier = 1 --For level up inst:ListenForEvent("killed", onkill) inst:ListenForEvent("levelup", levelexp) --For do not lose or gain sanity (night, dusk or night) inst.components.sanity.neg_aura_mult = 0 inst.components.sanity.night_drain_mult = 0 inst.components.sanity.dusk_drain_mult = 0 --Hunger rate inst.components.hunger.hungerrate = 1.1 * TUNING.WILSON_HUNGER_RATE --Extra fire damage inst.components.health.fire_damage_scale = 2 --Master code for on equip --inst:ListenForEvent("equip", OnEquip) --Master code for eyebone inst:ListenForEvent("onpickup", OnPickup) --Master code for Extra hound damage ExtraHoundDamage(inst) --Can not be freeze if inst.components.freezable then inst.components.freezable.Freeze = function() end end --Master code for Overheat inst:ListenForEvent("startoverheating", IncreaseHurtRate) inst:ListenForEvent("stopoverheating", DecreaseHurtRate) --Master code for Moon stats inst:WatchWorldState("isday", PowerUpAtNewMoon) inst:WatchWorldState("isdusk", PowerUpAtNewMoon) inst:WatchWorldState("isnight", PowerUpAtNewMoon) inst:WatchWorldState("moonphase", PowerUpAtNewMoon) --Master code for freeze counter attack inst.total_damage_received = 0 inst.last_time_first_hit = nil inst:ListenForEvent("attacked", OnBeingAttacked) --Master code for gain or lose sanity from pets inst.components.sanity.custom_rate_fn = critter_SanityAura inst:DoPeriodicTask(1, critter_SanityAura) inst:ListenForEvent("equip", function() local equippedweb = inst.components.inventory:GetEquippedItem(EQUIPSLOTS.HANDS) if equippedweb ~= nil and equippedweb:HasTag("fuingetsu") then elseif inst.level <461 then inst.components.combat.damagemultiplier = 1.5 else inst.components.combat.damagemultiplier = 0.7 end end) inst:ListenForEvent("unequip", function() local unequippedwep = inst.components.inventory:GetEquippedItem(EQUIPSLOTS.HANDS) if unequippedwep ~= nil and unequippedwep:HasTag("fuingetsu") then inst.components.combat.damagemultiplier = 1 else inst.components.combat.damagemultiplier = 1 end end) inst.OnLoad = onload inst.OnNewSpawn = onload inst.OnSave = onsave inst.OnPreLoad = onpreload --Master code for eat code inst.components.eater:SetOnEatFn(oneat) end return MakePlayerCharacter("alishia", prefabs, assets, common_postinit, master_postinit, start_inv)
  9. Forgive my english it's not my main language i mean the animation must repeat itself i mean when i drop item the animation must star(nothing wrong with that) and it must repeat itself till i take it back. Well only speed button i ever seen in spriter is on left bottom.
  10. Well i don't like it too but some people able to do something and some people to show them how they lucky are. So i try to draw but... it was...
  11. It may seems like well funny but sometimes i'll make very easy mistakes so i'm just asking. Did you delete .XML and .TEX files after you upload your .PNG file? Don't get me wrong it's just sometimes being missed. And take a look into modmain.lua there may something be wrong.
  12. When i do something with spriter i delete all .zip files.
  13. Well i have no idea seems like there is no error but try to change -- Emote for Meditating inst:ListenForEvent("emote", function(inst, data) if inst:HasTag("sit") then inst:DoPeriodicTask(5.0, local x, y, z = inst.Transform:GetWorldPosition() local ents = TheSim:FindEntities(x, y, z, 4.0, {"player"}, {"playerghost"}) for _,v in pairs(ents) do v.components.health:DoDelta(1) v.components.sanity:DoDelta(1) end end ) this with this -- Emote for Meditating inst:ListenForEvent("emote", function(inst, data) if inst:HasTag("sit") then inst:DoPeriodicTask(5.0, local x, y, z = inst.Transform:GetWorldPosition() local ents = TheSim:FindEntities(x, y, z, 4.0, {"player"}, {"playerghost"}) for _,v in pairs(ents) do v.components.health:DoDelta(1) v.components.sanity:DoDelta(1) end end ) everything is seems like same but i change local x, y, z = inst.Transform:GetWorldPosition() this with same code in my mod it's all same but sometimes game does not accept code and when i change it with same thing it works so give a try.
  14. Error must be in spek.lua take a look at 110.line there must be something not necessary near local.