[pedido] Tenho Pedidos De Script E Talkaction

bxkbxk
Por bxkbxk
em Lixeira Pública

bxkbxk

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/03/08Posts: 1

Ola gente... eu denovo :p

 

Tenho alguns pedidos sobre Sript e talkaction.

 

1°-Voce fala [Exemplo] !item, dai vc ganha um item, mas perde um item[exemplo, crystal coin]?

 

2°-Um script que a cada 1 hora ou 2 hora da clean no server

 

3°-Por exemplo, um talkaction que vc compra uma magia, tipo !blastspell, dai vc perde um certo item [exemplo, crystal coin], mas vc pod soltar o blast spell...

 

E otra coisa, se o Macryzius ler este topico, me responda uma coisa,

Naquele topico anterior Topico, voce disse o talkaction completo, mas me explique 3 coisas [xD]

1-O que exatamente precisa por nessa parte:

if(getPlayerVocation(cid) > 4) then [Eh o ID da classe?]

 

2-Tem que por 4 talkaction para cada vocaçao?

 

3-Como resolve este erro:

[15/08/2009 20:52:18] Warning: [Event::loadScript] Can not load script. data/talkactions/scripts/blastkina.lua

[15/08/2009 20:52:18] data/talkactions/scripts/blastkina.lua:17: 'end' expected (to close 'if' at line 2) near '<eof>'

 

 

 

 

Agradecido desde ja

Wiltry

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 03/07/08Posts: 306

1°Script

 

function onSay(cid, words, param)

itemid = 2160 -- cristal coin, no caso o item que da em troca
item = 2160 -- item que ganha
itemname = getItemNameById(item)
itemidname = getItemNameById(itemid)

if doRemoveItem(cid, itemid, [b]1[/b]) == TRUE then -- 1 e igual a quantidade
doPlayerAddItem(cid, item, 1)
doPlayerSendTextMessage(cid, 22, "Você comprou um(a) "..itemname..".")
else
doPlayerSendTextMessage(cid, 22, "Você precisa de um(a) "..itemidname.." para ganhar um(a) "..itemname..".")
end
return TRUE
end

<talkaction words="!item" script="nomedoscript.lua"/>

 

Não testei, qualquer bug posta ae.

 

Script 2:

O seu servidor tem a pasta globalevents?

Se tiver, vem um script no TFS assim:

function executeClean()
doCleanMap()
doBroadcastMessage("Game map cleaned, next clean in 2 hours.")
return TRUE
end

function onThink(interval, lastExecution)
doBroadcastMessage("Game map cleaning within 30 seconds, please pick up your items!")
addEvent(executeClean, 30000)
return TRUE
end

<globalevent name="clean" interval="7200" event="script" value="clean.lua"/>

 

Dai só configurar como quizer...

 

A da magia nao sei fazer...

E sobre o bug do Marcryzius

[15/08/2009 20:52:18] Warning: [Event::loadScript] Can not load script. data/talkactions/scripts/blastkina.lua

[15/08/2009 20:52:18] data/talkactions/scripts/blastkina.lua:17: 'end' expected (to close 'if' at line 2) near '<eof>'

Um erro muito normal.

Só adicionar um end no script que creio eu que irá funcionar.

 

Abraços!

Atenciosamente,
Wiltry
<div align='center'><b>Wiltry 2008~2009</b></div>
<div align='center'>Mapper & Scripter</div>
<div align='center'><img src="http://img263.imageshack.us/img263/9130/beyond.png" border="0" class="linked-sig-image" /></div>
vlw guww :*

bxkbxk

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/03/08Posts: 1

Vlwws, vo testa jah jah edito...

 

function onSay(cid, words, param)
if isPremium(cid) == TRUE then
if getPlayerStorageValue(cid, 1020) == 50 then
if(getPlayerVocation(cid) > 11) then
if(doPlayerRemoveItem(cid, 8839,50) == TRUE) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "msg.")
setPlayerPromotionLevel(cid, 1)
else
doPlayerSendTextMessage(cid,22, "item.")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
else
doPlayerSendCancel(cid, "promot.")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
return TRUE
end
end
end

Vc pode me responder esta? tipo esse eh um talkaction que precisa ter um item pra virar 2° promotion...

mas na parte if(getPlayerVocation(cid) > 11) then, tem de botar a id da vocation? [em negrito]

satan666

Antichrist Superstar
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 07/05/08Posts: 612Char no Tibia: leviana luciferiana

/z\ up:

retorne a função e não ao if.

 

wiltry

isso não e erro no meu script.

 

topico:

1ª)

você ponhe o id da vocação maxima que pode ter promotion tipo existe normalmente 4 vocações e cada uma existe uma promotion.

 

então seria assim

if(getPlayerVocation(cid) <= 4) then

que no caso seria vocação 4 ou menor.

 

2ª)

não.

esse script serve pra todas as vocações.

 

3ª) esse erro e não bug e causado pela falta do end pra fechar o if.

creationb.jpg

"Um Deus que usasse seu poder para criar seres humanos que de antemão sabia que seriam atormentados eternamente, e que os predestinasse a isso,



não poderia ser sábio, nem justo e tampouco amoroso.

Além de nos submeter a isso vim a nos julgar e condenar por nossos atos aos tormentos do inferno.

pra minha pessoa isso não é um Deus Pai amoroso e bondoso como o chaman, seu padrão seria muito mais inferior do que o de muitos homens."

Wiltry

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 03/07/08Posts: 306

#Mar~

Foi mal, entendi errado.

 

#xxempirexx

O script (o meu) funcionou?

Atenciosamente,
Wiltry
<div align='center'><b>Wiltry 2008~2009</b></div>
<div align='center'>Mapper & Scripter</div>
<div align='center'><img src="http://img263.imageshack.us/img263/9130/beyond.png" border="0" class="linked-sig-image" /></div>
vlw guww :*

bxkbxk

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/03/08Posts: 1

Olha como esta o script:

function onSay(cid, words, param)

itemid = 8839
item = 2306
itemname = getItemNameById(item)
itemidname = getItemNameById(itemid)

if doRemoveItem(cid, item, 65) == TRUE then
doPlayerAddItem(cid, itemid, 1)
doPlayerSendTextMessage(cid, 22, "Você comprou um(a) "..itemname..".")
else
doPlayerSendTextMessage(cid, 22, "Você precisa de um(a) "..itemidname.." para ganhar um(a) "..itemname..".")
end
return TRUE
end

 

No caso o "itemid" seria 8839, e o "item" seria 2306,

Eu tenho os 65 "itemid" mas aparece:

16:33 Você precisa de um(a) Pereba de Reset para ganhar um(a) blast healing rune.

[itemid: pereba de reset]

[item:blast healing rune]

E eu nao ganho nada :p plz explica ae xP

satan666

Antichrist Superstar
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 07/05/08Posts: 612Char no Tibia: leviana luciferiana

troca isso:

 

if doRemoveItem(cid, item, 65) == TRUE then

 

por isso:

 

if doPlayerRemoveItem(cid, item, 65) == TRUE then

creationb.jpg

"Um Deus que usasse seu poder para criar seres humanos que de antemão sabia que seriam atormentados eternamente, e que os predestinasse a isso,



não poderia ser sábio, nem justo e tampouco amoroso.

Além de nos submeter a isso vim a nos julgar e condenar por nossos atos aos tormentos do inferno.

pra minha pessoa isso não é um Deus Pai amoroso e bondoso como o chaman, seu padrão seria muito mais inferior do que o de muitos homens."

dragonlord666

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 01/08/09Posts: 4Char no Tibia: Azellico

Mto bom esses scripters aew vo bota no meu ot tambem obrigado

Objetivos...

{X}5 POSTS
{X}10 POSTS
{X}15 POSTS
{X}20 POSTS
{ }30 POSTS
{ }40 POSTS
{ }50 POSTS
{ }60 POSTS
{ }70 POSTS
{ }80 POSTS
{ }90 POSTS
{ }100 POSTS
{ }200 POSTS
{ }500 POSTS

JOIN MY FAN BAR

bxkbxk

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/03/08Posts: 1

function onSay(cid, words, param)

itemid = 8839
item = 2306
itemname = getItemNameById(item)
itemidname = getItemNameById(itemid)

if doPlayerRemoveItem(cid, item, 65) == TRUE then
doPlayerAddItem(cid, itemid, 1)
doPlayerSendTextMessage(cid, 22, "Você comprou um(a) "..itemname..".")
else
doPlayerSendTextMessage(cid, 22, "Você precisa de 65 "..itemidname.." para ganhar um(a) "..itemname..".")
end
return TRUE
end

 

Olhe como esta o talkaction. Ainda nao funciona, eu falo o comando

mas aparece "Voce precisa de 65 perebas de reset para ganhar um(a) blast healing rune"

Mas eu tenho mais q 65! E nao ganho nada :p tem algo de errado?

satan666

Antichrist Superstar
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 07/05/08Posts: 612Char no Tibia: leviana luciferiana

se você tiver usando isso em runas com cargas não vai funcionar você vai ter que modificar o script pra retirar as cagas da runa.

creationb.jpg

"Um Deus que usasse seu poder para criar seres humanos que de antemão sabia que seriam atormentados eternamente, e que os predestinasse a isso,



não poderia ser sábio, nem justo e tampouco amoroso.

Além de nos submeter a isso vim a nos julgar e condenar por nossos atos aos tormentos do inferno.

pra minha pessoa isso não é um Deus Pai amoroso e bondoso como o chaman, seu padrão seria muito mais inferior do que o de muitos homens."

Wiltry

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 03/07/08Posts: 306

Ahh, um erro aqui de coerencia.

Troca por isso:

 

function onSay(cid, words, param)

itemid = 8839 -- id do item que o player vai ganhar
item = 2306 -- no caso, o ID da pereba
itemname = getItemNameById(item)
itemidname = getItemNameById(itemid)

if doPlayerRemoveItem(cid, item, 65) == TRUE then
doPlayerAddItem(cid, itemid, 1)
doPlayerSendTextMessage(cid, 22, "Você comprou um(a) "..itemidname..".")
else
doPlayerSendTextMessage(cid, 22, "Você precisa de 65 "..itemname.." para ganhar um(a) "..itemidname..".")
end
return TRUE
end

 

Acho que agora da.

flw

Atenciosamente,
Wiltry
<div align='center'><b>Wiltry 2008~2009</b></div>
<div align='center'>Mapper & Scripter</div>
<div align='center'><img src="http://img263.imageshack.us/img263/9130/beyond.png" border="0" class="linked-sig-image" /></div>
vlw guww :*