-
Total de itens
77 -
Registro em
-
Última visita
-
Dias Ganhos
1
Tudo que iunix postou
-
entrando fdp Powerzin TEM VOZ DE BICHA!
-
Continua stronk, mas era mt melhor antes =[ Mas pra ELOHell ele carrega mesmo, mas como eu só jogo de mid mesmo.. Afim de jogar uma? se quiser ,add ai... nick é iuniX mesmo
-
Jayce ainda ta stronk, ainda mais no elohell onde a galera gosta de jogar de darius... Easy line se tiver um jungler no minimo competente.
-
How2grow elo: Play Jayce.
-
pedido Checar o player que tem a seguinte storage
pergunta respondeu ao tonynamoral de iunix em Scripts
While é um POUCO mais pesado também. É mais aconselhável usar for no lugar de While/Repeat -
Raposa problemática...
-
Tentou o apt-get?
-
pedido Criei um script aqui mais fica dando esse error
pergunta respondeu ao tonynamoral de iunix em Scripts
Eu reli o script 4x, procurando uma virgula... Valeu ai xD -
pedido Criei um script aqui mais fica dando esse error
pergunta respondeu ao tonynamoral de iunix em Scripts
local configs = { storage_start = 87812, storage_monster = 81251, storage_finish = 90125, quant = 100, quant2 = 99, monsters = {"Dragon", "Dragon Lord", "Dragon Lord Hatchling"} pos = {x=1111,y=1111,z=1} } function onKill(cid, target, lastHit) if(getPlayerStorageValue(cid,configs.storage_monster) == configs.quant) then for i = 1, 5 do addEvent(doSendAnimatedText,i *1000,getThingPos(cid),i,28) end addEvent(doTeleportThing, 6*1000, cid, config.pos) elseif getPlayerStorageValue(cid,configs.storage_Start) >= 1 then if isInArray(config.monsters, getCreatureName(target)) then setPlayerStorageValue(cid,configs.storage_monster,getPlayerStorageValue(cid,configs.storage_monster)+1) doPlayerSendTextMessage(cid,27,"You killed "..getPlayerStorageValue(cid,storage_moster).." of "..configs.quant..".",) return true end end return true end Fiz aqui rapidão, nem testei. Dá uma olhada e uma lida e compare com o que tu fez, já dá pra ter uma noção do que tava errado. -
Isso é quase tão cheio de lógica quanto religião. OH WAIT.
-
AGORA PODE POSTAR TUDO EM CAPS LOCK NO TOPICO É
tópico respondeu ao Powerzin de iunix em Lixeira Pública
-
Para falar a vdd, isso prova PERFEITAMENTE que o capitalismo funciona melhor do que vc espera. Esse é o fundamento do capitalismo, arrecadar capital e ter mais capital que o outro.
-
Aulas Básicas Com O Sr. Iunix: 2# Lógica, Algorítimos E Organização
tópico respondeu ao iunix de iunix em Tutoriais de Scripting
Em lua realmente fica um pouco feio, mas porem é uma pratica que todos devem ter. (Eu não tenho, realmente odeio fica comentando código). -
Aulas Básicas Com O Sr. Iunix: 2# Lógica, Algorítimos E Organização
tópico respondeu ao iunix de iunix em Tutoriais de Scripting
Eu não posso usar iuniX no titulo... #xatiadu. -
local voca = 12 -- Mude para a vocação que quiser function onUse(cid, item, frompos, item2, topos) if not isPlayer(item2.uid) then doPlayerSendCancel(cid, "Isto não e um player") return false end if getCreatureName(item2.uid) ~= getCreatureName(cid) then doPlayerSendCancel(cid, "Use a runa em você") return false end doPlayerSetVocation(cid, voca) doRemoveItem(item.uid) return true end if not isPlayer(item2.uid) then doPlayerSendCancel(cid, "Isto não e um player") return false end if getCreatureName(item2.uid) ~= getCreatureName(cid) then doPlayerSendCancel(cid, "Use a runa em você") return false end Duas checagens que poderiam ser substituídas por uma só if getCreatureName(item2.uid) ~= getCreatureName(cid) then Por que não usar direto assim? if item2.uid ~= cid then E o fato de não ter indentação só mostra que é um script de iniciante. Só acho que ele ser sádico e frio com os outros é abrir a porta para os outros serem sádicos e frios com ele. function onUse(cid, item, frompos, item2, topos) if cid ~= item2.uid then return doPlayerSendCancel(cid, "Você deve usar a runa em você mesmo.") end doPlayerSetVocation(cid, 1) return doRemoveItem(item.uid) end
-
Eu testei aqui ontem, só pra ver qual era o bug. Ele não hita o que não estiver como "target". Se for uma criatura no caso, ela só vai hitar a magia se você já tiver atacado algo. Eu já pensei em como arrumar, assim que eu tiver um pouco mais tempo, eu arrumo e posto aqui uma versão 2.0 Eu tinha feito para um servidor de pokemon, ia forçar os pokes a usar a spell por talkaction. Easy-and-clean.
-
Coisas inuteis. Coisas Inúteis? Pelo que eu entendi do pedido ele quer um item que ao dar use with(tipo de runa) no player ele receba uma nova vocação. Não estou falando do pedido, e sim da maneira que você criou ele. Você criou uma checagem para ver se é um player, mas na verdade é uma action, e outras criaturas não executam actions. Você deveria ter pensado nisso.
-
Aulas Básicas Com O Sr. Iunix: 2# Lógica, Algorítimos E Organização
um tópico no fórum postou iunix Tutoriais de Scripting
Hoje vamos dar continuidade as aulas. Aprenderemos Lógica, Algorítimos e Organização, que para mim são as coisas básicas que TODO programador deve conhecer. Lógica de Programação O que é Lógica de Programação? é uma sequencia de pensamentos com fim de atingir determinado resultado. E esses pensamentos, podem ser usados para construir uma sequencia lógica, afim de executar uma ação da maneira mais simples o possível. Isso é o conceito básico de lógica de programação. Algorítimos Agora começa a parte divertida. Algorítimo é uma sequencia de comandos(instruções) para executar tal ação, como uma receita que sua mãe usa para fazer bolos. Quaisquer sequencias de instruções podem ser consideradas algorítimos. "Algorítimo de Chupar uma bala". • Pegar a bala • Retirar o papel • Chupar a bala • Jogar o papel no lixo Todos algorítimos devem ser simples e objetivos. Organização Essa é uma parte realmente "importante": (O Mock deveria ler isso todo dia, falo mesmo) Endentação: Endentação, identação ou edentação, é o espaçamento no inicio de qualquer paragrafo, afim de diferenciar e melhorar a visualização dos escopos do algorítimo. Código sem indentação (Na verdade ele tem, mas eu tirei para usar de exemplo) function doPlayerAddAchiev(cid, achievid) local pid = getPlayerGUID(cid) local value = tonumber(getPlayerAchievById(cid, achievid)) if value == -1 then return true end if value == 0 then db.executeQuery("INSERT INTO `achievements` (`player_id`, `achievement_id`, `value`) VALUES ('"..pid.."', '"..achievid.."', '1');") end if (tonumber(getPlayerAchievById(cid, achievid)) >= achievs[achievid].qt) then doPlayerSendTextMessage(cid,22, 'Você recebeu a conquista "'..achievs[achievid].name..'"') db.executeQuery("UPDATE `achievements` SET `value` = ".. -1 .." WHERE `player_id`= " .. pid .. " AND `achievement_id`= " .. achievid .. ";") doPlayerAddAchievPoint(cid, achievs[achievid].pt) else db.executeQuery("UPDATE `achievements` SET `value` = ".. (tonumber(getPlayerAchievById(cid, achievid))) + 1 .." WHERE `player_id`= " .. pid .. " AND `achievement_id`= " .. achievid .. ";") end doPlayerSave(cid) return true end Código com identação: function doPlayerAddAchiev(cid, achievid) local pid = getPlayerGUID(cid) local value = tonumber(getPlayerAchievById(cid, achievid)) if value == -1 then return true end if value == 0 then db.executeQuery("INSERT INTO `achievements` (`player_id`, `achievement_id`, `value`) VALUES ('"..pid.."', '"..achievid.."', '1');") end if (tonumber(getPlayerAchievById(cid, achievid)) >= achievs[achievid].qt) then doPlayerSendTextMessage(cid,22, 'Você recebeu a conquista "'..achievs[achievid].name..'"') db.executeQuery("UPDATE `achievements` SET `value` = ".. -1 .." WHERE `player_id`= " .. pid .. " AND `achievement_id`= " .. achievid .. ";") doPlayerAddAchievPoint(cid, achievs[achievid].pt) else db.executeQuery("UPDATE `achievements` SET `value` = ".. (tonumber(getPlayerAchievById(cid, achievid))) + 1 .." WHERE `player_id`= " .. pid .. " AND `achievement_id`= " .. achievid .. ";") end doPlayerSave(cid) return true end Dá para perceber uma diferença bem grande na parte de visualização, certo? Nomenclatura: Essa é outra parte importante que poucos prestam atenção. Você deve criar os códigos para os OUTROS (mesmo que você não for liberar ele), e você deve imaginar que TODO mundo não entende nada de programação. Por isso, você deve usar nomes simples e sugestivos. Você NUNCA deve usar nomes assim: local var_que_solta_raio_lasers_e_panz = 12 Tente sempre ser sugestivo, nomes mais simples: local quantidade_de_stones = 12 Comentários: Essa é uma das partes mais importantes, na minha opinião. Sempre que for começar alguma ação ou escopo, comente no final da 1º Linha o que ele faz, como ele faz e por que ele faz. Como eu já disse, você deve pensar que está programando para pessoas leigas. Sem comentário: function doPlayerAddAchiev(cid, achievid) local pid = getPlayerGUID(cid) local value = tonumber(getPlayerAchievById(cid, achievid)) if value == -1 then return true end if value == 0 then db.executeQuery("INSERT INTO `achievements` (`player_id`, `achievement_id`, `value`) VALUES ('"..pid.."', '"..achievid.."', '1');") end if (tonumber(getPlayerAchievById(cid, achievid)) >= achievs[achievid].qt) then doPlayerSendTextMessage(cid,22, 'Você recebeu a conquista "'..achievs[achievid].name..'"') db.executeQuery("UPDATE `achievements` SET `value` = ".. -1 .." WHERE `player_id`= " .. pid .. " AND `achievement_id`= " .. achievid .. ";") doPlayerAddAchievPoint(cid, achievs[achievid].pt) else db.executeQuery("UPDATE `achievements` SET `value` = ".. (tonumber(getPlayerAchievById(cid, achievid))) + 1 .." WHERE `player_id`= " .. pid .. " AND `achievement_id`= " .. achievid .. ";") end doPlayerSave(cid) return true end Com Comentário: function doPlayerAddAchiev(cid, achievid) local pid = getPlayerGUID(cid) -- declaração da variavel com GUID do player. local value = tonumber(getPlayerAchievById(cid, achievid)) -- Declaração da váriavel que irá conter o valor do Achiev. if value == -1 then return true end -- Se o valor for 0, então ele irá retornar true e irá parar o código aqui. if value == 0 then db.executeQuery("INSERT INTO `achievements` (`player_id`, `achievement_id`, `value`) VALUES ('"..pid.."', '"..achievid.."', '1');") end -- Se ele for 0, então ele irá mudar o valor para 1. if (tonumber(getPlayerAchievById(cid, achievid)) >= achievs[achievid].qt) then -- Se o valor for maior ou igual ao valor da tabela, então ele irá executar o escopo. doPlayerSendTextMessage(cid,22, 'Você recebeu a conquista "'..achievs[achievid].name..'"') db.executeQuery("UPDATE `achievements` SET `value` = ".. -1 .." WHERE `player_id`= " .. pid .. " AND `achievement_id`= " .. achievid .. ";") doPlayerAddAchievPoint(cid, achievs[achievid].pt) else -- Se não, ele executará esse escopo. db.executeQuery("UPDATE `achievements` SET `value` = ".. (tonumber(getPlayerAchievById(cid, achievid))) + 1 .." WHERE `player_id`= " .. pid .. " AND `achievement_id`= " .. achievid .. ";") end doPlayerSave(cid) return true end Finalização Espero que tenham gostado dessa aula, tentei ser direto e simplório. Porém eu falei só sobre o básico, só a ponta do iceberg. Quem tiver mais interesse, o google tem milhares de apostilas sobre Algorítimos de Lógica de Programação. Link da primeira aula: http://www.xtibia.com/forum/topic/201079-aulas-basicas-com-o-sr-iunix-1-lua-o-que-e -
#topic: Procure uma linha +/- assim, e me mande a parte que tem ela. doRemoveItem(item.uid) Coisas inuteis.
-
Aulas Básicas Com O Sr. Iunix: 1# Lua, O Que É?.
tópico respondeu ao iunix de iunix em Tutoriais de Scripting
Como eu estou querendo criar uma sequencia de aulas, não posso simplesmente começar direto no meio. Por isso decidi pegar desde o básico do básico. -
Mas assim, direto? Sem jantar ou beijo na boca?
-
Ficou bem interessante, acho que o dalvo tava fazendo algo assim tempos atras, mas acho que ele não terminou. Realmente bem feito, eu deveria ter pensado nisso e criado um aplicativo para o celular quando eu estava na escola... Eu realmente odeio patterns, de todo o meu coração.
-
Me carrega, pfv
-
Qual é a média de elo da galera do équistibia?
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.