dalvorsn 268 Postado Abril 17, 2014 Share Postado Abril 17, 2014 Não, você não entendeu minha dúvida.. Tipo, eu sei que o getter e setter eu declaro o metodo lá na classe player.. Mas como eu vou fazer pra, através de uma action em lua, modificar esse multiplicador que tá no objeto player? Vai estar como atributo da meta tabela "cid" que as funções em lua recebem? e so tu ver la, tem varios parecidos, mas e basicamente pegar o number da pilha do lua_State L e instanciar como player por esse numero int32_t LuaInterface::luaSetPlayerMultiplier(lua_State* L) { //setPlayerMultiplier(cid, type, value) float value = popFloatNumber(L); int type = popNumber(L); ScriptEnviroment* env = getEnv(); if(Player* player = env->getPlayerByUID(popNumber(L))){ ///... Link para o comentário https://xtibia.com/forum/topic/228906-projeto-tutores-de-scripting/page/12/#findComment-1638156 Compartilhar em outros sites More sharing options...
BreisPodeu 2 Postado Abril 17, 2014 Share Postado Abril 17, 2014 (editado) Entendo.. E o que você acha de eu criar um atributo na classe ITEMS definindo um wandMultiplier e daí modificar a fórmula do dano da wand de acordo com esse multiplicador dentro do objeto do item? Daí em lua eu daria um doItemSetAttribute pra mudar esse multiplicador.. Aí com isso eu não vou precisar mudar nada do player, mas sim do item.. Pq aí sim funcionaria da forma que eu quero.. Pq pensa, se o cara usar uma wand que tem 1.2 de multiplicador, e quando ele tirar e colocar outra, vai continuar 1.2... Aí eu teria que fazer um movement pra todas wands/rods pra definir esse multiplicador toda hora que eu retirar/colocar uma wand/rod Editado Abril 17, 2014 por BreisPodeu Link para o comentário https://xtibia.com/forum/topic/228906-projeto-tutores-de-scripting/page/12/#findComment-1638276 Compartilhar em outros sites More sharing options...
dalvorsn 268 Postado Abril 17, 2014 Share Postado Abril 17, 2014 Entendo.. E o que você acha de eu criar um atributo na classe ITEMS definindo um wandMultiplier e daí modificar a fórmula do dano da wand de acordo com esse multiplicador dentro do objeto do item? Daí em lua eu daria um doItemSetAttribute pra mudar esse multiplicador.. Aí com isso eu não vou precisar mudar nada do player, mas sim do item.. Pq aí sim funcionaria da forma que eu quero.. Pq pensa, se o cara usar uma wand que tem 1.2 de multiplicador, e quando ele tirar e colocar outra, vai continuar 1.2... Aí eu teria que fazer um movement pra todas wands/rods pra definir esse multiplicador toda hora que eu retirar/colocar uma wand/rod Sim perfeito, assim daria. E o bom de fazer assim e que os dados ja ficariam salvos attributes do proprio item, ai ja facilita tudo. Link para o comentário https://xtibia.com/forum/topic/228906-projeto-tutores-de-scripting/page/12/#findComment-1638295 Compartilhar em outros sites More sharing options...
BreisPodeu 2 Postado Abril 17, 2014 Share Postado Abril 17, 2014 (editado) Beleza... Amanha eu vou sentar e tentar fazer as modificações na source.. Eu soh vou ter problema pra aprender a usar o visual c++, pq tudo que programei na vida foi usando ou o compilador do linux (g++ ou gcc) no terminal ou então usando o eclipse, quando programo em java...Não conhece um tutorial de compilação do server pra me ajudar não? TIpo, eu uso a versão que os mexicanos(sei lá, eles falam espanhol) estão desenvolvendo, a partir do cryng damson 0.3.7, que é o OTX Server. Daí eles usam Visual Studio 2013 Ultimate pra compilar.. Mas também usam algumas bibliotecas que são compatíveis com o OTX server da versão que eu tenho.. Tenho o site onde posso fazer o download do visual + libs, então preciso só de uma ajudinha pra compilar mesmo... E tipo, eles usam o boost 1.54 eu acho, mas isso faz com que na hora de fechar o servidor, dá um erro que fala que parou de responder, que não prejudica em nada, mas você sabe como parar de dar esse crash? E oq é exatamente esse boost, sabe me dizer? Obrigado por tudo, tá me esclarecendo bastante coisas =D REP++ Editado Abril 17, 2014 por BreisPodeu Link para o comentário https://xtibia.com/forum/topic/228906-projeto-tutores-de-scripting/page/12/#findComment-1638301 Compartilhar em outros sites More sharing options...
dalvorsn 268 Postado Abril 17, 2014 Share Postado Abril 17, 2014 Beleza... Amanha eu vou sentar e tentar fazer as modificações na source.. Eu soh vou ter problema pra aprender a usar o visual c++, pq tudo que programei na vida foi usando ou o compilador do linux (g++ ou gcc) no terminal ou então usando o eclipse, quando programo em java... Não conhece um tutorial de compilação do server pra me ajudar não? TIpo, eu uso a versão que os mexicanos(sei lá, eles falam espanhol) estão desenvolvendo, a partir do cryng damson 0.3.7, que é o OTX Server. Daí eles usam Visual Studio 2013 Ultimate pra compilar.. Mas também usam algumas bibliotecas que são compatíveis com o OTX server da versão que eu tenho.. Tenho o site onde posso fazer o download do visual + libs, então preciso só de uma ajudinha pra compilar mesmo... E tipo, eles usam o boost 1.54 eu acho, mas isso faz com que na hora de fechar o servidor, dá um erro que fala que parou de responder, que não prejudica em nada, mas você sabe como parar de dar esse crash? E oq é exatamente esse boost, sabe me dizer? Obrigado por tudo, tá me esclarecendo bastante coisas =D REP++ Na otland tu acha as libs pra compilar, e quanto ao boost cara, eu nao vou saber te explicar, ele e uma coisa tao ampla que e complicado, mas resumindo de maneira bem pobre ele e uma biblioteca do c++ que tem como principal meta deixar o codigo mais eficiente e maleavel. Quanto a compilaçao, qual o problema? Nao tem o projeto pronto e isso? Link para o comentário https://xtibia.com/forum/topic/228906-projeto-tutores-de-scripting/page/12/#findComment-1638308 Compartilhar em outros sites More sharing options...
BreisPodeu 2 Postado Abril 17, 2014 Share Postado Abril 17, 2014 (editado) Sim, eu nem tenho o visual studio instalado ainda, vou fazer isso amanhã.. Minha net é muito porca, amanha vou estar em uma net de 100Mbits kk Mas tipo, o servidor vai ficar pior se eu usar um boost 1.44 por exemplo? Acho que li por aí que fazendo isso, o servidor não dá crash quando se compila usando esse boost.. Editado Abril 17, 2014 por BreisPodeu Link para o comentário https://xtibia.com/forum/topic/228906-projeto-tutores-de-scripting/page/12/#findComment-1638317 Compartilhar em outros sites More sharing options...
dalvorsn 268 Postado Abril 18, 2014 Share Postado Abril 18, 2014 Sim, eu nem tenho o visual studio instalado ainda, vou fazer isso amanhã.. Minha net é muito porca, amanha vou estar em uma net de 100Mbits kk Mas tipo, o servidor vai ficar pior se eu usar um boost 1.44 por exemplo? Acho que li por aí que fazendo isso, o servidor não dá crash quando se compila usando esse boost.. Nao sei dizer, mas pode ser que sim porque as sources sao bem antigas, talvez na epoca que fizeram, os conceitos basicos tenha sido feitos com base nessa versao Nao sei como ta seu projeto, mas se tiver começando agora, sugiro que faça uso do tfs 1.0, o codigo dele ta muito limpo, bem estavel e atualizado Link para o comentário https://xtibia.com/forum/topic/228906-projeto-tutores-de-scripting/page/12/#findComment-1638323 Compartilhar em outros sites More sharing options...
BreisPodeu 2 Postado Abril 18, 2014 Share Postado Abril 18, 2014 Cara, o meu server já está pronto a anos, eu venho modificando ele a tempos.. Eu mudaria pro tfs 1.0, mas o problema é que já ta tudo feito.. Só venho criando novas coisas de dias pra cá, entende? Fico meses sem mexer e depois volto, e coisas assim.. Poderia me passar um link da versão "original" desse tfs 1.0? Mas tem que ter suporte à versão 8.6, que é a que eu uso e não quero mudar... Quem sabe eu faça uma mudança de distro.. Só espero não dar erro nos meus scrips, pq senão vou ter que fazer bastante coisa pra adequar pro tfs 1.0 Link para o comentário https://xtibia.com/forum/topic/228906-projeto-tutores-de-scripting/page/12/#findComment-1638330 Compartilhar em outros sites More sharing options...
dalvorsn 268 Postado Abril 18, 2014 Share Postado Abril 18, 2014 Cara, o meu server já está pronto a anos, eu venho modificando ele a tempos.. Eu mudaria pro tfs 1.0, mas o problema é que já ta tudo feito.. Só venho criando novas coisas de dias pra cá, entende? Fico meses sem mexer e depois volto, e coisas assim.. Poderia me passar um link da versão "original" desse tfs 1.0? Mas tem que ter suporte à versão 8.6, que é a que eu uso e não quero mudar... Quem sabe eu faça uma mudança de distro.. Só espero não dar erro nos meus scrips, pq senão vou ter que fazer bastante coisa pra adequar pro tfs 1.0 Ah, entao deixa porque ele e pra versoes acima de 10x Link para o comentário https://xtibia.com/forum/topic/228906-projeto-tutores-de-scripting/page/12/#findComment-1638343 Compartilhar em outros sites More sharing options...
BreisPodeu 2 Postado Abril 18, 2014 Share Postado Abril 18, 2014 (editado) Entendo... Sei lá cara, talvez um servidor sério na versão atual do tibia seja bom, se alterar as coisas que a cipsoft fudeu com o jogo, tipo o pvp... Mas o meu servidor é da versão que eu gostava de jogar, apesar de a melhor versão ter sido 7.6 (tenho um servidor dessa versão, pra você ter ideia do tempo que brinco com o meu server), mas a 8.6 o tibia ainda tinha coisas boas para oferecer.. E tem bastante servidores 8.6 por ai, então vou deixar assim mesmo kkk Muito obrigado pelas dicas ae, vou ver se baixo o visual studio amanha e começo a mexer nas sources.. Você não respondeu, n sabe de nenhum tutorial por ai não? Qualquer outra dúvida de implementação eu te pergunto aki denovo \o Editado Abril 18, 2014 por BreisPodeu Link para o comentário https://xtibia.com/forum/topic/228906-projeto-tutores-de-scripting/page/12/#findComment-1638380 Compartilhar em outros sites More sharing options...
dalvorsn 268 Postado Abril 18, 2014 Share Postado Abril 18, 2014 Entendo... Sei lá cara, talvez um servidor sério na versão atual do tibia seja bom, se alterar as coisas que a cipsoft fudeu com o jogo, tipo o pvp... Mas o meu servidor é da versão que eu gostava de jogar, apesar de a melhor versão ter sido 7.6 (tenho um servidor dessa versão, pra você ter ideia do tempo que brinco com o meu server), mas a 8.6 o tibia ainda tinha coisas boas para oferecer.. E tem bastante servidores 8.6 por ai, então vou deixar assim mesmo kkk Muito obrigado pelas dicas ae, vou ver se baixo o visual studio amanha e começo a mexer nas sources.. Você não respondeu, n sabe de nenhum tutorial por ai não? Qualquer outra dúvida de implementação eu te pergunto aki denovo \o http://otland.net/threads/compiling-msvc-compiling-tfs-under-windows-easy-way.125178/ é para 2010, mas acho que deve dar na mesma Link para o comentário https://xtibia.com/forum/topic/228906-projeto-tutores-de-scripting/page/12/#findComment-1638391 Compartilhar em outros sites More sharing options...
BreisPodeu 2 Postado Abril 18, 2014 Share Postado Abril 18, 2014 (editado) Cara, salvou demais viu... Muito obrigado ae, se eu fuder tudo ali venho cá pedir socorro kkkkkkkkk Máximo que pode acontecer é perder tempo, mas é assim que aprende programação Mt bom esse tópido Vlws!!!!! Editado Abril 20, 2014 por BreisPodeu Link para o comentário https://xtibia.com/forum/topic/228906-projeto-tutores-de-scripting/page/12/#findComment-1638394 Compartilhar em outros sites More sharing options...
Mazynho 2 Postado Abril 20, 2014 Share Postado Abril 20, 2014 Galera como que eu faço para descobri a quantidade de um item no chão? Acho que é essa aqui getTileItemById({x = 209, y = 144, z = 6}, item), mas não sei o que coloco para pegar a quantidade. Alguém poderia min dizer? Link para o comentário https://xtibia.com/forum/topic/228906-projeto-tutores-de-scripting/page/12/#findComment-1639134 Compartilhar em outros sites More sharing options...
BreisPodeu 2 Postado Abril 20, 2014 Share Postado Abril 20, 2014 (editado) Galera como que eu faço para descobri a quantidade de um item no chão? Acho que é essa aqui getTileItemById({x = 209, y = 144, z = 6}, item), mas não sei o que coloco para pegar a quantidade. Alguém poderia min dizer? Você quer pegar um item e ver a quantidade de stacks que tem? Ou checar vários items separados no chão e contar quantos tem? Se for contar quantos stacks tem de um item no chão (por exemplo pegar um monte de gold e contar quantos tem) você pode simplesmente fazer: item = getTileItemById({x = 209, y = 144, z = 6}, itemid) if isItemStackable(item.id) then count = item.type end Aí você vai conseguir ter a quantidade de stacks.. Mas se você quiser pegar a quantidade de items "não-juntáveis" você vai ter que utilizar um for alterando o stackpos desde STACKPOS_GROUND até STACKPOS_TOP_MOVABLE_ITEM_OR_CREATURE e daí ir utilizando a função getThingFromPos(pos).. E além disso pode usar o .type pra ir pegando a quantidade de cada um desses items.. Espero ter ajudado =) Editado Abril 20, 2014 por BreisPodeu Link para o comentário https://xtibia.com/forum/topic/228906-projeto-tutores-de-scripting/page/12/#findComment-1639200 Compartilhar em outros sites More sharing options...
dalvorsn 268 Postado Abril 20, 2014 Share Postado Abril 20, 2014 Galera como que eu faço para descobri a quantidade de um item no chão? Acho que é essa aqui getTileItemById({x = 209, y = 144, z = 6}, item), mas não sei o que coloco para pegar a quantidade. Alguém poderia min dizer? getTileInfo(pos).items int32_t LuaScriptInterface::luaGetTileInfo(lua_State* L) { //getTileInfo(pos) PositionEx pos; popPosition(L, pos); if(Tile* tile = g_game.getMap()->getTile(pos)) { ScriptEnviroment* env = getEnv(); pushThing(L, tile->ground, env->addThing(tile->ground)); setFieldBool(L, "protection", tile->hasFlag(TILESTATE_PROTECTIONZONE)); setFieldBool(L, "nopvp", tile->hasFlag(TILESTATE_NOPVPZONE)); setFieldBool(L, "nologout", tile->hasFlag(TILESTATE_NOLOGOUT)); setFieldBool(L, "pvp", tile->hasFlag(TILESTATE_PVPZONE)); setFieldBool(L, "refresh", tile->hasFlag(TILESTATE_REFRESH)); setFieldBool(L, "trashed", tile->hasFlag(TILESTATE_TRASHED)); setFieldBool(L, "house", tile->hasFlag(TILESTATE_HOUSE)); setFieldBool(L, "bed", tile->hasFlag(TILESTATE_BED)); setFieldBool(L, "depot", tile->hasFlag(TILESTATE_DEPOT)); setField(L, "things", tile->getThingCount()); setField(L, "creatures", tile->getCreatureCount()); setField(L, "items", tile->getItemCount()); setField(L, "topItems", tile->getTopItemCount()); setField(L, "downItems", tile->getDownItemCount()); } else { errorEx(getError(LUA_ERROR_TILE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } Cara, salvou demais viu... Muito obrigado ae, se eu fuder tudo ali venho cá pedir socorro kkkkkkkkk Máximo que pode acontecer é perder tempo, mas é assim que aprende programação Mt bom esse tópido Vlws!!!!! faz o seguinte, pra não precisar alterar muita coisa, faz um if quando for usar o valor, se for nil seta como 1 dai quando não tiver o valor do attribute, vai ser 1 Link para o comentário https://xtibia.com/forum/topic/228906-projeto-tutores-de-scripting/page/12/#findComment-1639215 Compartilhar em outros sites More sharing options...
Posts Recomendados