Postado Agosto 20, 2014 10 anos Fuçando em alguns arquivos antigos, acabei encontrando um script old que havia feito para um jovem. Consiste em clicar no item (no caso, a chave do automóvel), será verificado se o automóvel em questão está estacionado na sua frente, caso não estiver, aparecerá uma mensagem informando. Do contrário, você irá "entrar" no automóvel. Conforme for andando com o mesmo, será gasto uma quantia de "combustível" (se não me engano, usei crystal coins como item), não será possível continuar andando quando o combustível zerar, se tentar, você descerá do automóvel automaticamente, com uma mensagem informando-o. Poderia criar um posto de combustível ou algo assim, seria simples, vai da criatividade do sujeito. Mas enfim, vamos ao script: Vá em Data/Actions, e abra o arquivo actions.xml, adicione a tag: <action itemid="Item ID do item que será a chave" event="script" value="drive.lua"/> Salve. Ainda em actions, vá em scripts, crie um novo arquivo .lua e o nomeie de drive (ficando drive.lua), adicione o seguinte em seu interior: function onUse(cid, item, frompos, item2, topos) local config = { thing = getThingFromPos(getCreatureLookPosition(cid)), looktype = {lookType = 129 }, --- lookType do player no automóvel. storage = 32001, --- Storage usada. speed = 474 --- Velocidade que será adicionada. } if getPlayerStorageValue(cid, config.storage) == 1 then setPlayerStorageValue(cid, 32001, 0) doCreatureSetLookDir(cid, 4) doRemoveCondition(cid, CONDITION_OUTFIT) doChangeSpeed(cid, -config.speed) doPlayerSendCancel(cid,'Voce acaba de sair de seu veículo.') doCreateItem(2397, 1, getCreaturePosition(cid)) doTeleportThing(cid, getCreatureLookPosition(cid)) else if (config.thing.itemid == 2397) then --- No caso, seria o itemid do automóvel estacionado. Eu adicionei como item, sugiro que faça o mesmo. if getPlayerStorageValue(cid, config.storage) ~= 1 then doRemoveItem(config.thing.uid, 1) doTeleportThing(cid, getCreatureLookPosition(cid)) doCreatureSetLookDir(cid, 2) doChangeSpeed(cid, config.speed) doSetCreatureOutfit(cid, config.looktype, -1) doSendAnimatedText(getCreaturePosition(cid), 'Vrumm!', 32) doPlayerSendCancel(cid, 'Voce acaba de entrar em seu veículo.') setPlayerStorageValue(cid, config.storage, 1) end else doPlayerSendCancel(cid, 'Não há nenhum automóvel estacionado aqui.') end end return true end Salve. Vá em data/movements, abra o arquivo movements.xml, e adicione a tag: (Esses eram os id's do asfalto, no caso eu coloquei para ser gasto combustível apenas neles, sugiro que use action id ao invés disso, então será só adicionar o action id onde desejar) Tag's como usei, por itemid: <movevent type="StepIn" itemid="977" event="script" value="combustivel.lua"/> <movevent type="StepIn" itemid="978" event="script" value="combustivel.lua"/> <movevent type="StepIn" itemid="979" event="script" value="combustivel.lua"/> <movevent type="StepIn" itemid="985" event="script" value="combustivel.lua"/> como sugiro que use a tag: <movevent type="StepIn" actionid="Action ID que desejar" event="script" value="combustivel.lua"/> Ainda em movements, vá em scripts, crie um novo arquivo .lua e o nomeie de combustivel (ficando combustivel.lua), e coloque isso em seu interior: - function onStepIn(cid, item, position, fromPosition) local tab = { gas = 2152, --- Item ID da gasolina (no caso usei crystal coins, se bem me lembro) storage = 32001, --- Storage usada no drive.lua speed = 474 --- Velocidade que configurou no drive.lua } if getPlayerStorageValue(cid, tab.storage) == 1 then if getPlayerItemCount(cid, tab.gas) ==0 then setPlayerStorageValue(cid, tab.storage, 0) doCreatureSetLookDir(cid, 4) doRemoveCondition(cid, CONDITION_OUTFIT) doChangeSpeed(cid, -tab.speed) doPlayerPopupFYI(cid, 'Seu combustível acabou.') doCreateItem(2397, 1, getCreaturePosition(cid)) doTeleportThing(cid, getCreatureLookPosition(cid)) else doPlayerRemoveItem(cid, tab.gas, 1) end end return true end Configure a tabela, salve. Agora vá em data, creaturescripts, scripts, e abra o arquivo login.lua, e coloque: if getPlayerStorageValue(cid, 32001) == 1 then --- Storage usada no drive.lua setPlayerStorageValue(cid, 32001, 0) doCreatureSetLookDir(cid, 4) doRemoveCondition(cid, CONDITION_OUTFIT) doChangeSpeed(cid, -Speed) --- Coloque em números a speed que configurou no drive.lua doCreateItem(2397, 1, getCreaturePosition(cid)) doTeleportThing(cid, getCreatureLookPosition(cid)) end Onde colocar? Logo abaixo de: function onLogin(cid) accountManager = "Account Manager" managerCounter = 0 Pronto. Abraços.
Postado Dezembro 31, 2014 10 anos Foda rep + Pena que ninguem se interessa por isso apenas eu. o unico que falou. Venha curti o Pokémon Underwater! FB/PokemonUnderwater
Postado Janeiro 5, 2015 10 anos aparentemente um script bem legal, mas devia deixar explicando como usa, se eu descobrir aqui e for bom dou rep+
Postado Janeiro 8, 2015 10 anos Mano explica tudo leia direitinho. Venha curti o Pokémon Underwater! FB/PokemonUnderwater
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.