Alguns Comandos

Tprocheira
em Tutoriais de Scripting

Tprocheira

WOOOOW
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 23/12/07Posts: 566Char no Tibia: Tprocheira soldier

Tutorial baseado em SQL!

 

 

 

 

Bem, eu tenho aqui para apresentar dois scripts. Um é para você ver a lista de mortes de alguem, por exemplo:

Você quer saber para quem seu amigo morreu, você fala: !deathlist "nome. Ai aparece uma telinha que mostra as mortes, quando e em que level. Ai vai o script:

function onSay(cid, words, param)

dofile("./config.lua")

if sqlType == "mysql" then

env = assert(luasql.mysql())

con = assert(env:connect(mysqlDatabase, mysqlUser, mysqlPass, mysqlHost, mysqlPort))

else -- sqlite

env = assert(luasql.sqlite3())

con = assert(env:connect(sqliteDatabase))

end

local cur = assert(con:execute("SELECT `name`, `id` FROM `players` WHERE `name` = '" .. escapeString(param) .. "';"))

local row = cur:fetch({}, "a")

cur:close()

if row ~= nil then

local targetName = row.name

local targetGUID = row.id

local str = ""

local breakline = ""

for time, level, killed_by, is_player in rows(con, "SELECT `time`, `level`, `killed_by`, `is_player` FROM `player_deaths` WHERE `player_id` = " .. targetGUID .. " ORDER BY `time` DESC;") do

if str ~= "" then

breakline = "\n"

end

local date = os.date("*t", time)

 

local article = ""

if tonumber(is_player) ~= TRUE then

killed_by = string.lower(killed_by)

article = getArticle(killed_by) .. " "

end

 

if date.day < 10 then date.day = "0" .. date.day end

if date.hour < 10 then date.hour = "0" .. date.hour end

if date.min < 10 then date.min = "0" .. date.min end

if date.sec < 10 then date.sec = "0" .. date.sec end

str = str .. breakline .. " " .. date.day .. getMonthDayEnding(date.day) .. " " .. getMonthString(date.month) .. " " .. date.year .. " " .. date.hour .. ":" .. date.min .. ":" .. date.sec .. " Died at Level " .. level .. " by " .. article .. killed_by .. "."

end

if str == "" then

str = "No deaths."

end

doPlayerPopupFYI(cid, "Deathlist for player, " .. targetName .. ".\n\n" .. str)

else

doPlayerSendCancel(cid, "A player with that name does not exist.")

end

con:close()

env:close()

end

 

Eu só pesso que não editem, pois é muito complicado. Aconselho a usarem ele somente em server com SQL, pois só consegui testa-lo em servers com SQL!

 

Premium Account

 

Agora vai um que é para você comprar 90 dias de premium por 10k, somente falando uma coisa. Este segundo pode até funcionar em XML, você só precisa do comando "doPlayerAddPremiumDays" que vem no TFS.

 

function onSay(cid, words, param)

if getPlayerPremiumDays(cid) <= 360 then

if doPlayerRemoveMoney(cid, 10000) == TRUE then

doPlayerAddPremiumDays(cid, 90)

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have bought 90 days of premium account.")

else

doPlayerSendCancel(cid, "You don't have enough money, 90 days premium account costs 10000 gold coins.")

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

end

else

doPlayerSendCancel(cid, "You can not buy more than one year of Premium Account.")

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

end

end

 

Aí você coloca o máximo de dias.

Aí você edita o preço.

Onde tem as mensagens, é o que aparece quando:

1º- Quando compra a P.A.

2º- Quando o player não tem dinheiro.

3º-Quando alguem tenta comprar mais do que o tempo determinado no começo.

 

 

Mais um tutorial! Cyaaa!

Conde Sapo

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 14/08/07Posts: 322Char no Tibia: Conde Sapo (Secura)

Parece interessante

mas meu OT não aceita esses comandos

 

alguem testa ae PLX

 

 

:XTibia_smile:

-----------------------
-------------------------------


Encontro de Quake na minha Ex-LAN

odeio rapidshare

"Criticas enriquecem o trabalho dos inteligentes.
Os negligentes simplesmente as ignoram." - Conde Sapo

"A melhor recompensa do Mestre ,
é ver o Aluno superar as espectativas." - Conde Sapo



(finalmente me convenceram a fazer a Fan Bar)

Meus trabalhos :
\/------- Clicar

01 - Porta com chave numérica
02 - Efeito de MAR em movimento
03 - Fruta na Árvore (acrescentei arvore)
04 - NPC Messager
05 - Monstros Morrem Mas Nao Somem Do Mapa
06 - Simulando UnderWater
07 - SpellBook (Book 2175)
08 - CommandsSpellBook (Book 6120)
09 - Fixo: Tudo Sobre A Linguagem Lua
10 - Dice (Rolando os dados)
11 - Voodoo Skull (previsão da sorte do dia)
12 - Caça Niqueis
13 - Mapa-spawn.xml (Como funciona)
14 - Pendurando objetos na parede
15 - Santa Doll (Papai Noel)
16 - EuTeAmoVoce [Instant Spell]
17 - doSendAnimatedText (Todas as cores)
18 - NPC Banqueiro
19 - 8 Bichos (Massive Summon)
20 - Transformando Barril Simples em Barril de Mana Fluid
21 - Quebrando Itens Com Arma (Tirando BUG)
22 - Padre Marcelo (Totalmente REFEITO)
23 - Npc De Backpack ( Back Picka )
24 - Npc De Dolls ( Baby Doll )
25 - Fonte Da Juventude (Mana e Life)
26 - NPC que troca itens
27 - Removendo paredes com PAUSA, (efeito visual lindo)
28 - Halloween - Fazendo o PumpkinHead
29 - Halloween - Criando o monstro Halloween Hare
30 - Mapa pra fazer Testes (Sapo.otbm)
31 - Fishing Rod (Qualquer versão)
32 - Jungle Maw (planta que morde)
33 - Npc Stan (fantasias de Carnaval)
Clicar -------/\

Tprocheira

WOOOOW
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 23/12/07Posts: 566Char no Tibia: Tprocheira soldier

Bem, eu testei no TFS. Ele funciona basicamente em SQL. Existem alguns outros otservs em SQL.

Na verdade, esse comando foi feito por causa que o TFS usa Jiddo's System NPC. Ele é muito mais facil de se fazer.

Rustty

Ex - Coordenador de Conteúdo
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 30/07/07Posts: 151

Aprovado.

Motivo : Fácil compreensão e de ótima utilidade.

Movido para Tutoriais de Scripting.

mixteen

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/11/05Posts: 20Char no Tibia: Sir Teku

Gostei vo testa se funfa vo usa

Gostou do meu trabalho, é meu fan entao use:

Sou Fan de:














METAS

METAS:
[X]1post
[X]5 posts (SERVO)
[X]10 posts (CAMPONÊS)
[X]25 posts (CAÇADOR)
[ ]50 posts (CAVALEIRO)
[ ]100 posts (BARONETE)
[ ]200 posts (BARÃO)
[ ]300 posts (VISCONDE)
[ ]400 posts (DUQUE)
[ ]600 posts (ARQUEDUQUE)
[ ]800 posts (ARISTOCRATA)
[ ]1000 posts (REGENTE)
[ ]1400 posts (SÁBIO)
[ ]1800 posts (SACERDOTE)
[ ]2500 posts (PRÍNCIPE)

Minha assinatura

MIXTEEN

Wenemy

avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 24/02/08Posts: 134Char no Tibia: Buster of Flame

Ahhhh, podia funcionar em XML que seria muito legal, mas o topico esta muito bem feito separado por cores e titulos, parabens

 

//The Wenemy




//The Wenemy - Mapper



Dorion 7.81 PERFECT

Zorrado

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 03/12/07Posts: 38Char no Tibia: Silan da favela

Como posso fazer para em vez de aparecer 1 player aparecer os 2 players que mataram o player!

exemplo

 

Killed at level 118 by Farofero and by Gordo boy.

 

tem jeito?