Cronox Aportadores
Posts : 15 Points : 39 Reputation : 0 Join date : 14/07/2012
| Tema: [Action] Bomba by Cronox Sáb Jul 14, 2012 8:30 pm | |
| bueno pues aqui les traigo esta action xD! lo que hace es crear una bomba y tu a distance la accionas !!Vamos Por lo primero:
abren la carpeta de su ot Data/actions/scripts y asen un lua que se llame bombs.lua Y pegamos esto adentro: - Código:
-
local mainStorage = 1500 -- valor de almacenamiento local maxBombCount = 5 -- [color=#000000]Cada cuántos segundos puedes bomba. [/color]Cada bomba de almacenamiento necesarios 4 local podlozenieTime = 2 -- [color=#000000]Cuántos segundos cargar bombas HOP[/color] local naCzas = "nie" -- [color=#000000]Es la bomba de tiempo es (sí) o detona cuando se utiliza el tema (no)[/color] local tekst = "tak" -- [color=#000000]La explosión de una bomba es escribir Explode! [/color]rojo local uciekac = "nie" -- [color=#000000]Es muestra la inscripción de huir cuando la bomba explota[/color] local wybuchTime = 3 -- [color=#000000]Después de cuántos segundos después que una bomba[/color] local area = { -- [color=#000000]La zona en la que la bomba explote. [/color]3 es la ubicación bomba {0, 0, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 3, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 0, 0} } local min = 29000 -- [color=#000000]Cuánto CV se requiere un mínimo de una bomba[/color] local max = 30000 -- [color=#000000]Cuánto CV ocupa una bomba[/color] local kolorTekstow = (TALKTYPE_MONSTER ~= nil and TALKTYPE_MONSTER or TALKTYPE_ORANGE_1) -- [color=#000000]Colores a los mensajes[/color] local condition = createConditionObject(CONDITION_INFIGHT) setConditionParam(condition,CONDITION_PARAM_TICKS,(podlozenieTime+wybuchTime+1)*1000) -- A continuación no se mueve area = createCombatArea(area) naCzas = (naCzas == "tak" and true or false) tekst = (tekst == "tak" and true or false) uciekac = (uciekac == "tak" and true or false) function onUse(cid, item, frompos, item2, topos) if(item.itemid == 8300) then if(naCzas) then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"[color=#000000]No se puede detonar una bomba[/color].") return TRUE end local aktualnyStorage = mainStorage+1 local ileBomb = 0 -- Ile bomb eksplodowalo while(getPlayerStorageValue(cid,aktualnyStorage) > 0) do local pos = {x=getPlayerStorageValue(cid,aktualnyStorage), y=getPlayerStorageValue(cid,aktualnyStorage+1), z=getPlayerStorageValue(cid,aktualnyStorage+2), stackpos=getPlayerStorageValue(cid,aktualnyStorage+3)} ileBomb = ileBomb+1 detonujBombe(cid, pos, aktualnyStorage) aktualnyStorage = aktualnyStorage+4 end if(ileBomb == 0) then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"No has colocado una bomba.") else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,ileBomb .." bomb".. (ileBomb == 1 and "a" or "") .." Explotada".. (ileBomb == 1 and "" or "o") ..".") end return TRUE end -- Podkladanie bomb local playerPos = getCreaturePosition(cid) if(getTilePzInfo(playerPos) == TRUE or getTileHouseInfo(playerPos) == TRUE) then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"No puedes poner una bomba en Pz .") return TRUE end local aktualneBomby = getPlayerStorageValue(cid,mainStorage) if(aktualneBomby+maxBombCount > os.time()) then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"tienes que esperar para poner otra bomba.") return TRUE end local ileMaBomb = 0 local aktualnyStorage = mainStorage+1 while(getPlayerStorageValue(cid,aktualnyStorage) > 0) do ileMaBomb = ileMaBomb+1 aktualnyStorage = aktualnyStorage+4 end if(item.type > 1) then doChangeTypeItem(item.uid,item.type-1) else doRemoveItem(item.uid,1) end doCreatureSay(cid,"...",kolorTekstow) addEvent(podlozBombe,podlozenieTime*1000,cid,playerPos,aktualnyStorage) setPlayerStorageValue(cid,mainStorage,os.time()) end function podlozBombe(cid, pozycjaGracza, storage) if(isPlayer(cid) == FALSE) then return FALSE end local playerPos = getCreaturePosition(cid) if(playerPos.x ~= pozycjaGracza.x or playerPos.y ~= pozycjaGracza.y or playerPos.z ~= pozycjaGracza.z) then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Te moviste y no c coloco la bomba.") return TRUE end local bomba = doCreateItem(9893,1,pozycjaGracza) local bombaPos = getThingPos(bomba) setPlayerStorageValue(cid,storage,pozycjaGracza.x) setPlayerStorageValue(cid,storage+1,pozycjaGracza.y) setPlayerStorageValue(cid,storage+2,pozycjaGracza.z) setPlayerStorageValue(cid,storage+3,bombaPos.stackpos) if(not naCzas) then doCreatureSay(cid,"Bomba Puesta",kolorTekstow) doAddCondition(cid,condition) else if(uciekac) then doCreatureSay(cid,"UCIEKAC! Zaraz wybuchnie!",kolorTekstow) end addEvent(detonujBombe,wybuchTime*1000,cid,bombaPos,storage) doAddCondition(cid,condition) end return TRUE end function detonujBombe(cid, pos, storage) local playerPos = getCreaturePosition(cid) if(playerPos.x ~= pos.x or playerPos.y ~= pos.y or playerPos.z ~= pos.z) then pos.stackpos = pos.stackpos-1 end local bomba = getThingfromPos(pos) if(bomba.itemid == 9893) then doAreaCombatHealth(0, COMBAT_PHYSICALDAMAGE, pos, area, -min, -max, CONST_ME_FIREAREA) setPlayerStorageValue(cid,storage,0) if(tekst) then doSendAnimatedText(pos,"Kaboom!!",TEXTCOLOR_RED) end doRemoveItem(bomba.uid,1) return TRUE end return FALSE end despues en actions.xml ponemos esto: - Código:
-
<action itemid="ID DEL ITEM" script="bombs.lua" /> Aqui una imagen : [Tienes que estar registrado y conectado para ver este vínculo]Espero que les guste, Gracias :) | |
|