bxkbxk 0 Postado Agosto 16, 2009 Share Postado Agosto 16, 2009 Ola gente... eu denovo 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 Link para o comentário https://xtibia.com/forum/topic/118525-pedido-tenho-pedidos-de-script-e-talkaction/ Compartilhar em outros sites More sharing options...
Wiltry 7 Postado Agosto 16, 2009 Share Postado Agosto 16, 2009 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! Link para o comentário https://xtibia.com/forum/topic/118525-pedido-tenho-pedidos-de-script-e-talkaction/#findComment-779278 Compartilhar em outros sites More sharing options...
bxkbxk 0 Postado Agosto 16, 2009 Autor Share Postado Agosto 16, 2009 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] Link para o comentário https://xtibia.com/forum/topic/118525-pedido-tenho-pedidos-de-script-e-talkaction/#findComment-779296 Compartilhar em outros sites More sharing options...
satan666 12 Postado Agosto 16, 2009 Share Postado Agosto 16, 2009 (editado) /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. Editado Agosto 16, 2009 por Marcryzius Link para o comentário https://xtibia.com/forum/topic/118525-pedido-tenho-pedidos-de-script-e-talkaction/#findComment-779301 Compartilhar em outros sites More sharing options...
bxkbxk 0 Postado Agosto 16, 2009 Autor Share Postado Agosto 16, 2009 Vlw macryzius Vc tah me ajudando muito ateh agora Link para o comentário https://xtibia.com/forum/topic/118525-pedido-tenho-pedidos-de-script-e-talkaction/#findComment-779305 Compartilhar em outros sites More sharing options...
Wiltry 7 Postado Agosto 16, 2009 Share Postado Agosto 16, 2009 #Mar~ Foi mal, entendi errado. #xxempirexx O script (o meu) funcionou? Link para o comentário https://xtibia.com/forum/topic/118525-pedido-tenho-pedidos-de-script-e-talkaction/#findComment-779430 Compartilhar em outros sites More sharing options...
bxkbxk 0 Postado Agosto 16, 2009 Autor Share Postado Agosto 16, 2009 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 plz explica ae xP Link para o comentário https://xtibia.com/forum/topic/118525-pedido-tenho-pedidos-de-script-e-talkaction/#findComment-779613 Compartilhar em outros sites More sharing options...
satan666 12 Postado Agosto 16, 2009 Share Postado Agosto 16, 2009 troca isso: if doRemoveItem(cid, item, 65) == TRUE then por isso: if doPlayerRemoveItem(cid, item, 65) == TRUE then Link para o comentário https://xtibia.com/forum/topic/118525-pedido-tenho-pedidos-de-script-e-talkaction/#findComment-779638 Compartilhar em outros sites More sharing options...
dragonlord666 0 Postado Agosto 16, 2009 Share Postado Agosto 16, 2009 Mto bom esses scripters aew vo bota no meu ot tambem obrigado Link para o comentário https://xtibia.com/forum/topic/118525-pedido-tenho-pedidos-de-script-e-talkaction/#findComment-779671 Compartilhar em outros sites More sharing options...
bxkbxk 0 Postado Agosto 16, 2009 Autor Share Postado Agosto 16, 2009 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 tem algo de errado? Link para o comentário https://xtibia.com/forum/topic/118525-pedido-tenho-pedidos-de-script-e-talkaction/#findComment-779691 Compartilhar em outros sites More sharing options...
satan666 12 Postado Agosto 16, 2009 Share Postado Agosto 16, 2009 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. Link para o comentário https://xtibia.com/forum/topic/118525-pedido-tenho-pedidos-de-script-e-talkaction/#findComment-779751 Compartilhar em outros sites More sharing options...
Wiltry 7 Postado Agosto 16, 2009 Share Postado Agosto 16, 2009 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 Link para o comentário https://xtibia.com/forum/topic/118525-pedido-tenho-pedidos-de-script-e-talkaction/#findComment-779761 Compartilhar em outros sites More sharing options...
Posts Recomendados