Postado Outubro 4, 2017 7 anos sobre o sistema de premium points.. voce tem ou nao ? Editado Outubro 4, 2017 7 anos por Enzo Caue (veja o histórico de edições)
Postado Outubro 4, 2017 7 anos Autor antes de postar alguma coisa esporando alguém leia o tópico pelo menos ajuda, o fórum, e para compartilhar ideia, não discutir 4 minutos atrás, Enzo Caue disse: sobre o sistema de premium points.. voce tem ou nao ? novamente vejo que você e leigo, vou te explicar, ai talvez pois vejo que voce nao vai ganhar nada falando bobagem nesse topico, o que tenho e a função doStartTrade e onTradeaccept, implementadas na source para ser chamada em um script que interage com um npc no caso seria dois scripts que NÃO ESTÃO FEITOS!!!, esse post e para programadores se ajudarem a desenvolver esse codigo, noa tem nada pronto!!! você quer de mão beijada ?? não sou obrigado e me virar nos 30 e te da rum sistema sendo que não esta pronto!, leiam o post e se for falar algo desnecessário nem comente por favor. Editado Outubro 4, 2017 7 anos por SilentKill (veja o histórico de edições)
Postado Outubro 4, 2017 7 anos cara, para de ser louco... é mais facil voce criar varios scrolls e atribuir a cada um x valor, ex. scrol 1 = 10 pp, scroll 2 = 20 pp. o script do premium scroll é facil, toma. local function doPlayerAddPremiumPoints(cid, count) db.query('UPDATE accounts SET premium_points = premium_points+'.. count ..' WHERE id = ' .. getAccountNumberByPlayerName(getCreatureName(cid))) end function onUse(cid, item, fromPosition, itemEx, toPosition) doPlayerAddPremiumPoints(cid, VALORDOSCROLL) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You have recived VALORDOSCROLL Coins to your account.") doSendMagicEffect(getCreaturePosition(cid), 28) doRemoveItem(item.uid,1) return true end onde tem VALORDOSCROLL vc troca pelo valor que vc quiser. dps só atribuir uma action pro item e pronto. quando o player usar ele vai receber os pontos na conta dele. pra vender o scroll vc pode vender pelo site pelo preco do scroll mesmo. quanta dificuldade. script para tfs 1.x ai na hora do trade, quando o player 1 for vender pro player 2, não vai precisar dessa frescura toda. quanto menos código + agil. Editado Outubro 4, 2017 7 anos por Enzo Caue (veja o histórico de edições)
Postado Outubro 4, 2017 7 anos Autor 9 minutos atrás, Enzo Caue disse: cara, para de ser louco... é mais facil voce criar varios scrolls e atribuir a cada um x valor, ex. scrol 1 = 10 pp, scroll 2 = 20 pp. o script do premium scroll é facil, toma. local function doPlayerAddPremiumPoints(cid, count) db.query('UPDATE accounts SET premium_points = premium_points+'.. count ..' WHERE id = ' .. getAccountNumberByPlayerName(getCreatureName(cid))) end function onUse(cid, item, fromPosition, itemEx, toPosition) doPlayerAddPremiumPoints(cid, VALORDOSCROLL) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You have recived VALORDOSCROLL Coins to your account.") doSendMagicEffect(getCreaturePosition(cid), 28) doRemoveItem(item.uid,1) return true end onde tem VALORDOSCROLL vc troca pelo valor que vc quiser. dps só atribuir uma action pro item e pronto. quando o player usar ele vai receber os pontos na conta dele. pra vender o scroll vc pode vender pelo site pelo preco do scroll mesmo. quanta dificuldade. script para tfs 1.x ai na hora do trade, quando o player 1 for vender pro player 2, não vai precisar dessa frescura toda. quanto menos código + agil. Obrigado por compartilhar, não é pra isso e tópico, vou terminar meu script e demostrar como seria, como seria, dessa maneira, como uso tfs 0.4 8.60 os players podem, clonar o scroll, e atribuir pontos, esse sistema e para fazer trocar dentro do jogo usando o trade, assim que o player da trade em outro player com o documento quando ele der ok, os pontos serão transferidos para a conta do outro player e os pontos retirados da conta do player
Postado Outubro 7, 2017 7 anos Olá @SilentKill pelo que eu entendi do sistema é o seguinte, funciona como uma troca de PONTOS por ITEMS usando o trade. correto? Aqui vai os scripts! 1º Em data/npc/scripts adicione um arquivo chamado NamekJin Seller.lua e cole isso dentro: 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 greetCallback(cid) talkState[cid] = 0 return true end function creatureSayCallback(cid, type, msg) if (not npcHandler:isFocused(cid)) then return false end if talkState[cid] == nil or talkState[cid] == 0 then Count_Points = tonumber(msg) if isInArray(Points_Trade.Points, Count_Points) then npcHandler:say("Do you want to buy a premium points transfer document that will transfer ".. Count_Points .." premium points, right?", cid) talkState[cid] = 1 else npcHandler:say("Escolha um numero entre ".. table.concat(Points_Trade.Points, ', ') ..".", cid) talkState[cid] = 0 end elseif talkState[cid] == 1 then if msgcontains(msg, 'yes') then local Document = doCreateItemEx(Points_Trade.Document_ItemID) doItemSetAttribute(Document, "name", "".. Count_Points .." premium points transfer document") doItemSetAttribute(Document, "points", Count_Points) doPlayerAddItemEx(cid, Document) npcHandler:say("Você obteve um documento que vale ".. Count_Points .." premium points, use ele no trade com alguem.", cid) talkState[cid] = 0 else npcHandler:say("Ok, volte mais tarde.", cid) talkState[cid] = 0 end end return true end npcHandler:setMessage(MESSAGE_GREET, "Ola |PLAYERNAME|. Eu vendo alguns utensílios e Premium Points transfers para você transferir pontos para outros jogadores, lembre-se para comprar use '10,ppt' para 10 pontos.") npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) 2º Em data/lib adicione um arquivo chamado Points_Trade.lua e cole isso dentro: Points_Trade = { Document_ItemID = 1954, Points = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100}, } function DocumentPoints(Item) return tonumber(getItemAttribute(Item.uid, "points")) end function getPlayerPoints(cid) local AccountID = getPlayerAccountId(cid) local Points = 0 local Result = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = ".. AccountID .."") if Result:getID() ~= -1 then Points = Result:getDataInt("premium_points") end return tonumber(Points) end function doPlayerAddPoints(cid, Points) local AccountID = getPlayerAccountId(cid) local Result = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = '".. AccountID .."'") if Result:getID() ~= -1 then db.executeQuery("UPDATE `accounts` SET `premium_points` = " .. getPlayerPoints(cid) + Points .. " WHERE `id` = " .. AccountID .. ";") end return true end function doPlayerRemovePoints(cid, Points) local AccountID = getPlayerAccountId(cid) local Result = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = '".. AccountID .."'") if Result:getID() ~= -1 then db.executeQuery("UPDATE `accounts` SET `premium_points` = " .. getPlayerPoints(cid) - Points .. " WHERE `id` = " .. AccountID .. ";") end return true end 3º Em data/creaturescripts/scripts adicione um arquivo chamado Points_Trade.lua e cole isso dentro: function onTradeAccept(cid, target, item, targetItem) if isPlayer(cid) and isPlayer(target) then if item.itemid == Points_Trade.Document_ItemID then doPlayerSendTextMessage(target, MESSAGE_STATUS_WARNING, "Você recebeu ".. DocumentPoints(item) .." premium points.") doPlayerAddPoints(target, DocumentPoints(item)) doPlayerRemovePoints(cid, DocumentPoints(item)) addEvent(doPlayerRemoveItem, 1, target, Points_Trade.Document_ItemID, 1) elseif targetItem.itemid == Points_Trade.Document_ItemID then doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você recebeu ".. DocumentPoints(targetItem) .." premium points.") doPlayerAddPoints(cid, DocumentPoints(targetItem)) doPlayerRemovePoints(target, DocumentPoints(targetItem)) addEvent(doPlayerRemoveItem, 1, cid, Points_Trade.Document_ItemID, 1) end end return true end function onTradeRequest(cid, target, item) if item.itemid == Points_Trade.Document_ItemID then if getPlayerPoints(cid) < DocumentPoints(item) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você não tem ".. DocumentPoints(item) .." para realizar uma troca.") return false end end return true end 4º Em data/creaturescripts/scripts/login.lua adicione isso dps de qualquer linha que contenha registerCreatureEvent registerCreatureEvent(cid, "Points_Trade_Request") registerCreatureEvent(cid, "Points_Trade") 5º Em data/creaturescripts/creaturescripts.xml adicione uma tag: <event type="traderequest" name="Points_Trade_Request" event="script" value="Points_Trade.lua"/> <event type="tradeaccept" name="Points_Trade" event="script" value="Points_Trade.lua"/> 6º Em data/npc adicione um arquivo chamado NamekJin Seller.xml e coloque isso dentro: <?xml version="1.0" encoding="UTF-8"?> <npc name="NamekJin Seller" script="NamekJin Seller.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="138" head="97" body="59" legs="45" feet="102" addons="2"/> </npc> Se te ajudou marque como melhor resposta!, obrigado. Editado Outubro 11, 2017 7 anos por Danyel Varejao (veja o histórico de edições)
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.