Reklama
Pokazuje wyniki od 1 do 2 z 2

Temat: [8.10-8.50][Różne] Avixu's Scripting Pwn4ge, czyli kilka moich skryptów

  1. #1
    Avixu

    Domyślny [8.10-8.50][Różne] Avixu's Scripting Pwn4ge, czyli kilka moich skryptów

    Najlepszy skrypty Avisia. Wszystke posiadają konfgurację. Endżoj!

    8.10
    Aries 0.4.0

    [Actions]Experience Rune
    Bardziej zaawansowana runka dodająca graczowi expa. Jeśli chcesz w formule dodawanych pkt doświadczenia zastosować zmienne takie jak Level, Magic Level, Random czy jakieś inne pierdoły ustaw w configu specialFormula na 1 a następnie wpisz swoją formułę w linijce 17.
    Kod:
    -- Advanced Experence Rune by Avixu
    -- Dedicated for Aries 0.4.0
    -- Actions.XML: <action itemid="ITEMID" script="experience_rune.lua" allowfaruse="1" />
    
    local config = {
      specialFormula = 0, -- jesli chcesz uzyc formuly ze zmiennymi typu level itp ustaw na 1 i podaj formule w linjce 17
      experiencePoints = 1000,
      magicEffect = 14,
      mayUseOnPlayersMsg = 'You may use this item only on players',
      removeItem = 1
    }
    
    function onUse(cid, item, frompos, item2, topos)
      if(isPlayer(item2.uid) == FALSE) then
        doPlayerSendCancel(cid, config.mayUseOnPlayerMsg)
        doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
        return FALSE
      end
      
      if config.specialFormula == 1 then
        local experiencePoints = math.random(getPlayerLevel(cid)*10, getPlayerLevel(cid)*200)
        doPlayerAddExp(item2.uid, experiencePoints)
        doPlayerSay(item2.uid, '+' ..experiencePoints.. ' EXP', 16)
      else
        doPlayerAddExp(item2.uid, config.experiencePoints)  
        doPlayerSay(item2.uid, '+' ..config.experiencePoints.. ' EXP', 16)
      end
       
      doSendMagicEffect(topos, config.magicEffect)
      
      if config.removeItem == 1 then
        if(item.type > 1) then 
          doChangeTypeItem(item.uid, item.type - 1)
        elseif(item.type == 1) then
          doRemoveItem(item.uid, 1)
        end
      end
    end
    ____________________

    [Actions]Manaruna
    Oparta na tej od Killavusa. Skrypt z serii "działa tak samo, ale lepiej" (np. podczas użycia nie na graczu - zamiast lecieć przez 3/4 skryptu zatrzymuje się na samym początku), poza tym jest łatwiejsza do zrozumienia i prostsza do edycji. Full konfiguracja. Jeśli chcesz, aby mr dodawała zawsze tyle samo many, ustaw constantManaAmount na określoną ilość. Jeśli chcesz wykorzystać jakąś formułę - ustaw constantManaAmount na 0 i wpisz ją w linijkach 33 i 34.
    Kod:
    -- Manarune by Avixu
    -- Based on Killavus' manarune
    -- Dedicated for Aries 0.4.0
    -- Actions.XML: <action itemid="ITEMID" script="manarune.lua" allowfaruse="1" />
    
    local config = {
      constantManaAmount = 0, -- set on 0 to use a formula with variables like level etc (line 33, 34)
      removeItem = 0,
      exhaustSeconds = 1,
      exhaustStorageID = 25500, -- this one MUST be unused!
      onlyOnPlayersMsg = 'You may use this item only on players',
      exhaustedMsg = 'You are exhausted.'
    }
    
    function onUse(cid, item, frompos, item2, topos)
    
      if(isPlayer(item2.uid) == FALSE) then
        doPlayerSendCancel(cid, config.onlyOnPlayersMsg)
        doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
        return FALSE
      end
    
      if(os.time() < getPlayerStorageValue(cid, config.exhaustStorageID)) then
        doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
        doPlayerSendCancel(cid, config.exhaustedMsg)
        return FALSE
      end
      
      if config.constantManaAmount == 0 then
      	local level, mlevel = getPlayerLevel(cid), getPlayerMagLevel(cid)
      	-- formula settings
      	-- you may use 'level' and 'mlevel'
        local manaMin = (level * 1) + (mlevel * 2)
        local manaMax = (level * 2) + (mlevel * 5)
          if manaMin < 10 then
            local manaMin = 10
          end
          if manaMax < 10 then
    				local manaMax = 10
    			end
        local manaAdd = math.random(manaMin, manaMax)
        doPlayerAddMana(item2.uid, manaAdd)
        doSendAnimatedText(getPlayerPosition(item2.uid), manaAdd, TEXTCOLOR_YELLOW)
        
      else
        doPlayerAddMana(item2.uid, config.constantManaAmount)
        doSendAnimatedText(getPlayerPosition(item2.uid), config.constantManaAmount, TEXTCOLOR_YELLOW)
      end
      
      setPlayerStorageValue(cid, config.exhaustStorageID, os.time() + config.exhaustSeconds)
      doSendMagicEffect(getPlayerPosition(item2.uid), CONST_ME_YELLOWENERGY)
      doPlayerSay(cid, "Aaaah...", 16)
          
      if config.removeItem == 1 then
        if(item.type > 1) then 
          doChangeTypeItem(item.uid, item.type - 1)
        elseif(item.type == 1) then
          doRemoveItem(item.uid, 1)
        end
      end
    end
    ____________________

    [Actions]Wycinanie słonia z ice cube
    Prosta funkcja, po prostu klikasz obsidian knifem na ice cube i jeśli się uda ajskjub coraz bardziej przypomina słonika.
    Kod:
    -- Creating an elephant statue of an ice cube
    -- by Avixu
    -- Dedicated for Aries 0.4.0
    -- Actions.XML: <action itemid="5908" script="slonik.lua" />
    
    local config = {
      breakChance = 30,
      effectOnSuccess = 3,
      effectOnDestroy = 9
    }
    
    function onUse(cid, item, frompos, item2, topos)
    
    local random = math.random(1,100)
    
      if random <= config.breakChance then
        doRemoveItem(item.uid,1)
        doSendMagicEffect(topos, config.effectOnDestroy)
    
      elseif item2.itemid ~= 7442 then
        doTransformItem(item2.uid, item2.itemid+1)
        doSendMagicEffect(topos, config.effectOnSuccess)
      
      elseif item2.itemid == 7442 then
        doTransformItem(item2.uid, item2.itemid+2)
        doSendMagicEffect(topos, config.effectOnSuccess)
      end
     
    end
    ____________________

    [Talkactions]Naprawa softów
    Gracz wpisuje !repair i jeśli ma 10k (cenę można zmienić) oraz zużyte softy zamienia je na nowe.
    Kod:
    -- Repair soft boots in talkactions by Avixu
    -- Dedicated for Aries 0.4.0
    -- Talkactons.XML: <talkaction words="!repair" script="repair_soft_boots.lua" />
    
    local config = {
      repairPrice = 10000
    }
    
    function onSay(cid, words, param)
      if getPlayerItemCount(cid, 6530) >= 1 then
        if(not doPlayerRemoveMoney(cid, confg.repairPrice)) then
          doPlayerTakeItem(cid, 6530, 1)
          doPlayerAddItem(cid, 6132, 1)
          doPlayerSendTextMessage(cid, 19, 'Soft Boots repaired!')
          doSendAnimatedText(getPlayerPos(cid), 'Success!', TEXTCOLOR_DARKRED)
        else
          doPlayerSendCancel(cid, 'Sorry, you don\'t have enough money.')
        end
      else
        doPlayerSendCancel(cid, 'Sorry, you don\'t have a pair of worn soft boots.')
      end
    end
    ____________________

    8.50
    TFS 0.3.5PL2

    [Movements]Quest Tile
    Kratka przepuszczająca tylko tych, którzy mają pod danym storage id daną wartość.
    Kod:
    -- Quest tile by Avixu
    -- Dedicated for TFS 0.3.5PL2
    
    local config = {
      storageID = 7000,
      storageValue = 1,
      mayPassMessage = "You may pass",
      noPassMessage = "Sorry, you need to do quest first",
      failMagicEffect = 2
    }
    
    function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
    	if(getPlayerStorageValue(cid,config.storageID) == config.storageValue and isPlayer(cid)) then
        doCreatureSay(cid, config.mayPassMessage, TALKTYPE_ORANGE_1)
      else
        doTeleportThing(cid, fromPosition, false)
        doSendMagicEffect(fromPosition, config.failMagicEffect)
        doCreatureSay(cid, config.noPassMessage, TALKTYPE_ORANGE_1)
    	end
        return true
    end
    ____________________
    [Actions]Item teleportujący do temple
    Wcześniej dałem tu ten skrypt, teraz mocno go skróciłem i daję ponownie.
    Kod:
    -- Item teleporting to temple by Avixu
    -- Dedicated for TFS 0.3.5PL2
    
    local config = {
      teleportOnlyIfNoBattle = 1,
      teleportToTemple = 1, -- set on 0 if you want to use own position (teleportPosition)
      teleportPosition = { x=95, y=95, z=7 },
      removeItem = 1,
      startMagicEffect = 2,
      destinationMagicEffect = 10,
      haveBattleMessage = "You may not use teleportation while you have battle!",
      minLevel = 100, -- set on 0 to disable
      levelTooLowMessage = "Your level is too low."
    }
    
    function onUse(cid, item, fromPosition, itemEx, toPosition)
      if config.teleportOnlyIfNoBattle == 1 then
        if getCreatureCondition(cid, 1024) == TRUE then
          doPlayerSendCancel(cid, config.haveBattleMessage)
          return FALSE
        end
      end
      
      if config.minLevel > 0 then
        if getPlayerLevel(cid) < config.minLevel then
          doPlayerSendCancel(cid, config.levelTooLowMessage)
          return FALSE
        end
      end
        
      if config.teleportToTemple == 1 then
        doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
      else
        doTeleportThing(cid, config.teleportPosition)
      end
      
      doSendMagicEffect(getCreaturePosition(cid), config.destinationMagicEffect)
      doSendMagicEffect(toPosition, config.startMagicEffect)
      
      if config.removeItem == 1 then
        doRemoveItem(item.uid, 1)
      end
    end
    Pjona!
    Ostatnio zmieniony przez Avixu : 23-02-2010, 17:47

  2. #2

    Notoryczny Miotacz Postów Cro jest teraz offline
    Avatar Cro
    Data rejestracji
    2010
    Położenie
    Aokigahara
    Wiek
    29
    Posty
    1,123
    Siła reputacji
    15

    Domyślny

    Zoptymalizowany
    Kod:
    -- Advanced Experence Rune by Avixu
    -- Dedicated for Aries 0.4.0
    -- Actions.XML: <action itemid="ITEMID" script="experience_rune.lua" allowfaruse="1" />
    
    local config = {
      specialFormula = 0, -- jesli chcesz uzyc formuly ze zmiennymi typu level itp ustaw na 1 i podaj formule w linjce 17
      experiencePoints = 1000,
      magicEffect = 14,
      mayUseOnPlayersMsg = 'You may use this item only on players',
      removeItem = 1
    }
    
    function onUse(cid, item, frompos, item2, topos)
      if(isPlayer(item2.uid) == FALSE) then
        doPlayerSendCancel(cid, config.mayUseOnPlayerMsg)
        doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
        return FALSE
      end
      
      if config.specialFormula == 1 then
        config.experiencePoints = math.random(getPlayerLevel(cid)*10,getPlayerLevel(cid)*200)
      end
    
      doPlayerAddExp(item2.uid, config.experiencePoints)  
      doPlayerSay(item2.uid, '+' ..config.experiencePoints.. ' EXP', 16)
      doSendMagicEffect(topos, config.magicEffect)
      
      if config.removeItem == 1 then
        if(item.type > 1) then 
          doChangeTypeItem(item.uid, item.type - 1)
        elseif(item.type == 1) then
          doRemoveItem(item.uid, 1)
        end
      end
    end
    Bugfix
    Kod:
    -- Quest tile by Avixu
    -- Dedicated for TFS 0.3.5PL2
    
    local config = {
      storageID = 7000,
      storageValue = 1,
      mayPassMessage = "You may pass",
      noPassMessage = "Sorry, you need to do quest first",
      failMagicEffect = 2
    }
    
    function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
    	if(getPlayerStorageValue(cid,config.storageID) == config.storageValue and isPlayer(cid) == TRUE) then
        doCreatureSay(cid, config.mayPassMessage, TALKTYPE_ORANGE_1)
      else
        doTeleportThing(cid, fromPosition, false)
        doSendMagicEffect(fromPosition, config.failMagicEffect)
        doCreatureSay(cid, config.noPassMessage, TALKTYPE_ORANGE_1)
    	end
        return true
    end
    A tak to skrypty bardzo dobre, przejrzyście napisane, łatwe do zrozumienia i pomysłowe.
    Daję Ci 9/10 za małe błędy ;)

  3. Reklama
Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. Sprzedam Różne światy-kilka kont-różne profesje
    Przez Shartek w dziale Postaci
    Odpowiedzi: 3
    Ostatni post: 31-01-2018, 09:46
  2. Inwestycja moich oszczędności
    Przez CZARU w dziale Prawo i finanse
    Odpowiedzi: 31
    Ostatni post: 06-02-2015, 16:49
  3. Różne chary - różne expy
    Przez Sakus w dziale Tibia
    Odpowiedzi: 3
    Ostatni post: 31-07-2014, 23:19
  4. Odpowiedzi: 0
    Ostatni post: 17-02-2010, 16:06
  5. [Mapping] Jak mappuje Avixu?
    Przez Avixu w dziale Mapping
    Odpowiedzi: 8
    Ostatni post: 02-01-2010, 16:59

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •