Função "doplayeraddpremiumpoints"

Vodkart
em Tutoriais de Scripting

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

fala galera, eu apresento a você diretamente, e de repente uma função útil "doPlayerAddPremiumPoints"

 

exemplo de Aplicação:

 

config = {
points = 40,
effect = 53
} 
function onUse(cid, item, fromPosition, itemEx, toPosition)

   if(not isPlayer(itemEx.uid)) then 
       return false 
   end 

   doPlayerAddPremiumPoints(cid, cfg.points) 
   doCreatureSay(cid, "Voce recebeu " .. cfg.points .. " premium points!", TALKTYPE_ORANGE_1, toPosition) 
   doSendMagicEffect(toPosition, cfg.effect) 
   doRemoveItem(item.uid, 1) 
   return TRUE 
end  

 

para adicionar vá até:

 

Data/lib/function.lua e adicione:

 

function doPlayerAddPremiumPoints(cid, points) 
   return db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` + " .. points .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";") 
end  

bossisg.png

-Fark-

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 11/04/09Posts: 118Char no Tibia: Boneco Zoado

olá vodkart, gostei muito do seu script...

mas queria perguntar: tem como colocar um npc pra vender itens através dos premium points ?

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

tem sim

 

exemplo...

 

npc tem uma funçao de remover dinheiro (nesse caso ustei tabela :p)

 

local price = 10
doPlayerRemoveMoney(cid, price)

 

então ele poderá remover premium points também

 

 

local pricePoints = 5
doPlayerAddPremiumPoints(cid, -pricePoints)

bossisg.png

Doidin

Delícia
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 25/06/08Posts: 723Gênero: MasculinoChar no Tibia: Diiva

-Fark-, fiz correndo nem testei, depois da uma testada ai... ;]

 

-- [( XTibia.com )] --
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
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 creatureSayCallback(cid, type, msg)
	if(not npcHandler:isFocused(cid)) then
   return FALSE
end

local money = 10000 -- Quantidade de dinheiro que o player necessita!
       local points = 35 -- Quantidade de poits que o NPC irá vender.
       local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

       if msgcontains(msg, 'premium point') then
       npcHandler:say("Huum, I can sell "..points.." points for you, do you want?", cid)
               talkState[talkUser] = 1
               end
elseif msgcontains(msg, 'yes') then
               if talkState[talkUser] == 1 then
               if getPlayerMoney(cid=) >= money then
	doPlayerAddPremiumPoints(cid, points)
               doPlayerRemoveMoney(cid, money)    
               npcHandler:say("Voce recebeu "..points.." premium points!", cid)   
	talkState[talkUser] = 0
	else           
       npcHandler:say("Sorry, you don't have a money.", cid)        
       end  
return TRUE  
end
end
end
end
     elseif(msgcontains(msg, 'no') and talkState[talkUser] == 1) then
         npcHandler:say("Ok, good bye!", cid)
         talkState[talkUser] = 0
	end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Meu site pessoal:
https://devmat.com.br/


dono do um sitezinho qualquer

o lado negro da força, bjs

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

isso ai doidin muito bom cara

 

só que ele queria pra vender itens atraves de premium points e não comprar mais é quase isso ai rsrsrs

 

valeu fera

bossisg.png

Doidin

Delícia
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 25/06/08Posts: 723Gênero: MasculinoChar no Tibia: Diiva

kkkkkkkkkkkkk viajei agora.. =)

Como você já resolveu nem vou fazer outro npc então... ;]

Meu site pessoal:
https://devmat.com.br/


dono do um sitezinho qualquer

o lado negro da força, bjs

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

nd mano agr ja temos um npc de vender premium points \o

quanto mais melhor né uhu

o importante é que você está se dedicando nessa area e vc leva muito jeito p/ codigo LUA

parabens ai jhow

bossisg.png

-Fark-

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 11/04/09Posts: 118Char no Tibia: Boneco Zoado
:D muito bom, vlw msm REP++

Blueberry

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 01/11/11Posts: 10

Descukpa reviver, mas realmente preciso deste script, fiz tudo certinho aqui, mas quando eu uso o item, nada acontece, e nenhuma mensagem retorna no console de erro também.

elmaestro

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 08/12/11Posts: 2Char no Tibia: Eoxyos Rhoul

como que adc isso cara? :S

Vilden

Loading. . .
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 09/05/08Posts: 1597

Local incorreto, não sei o melhor local para está função.

irei mover para tutoriais de scripting.

 

Movido!

Atenciosamente, Vilden.

Luquinhas Brito

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 08/09/16Posts: 4

Esse função remove points.

exemplo: 

Na db você tem 200

doPlayerRemovePremiumPoints(cid, 100)

result removeu 100 e ficou 100

 

  function doPlayerRemovePremiumPoints(cid, removePoints)
    local queryPoints = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = "..getPlayerAccountId(cid)..";")    
    getPoints = queryPoints:getDataInt("premium_points", getPlayerAccountId(cid))
    local newPoints = getPoints - removePoints    
    local updatePoints = db.executeQuery("UPDATE `accounts` SET `premium_points` = ".. newPoints .." WHERE `id` = " .. getPlayerAccountId(cid) .. ";")
    return newPoints
  end