Ir para conteúdo

Script Super Facil


infernity

Posts Recomendados

Eu gostaria de pedir um escript, queria ele da seguinte maneira:

 

o player fala com o npc e paga 500gps em troca disso ele e recompensado com um 30 diamantes de id: 2146

ao ser pago os 500gps e ele ganha as 30 diamonds ele e teleportado para uma determinada area.

 

gostaria de que alguem me ajudasse com esse script, sei que e facil para quem ja intende do assunto.

vlw a todos :)

rep+ pra quem ajuda!!

Link para o comentário
Compartilhar em outros sites

sim somente uma vez, ao pagar 500gps o jogador e teleportado e ganha 30 diamonds.

 

na verdade esse npc era pra ser posto no saffari para server de pokemon :)

no lugar dos gps se der para por logo dollar e no lugar da diamonds as pokebolas ajudaria

 

obrigadão vodkart

Link para o comentário
Compartilhar em outros sites

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end

function SellItem(cid, message, keywords, parameters, node)
       if(not npcHandler:isFocused(cid)) then
               return false
       end
          if getPlayerStorageValue(cid, parameters.storage) <= 0 then
          if doPlayerRemoveMoney(cid, parameters.price) == TRUE then
             setPlayerStorageValue(cid, parameters.storage, 1)
             doPlayerAddItem(cid,parameters.item,parameters.count)
             doTeleportThing(cid, parameters.teleport) 
       else
               npcHandler:say('Sorry, you dont have ' .. parameters.price .. ' gps!', cid)
       end
       else
               npcHandler:say('Sorry,I already gave the items for you!', cid)
       end
       npcHandler:resetNpc()
       return true
end

local node1 = keywordHandler:addKeyword({'reward'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want buy 30 ' .. getItemNameById(2146) .. 's for 500 gps?'})
node1:addChildKeyword({'yes'}, SellItem, {price = 500,item = 2146,count = 30,teleport = {x = 160, y = 54, z = 7},storage = 90897})
node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Ok, then.', reset = true})

npcHandler:addModule(FocusModule:new())

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

desculpa mas ta dando erro quando vo adiciona no mapa

da erro de formato..

desculpa nao ter avisado mais to usando versão 8.54

teria como da uma arrumada?

a maioria tem isso +-

 

ex :

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Pablo" script="loot.lua" walkinterval="2000" floorchange="0">
<health now="150" max="150"/>
<look type="159" head="132" body="79" legs="97" feet="132" corpse="2212"/>

 

no decorrer do script tem muitos <><><><><>

 

 

brigadão pela atenção vodkart.. se resolver do 2rep++ :D

Editado por infernity
Link para o comentário
Compartilhar em outros sites

ta errado mesmo,não é esse o XML do npc

 

 

NOME DO SEU NPC.xml

<?xml version="1.0"?>
<npc name="NOME DO SEU NPC" script="data/npc/scripts/nome do seu script.lua" walkinterval="5000" floorchange="0">
<health now="100" max="100"/>
<look type="134" head="78" body="88" legs="0" feet="88" addons="3"/>
<parameters>
<parameter key="message_greet" value="Hello |PLAYERNAME|. I can {reward} you..." /> 
</parameters>
</npc>

 

ai em npc/script

 

nome do seu script.lua

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end

function SellItem(cid, message, keywords, parameters, node)
       if(not npcHandler:isFocused(cid)) then
               return false
       end
          if getPlayerStorageValue(cid, parameters.storage) <= 0 then
          if doPlayerRemoveMoney(cid, parameters.price) == TRUE then
             setPlayerStorageValue(cid, parameters.storage, 1)
             doPlayerAddItem(cid,parameters.item,parameters.count)
             doTeleportThing(cid, parameters.teleport) 
       else
               npcHandler:say('Sorry, you dont have ' .. parameters.price .. ' gps!', cid)
       end
       else
               npcHandler:say('Sorry,I already gave the items for you!', cid)
       end
       npcHandler:resetNpc()
       return true
end

local node1 = keywordHandler:addKeyword({'reward'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want buy 30 ' .. getItemNameById(2146) .. 's for 500 gps?'})
node1:addChildKeyword({'yes'}, SellItem, {price = 500,item = 2146,count = 30,teleport = {x = 160, y = 54, z = 7},storage = 90897})
node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Ok, then.', reset = true})

npcHandler:addModule(FocusModule:new())

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

vlw ae vodkart ja dei seu rep++

 

agora so uma duvida..

 

22:56 Shirou Fubuki: Sorry,I already gave the items for you!

 

não teria como compra novamete esse item? e quando esses 30 diamonds acabassem o player fosse teleportado para outro lugar.

 

tipo oque vc fez ja ta bom, so queria o complemeto...

o complemento seria:

compra novamente esses 30 diamonds, player nao poderia compra os 30 diamonds se tivesse com esse item de id na mochila:2150 e quando as diamonds acabassem o player fosse teleportado para outro local.

 

diamonds = pokeball

 

vlw ae, desculpa o encomodo..

sabe como eh ne? xD

Editado por infernity
Link para o comentário
Compartilhar em outros sites

deixa eu ve se eu entendi direito oque vc quer...

 

O npc só vai vender novamente os diamond se o jogador não tiver nenhum diamond na bag é isso?

caso contrario ele compra os diamond e é teleportado denovo?

Link para o comentário
Compartilhar em outros sites

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end

function SellItem(cid, message, keywords, parameters, node)
       if(not npcHandler:isFocused(cid)) then
               return false
       end
          if (getPlayerItemCount(cid, 2146) < parameters.count) then
          if doPlayerRemoveMoney(cid, parameters.price) == TRUE then
             doPlayerAddItem(cid,parameters.item,parameters.count)
             doTeleportThing(cid, parameters.teleport) 
       else
               npcHandler:say('Sorry, you dont have ' .. parameters.price .. ' gps!', cid)
       end
       else
               npcHandler:say('Sorry,you already have 30 diamonds!', cid)
       end
       npcHandler:resetNpc()
       return true
end

local node1 = keywordHandler:addKeyword({'reward'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want buy 30 ' .. getItemNameById(2146) .. 's for 500 gps?'})
node1:addChildKeyword({'yes'}, SellItem, {price = 500,item = 2146,count = 30,teleport = {x = 160, y = 54, z = 7}})
node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Ok, then.', reset = true})

npcHandler:addModule(FocusModule:new())

Link para o comentário
Compartilhar em outros sites

VALEEEUU VODKARTTTT DUVIDA RESOLVIDAAA

 

 

agora so uma coisinha teria como o player ser teleportado para outro local quando os diamonds acabassem da muchila dele? :D

 

VALEU SE N TIVER COMO DEIXA KETOO

AJUDO MUITOOOO

Editado por infernity
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...