Ir para conteúdo
Entre para seguir isso  
Gpwjhlkdcf

Teste seu nível em scripting!

Recommended Posts

Ramza    11
Ramza
vich arrumei um geito mto mais foda:

function onUse(cid)

return doPlayerSetSex(cid,math.max(-(getPlayerSex(cid)-1),0))

end

 

 

 

Você quis dizer de um jeito muito mais POG né? haha

Um code foda não é um code com funções complexas, e sim um code EFICIENTE, bem formatado e compreensivel.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Pokemoon    0
Pokemoon

[spoiler=Script]function onUse(cid, item, fromPosition, itemEx, toPosition)

doPlayerSendTextMessage(cid,22 ,"Você mudou de sexo com exito!")

doPlayerSendTextMessage(cid,22 ,"Por Favor Relogue para que Seu Sexo Seja Atualizado , Ou Apenas Clique Para mudar de Outifit!")

return doPlayerSetSex(cid, (getPlayerSex(cid) == 0)) and true

end

 

 

 

acho que isso é avançado ! Botei a mensagem para ficar Mais Bonito e mais explicado!

è importante lembrar que começei ler os tutoriais de scripts hoje!

Compartilhar este post


Link para o post
Compartilhar em outros sites
iuniX    4
iuniX
[spoiler=Script]function onUse(cid, item, fromPosition, itemEx, toPosition)

doPlayerSendTextMessage(cid,22 ,"Você mudou de sexo com exito!")

doPlayerSendTextMessage(cid,22 ,"Por Favor Relogue para que Seu Sexo Seja Atualizado , Ou Apenas Clique Para mudar de Outifit!")

return doPlayerSetSex(cid, (getPlayerSex(cid) == 0)) and true

end

 

 

 

acho que isso é avançado ! Botei a mensagem para ficar Mais Bonito e mais explicado!

è importante lembrar que começei ler os tutoriais de scripts hoje!

 

 

 

Isso dai está errado, não vai funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Pokemoon    0
Pokemoon
Isso dai está errado, não vai funcionar.

 

 

não?eu testei antes de posta aqui ta funcionando perfect ... testa ai pra ti ver ;D nao fala antes de testa vlw

fuck

Editado por Pokemoon

Compartilhar este post


Link para o post
Compartilhar em outros sites
vyctor17    35
vyctor17

[spoiler=teste]

function onUse(cid, item, fromPosition, itemEx, toPosition)

if getPlayerSex(cid) ~= 0 then

doPlayerSetSex(cid, 0)

else

doPlayerSetSex(cid, 1)

end

end

 

olha o meu ae nem sei em que lugar eu fico :/

Compartilhar este post


Link para o post
Compartilhar em outros sites
Kuma Bear    33
Kuma Bear

 function onUse(cid, item)
    if getPlayerSex(cid) == 0 then
       doPlayerSetSex(cid, 0)
   else
       doPlayerSetSex(cid, 1)
   end
return true
end

 

It's Mine ;D

 

Acho que intermediário .-.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Karyus    2
Karyus
 function onUse(cid, item)
    if getPlayerSex(cid) == 0 then
       doPlayerSetSex(cid, 0)
   else
       doPlayerSetSex(cid, 1)
   end
return true
end

It's Mine ;D

 

Acho que intermediário .-.

 

vc se confundiu, e não vai mudar o sexo :trollface: ,

if getPlayerSex(cid) == 0 then

aqui vc ta verificando se o sexo for 0 se for ele vai mudar o sexo para 0 novamente >>

doPlayerSetSex(cid, 0)

, vc teria q ter feito assim so mudar o 0 e 1 de lugar

function onUse(cid, item)
     if getPlayerSex(cid) == 0 then
        doPlayerSetSex(cid, [b]1[/b])
    else
        doPlayerSetSex(cid, [b]0[/b])
    end
return true
end

Compartilhar este post


Link para o post
Compartilhar em outros sites
Jovial    2
Jovial

Um código menor não é sinônimo de código melhor. Seus exemplos, até os que você classifica como perito ou avançado, podem ser melhorados. O exemplo de perito está horrivel, o array é declarado toda vez que a action é executada.

Em particular eu faria assim:

function onUse( cid )
 return doPlayerSetSex( cid, ( getPlayerSex( cid ) + 1 ) % 2 )
end

Compartilhar este post


Link para o post
Compartilhar em outros sites
morgado4ever    0
morgado4ever

pwned by Jovial

 

Tem gente que acha que é o f#dão em scripting.. sem ao menos ter uma base real sobre programação.. Triste isso!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Guiminhah    0
Guiminhah

Jovial, não entendi, se o sexo for 0, + 1 % 2 vai dar sexo 1/2? '-' é shemale?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Jovial    2
Jovial

% é o operador de módulo, ele retorna o resto da divisão de A por B.

 

(0 + 1) % 2 irá resultar em 1 e (1 + 1) % 2 irá resultar em 0

Compartilhar este post


Link para o post
Compartilhar em outros sites
Guiminhah    0
Guiminhah

foda jovial! que pensamento em? divisão euclidiana hahaha

Compartilhar este post


Link para o post
Compartilhar em outros sites
notle.com    2
notle.com

e esse fica qual nível?

[color=#333333]function onUse(cid, item, fromPosition, itemEx, toPosition)[/color]
return (getPlayerSex(cid) == 0 and doPlayerSetSex(cid, 1)) or doPlayerSetSex(cid, 0) 
end

Editado por notle.com

Compartilhar este post


Link para o post
Compartilhar em outros sites
Ramza    11
Ramza

Tem que ficar atento aos pequenos detalhes do teste, como ser uma action, não talkaction :D

 

E outra coisa, isso utilizado pelo criador do tópico é uma operação ternária, feita em LUA. O porém é, operações ternárias não são mais rápidas ou melhores que um simples if(condição) then return (retorno 1) or (retorno 2), quando compilados, ambos ficam, dependendo da linguagem, com o mesmo número de instruções, ou seja, só serve pra deixar o code "menor", porém, as vezes quando se tenta muito reduzir algo, acaba tornando confuso, e um code não pode ser de maneira alguma confuso.

 

Você tentou jogar um ternário com elseif, mas a solução usada pelo criador do tópico ainda foi melhor e menos confusa.

 

Existem vários jeitos que se pode fazer, exemplo:

 

function onUse(cid)

local sex = getPlayerSex(cid)

doPlayerSetSex(cid, sex +1 -sex*2)

end

 

 

Eu ainda acho que o melhor code que ele utilizou, baseado NESSE teste, foi o Intermediário.

Condicionais são levissimos, e o code ainda fica entendível, e como é pequeno, não há a necessidade de se fazer com table. PORÉM, caso houvessem mais opções (se fosse um code pra mudar vocação por exemplo, em um servidor com 10 vocações), aí sim a melhor sem dúvidas seria a do nível Períto.

 

Mesmo assim, parabéns pela sacada, conheço pouca gente que sabe usar ternário com elseif em lua, isso é sinal de que você já estudou bastante sobre isso e não é novato xD

 

Mas a MINHA opinião PESSOAL é essa que falei, prefiro codes mais 'limpos' e fáceis de entender xD

 

Minha nota pra você então seria:

 

Pelo TESTE: Intermediário.

Pelo CONHECIMENTO: Avançado.

Editado por Ramza

Compartilhar este post


Link para o post
Compartilhar em outros sites
notle.com    2
notle.com

kkk foi mesmo pq tava testando em talkaction aqui e esqueci de editar na hora mais editei ai só pra deixa mesmo editado :)

,sim to estudando script ainda quero melhorar mais e mais :D

 

no

Passo 2

respostas do

Intermediário

esta errada

ta assim,

function onUse(cid)

if getPlayerSex(cid) == 0 then

doPlayerSetSex(cid, 1)

return true

end

doPlayerSetSex(cid, 1)

return true

end

se for 0 vai mudar pra 1 mais se for 1 vai continuar no 1

o certo seria

function onUse(cid)

if getPlayerSex(cid) == 0 then

doPlayerSetSex(cid, 1)

return true

end

doPlayerSetSex(cid, 0) -- mudar aqui

return true

end

edita ai tópico :D

 

Editado por notle.com

Compartilhar este post


Link para o post
Compartilhar em outros sites
Ramza    11
Ramza

Isso ai cara! xDD

E esse erro ai, bem achado também! Pequenos detalhes que fazem TODA a diferença! D: AHEUEHUEa

Compartilhar este post


Link para o post
Compartilhar em outros sites
Baxnie    8
Baxnie

function onUse(cid, item, fromPosition, itemEx, toPosition)
       local sex = getPlayerSex(cid, true)
       if sex == PLAYERSEX_FEMALE then
               doPlayerSetSex(cid, PLAYERSEX_MALE)
       elseif sex == PLAYERSEX_MALE then
               doPlayerSetSex(cid, PLAYERSEX_FEMALE)
       else
               doPlayerSendCancel(cid, "You can't change your sex.")
       end
       return true
end

 

As constantes estão ai para serem usadas.

Existe o PLAYERSEX_GAMEMASTER. Em quase todos os scripts que vi aqui, esse dado será perdido.

Editado por Baxnie

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×