frerety 7 Postado Maio 19, 2006 Share Postado Maio 19, 2006 HiHo! Com esse code, o NPC antes de vender a house verifica se ela tem dono. Se tiver não vende a casa... ^^ npc.cpp ache isso: lua_register(luaState, "selfGetPosition", NpcScript::luaSelfGetPos); logo abaixo adicione: lua_register(luaState, "checkHouse", NpcScript::luacheckhouse); agora procure: int NpcScript::luaSelfGetPos(lua_State *L){ lua_pop(L,1); Npc* mynpc = getNpc(L); lua_pushnumber(L, mynpc->pos.x); lua_pushnumber(L, mynpc->pos.y); lua_pushnumber(L, mynpc->pos.z); return 3; } logo abaixo adicione: int NpcScript::luacheckhouse(lua_State *L){ Npc* mynpc = getNpc(L); if(mynpc) { if(mynpc->docheckhouse(L) == true) lua_pushnumber(L, 0); else lua_pushnumber(L, -1); } return 1;} (mais em cima) procure por: void Npc::doAttack(int id){ attackedCreature = id; } logo abaixo add: bool Npc::docheckhouse(lua_State *L){ Npc* mynpc = NpcScript::getNpc(L); Tile* tile = g_game.getTile(mynpc->pos); House* house = tile->getHouse(); if (house) { if(house->getOwner() != "") return false; else return true; }} npc.h procure por: void doAttack(int id); abaixo adicione: bool docheckhouse(lua_State *L); (mais em cima) procure por: static int luaSelfGetPos(lua_State *L); logo após adicione: static int luacheckhouse(lua_State *L); OBS: Para usar a função no script do npc, digite checkHouse(). Irá retornar 0 se a house não tiver dono e retornará -1 se ela tiver dono. Exemplo de NPC focus = 0talk_start = 0 target = 0 following = false attacking = false function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') focus = 0 talk_start = 0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then selfSay('Hello ' .. creatureGetName(cid) .. '! I sell houses.') focus = cid talk_start = os.clock() elseif (msgcontains(msg, 'hi') and (focus ~= cid)) and getDistanceToCreature(cid) < 4 then selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.') elseif focus == cid then talk_start = os.clock() end if focus == cid then talk_start = os.clock() if (msgcontains(msg, 'great street iii')) then -- nome da house em minúsculo selfSay('/goto 157 31 7') -- posicao de um sqm qualquer (dentro da house) if checkHouse() == 0 then -- checa se a house tem dono(-1) ou não(0) if pay(cid,100000) then -- preço da house -> 100 k selfSay('/owner ' .. creatureGetName(cid)) selfSay('/c ' .. creatureGetName(cid)) selfSay('/goto 160 54 7') -- lugar onde o npc fica else selfSay('/goto 160 54 7') -- lugar onde o npc fica selfSay('Sorry, you don\'t have enough money.') end else selfSay('/goto 160 54 7') -- lugar onde o npc fica selfSay('Essa casa já tem dono') end elseif (msgcontains(msg, 'great street iv')) then -- nome da house em minúsculo selfSay('/goto 166 37 7') -- posicao de um sqm qualquer (dentro da house) if checkHouse() == 0 then -- checa se a house tem dono(-1) ou não(0) if pay(cid,100000) then -- preço da house -> 100 k selfSay('/owner ' .. creatureGetName(cid)) selfSay('/c ' .. creatureGetName(cid)) selfSay('/goto 160 54 7') -- lugar onde o npc fica else selfSay('/goto 160 54 7') -- lugar onde o npc fica selfSay('Sorry, you don\'t have enough money.') end else selfSay('/goto 160 54 7') -- lugar onde o npc fica selfSay('Essa casa já tem dono') end elseif string.find(msg, '(%a*)bye(%a*)') and getDistanceToCreature(cid) < 4 then selfSay('Good bye, ' .. creatureGetName(cid) .. '!') focus = 0 talk_start = 0 end end end function onCreatureChangeOutfit(creature) end function onThink() if (os.clock() - talk_start) > 30 then if focus > 0 then selfSay('Next Please...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Good bye then.') focus = 0 end end end PS .: No exemplo acima, o NPC fica no templo. Caso você queira mudá-lo de lugar, você terá que trocar "/goto 160 54 7" para "/goto + posição que ele irá ficar". FlW CyA! Link para o comentário https://xtibia.com/forum/topic/15888-76-npc-que-vende-house-esse-funfa/ Compartilhar em outros sites More sharing options...
bruxo 1 Postado Maio 20, 2006 Share Postado Maio 20, 2006 Extremamente bom ^^. Adeus !buyhouse? Infelizmente não =/. É dificil configurar um NPC pra tantas casas hehe, mas dar pra colocar esse npc pra casas especiais ^^, só tendo um pouco de criatividade ^^. Link para o comentário https://xtibia.com/forum/topic/15888-76-npc-que-vende-house-esse-funfa/#findComment-74240 Compartilhar em outros sites More sharing options...
Kélvyn 0 Postado Maio 20, 2006 Share Postado Maio 20, 2006 hehe bom code, soh q eu ainda axo o !buyhouse melhor ^^ mais vlw pelo code irmão Link para o comentário https://xtibia.com/forum/topic/15888-76-npc-que-vende-house-esse-funfa/#findComment-74310 Compartilhar em outros sites More sharing options...
favorefty 1 Postado Maio 20, 2006 Share Postado Maio 20, 2006 um cod que ajudara a muitos. 2 perguntas. esse cod eh seu??/ vc eh compiller??? se vc for compiller e nao tiver equipe, o convite esta feito na minha assinatua tem o link do poster,... da uma olhada e ve se vc quer entra flw... Abraços, Favorefty. Link para o comentário https://xtibia.com/forum/topic/15888-76-npc-que-vende-house-esse-funfa/#findComment-74322 Compartilhar em outros sites More sharing options...
colex 8 Postado Maio 20, 2006 Share Postado Maio 20, 2006 aew ta ficando cada vez melhor na programção de otserv nota 10 continue postando seus codes cya~~ Link para o comentário https://xtibia.com/forum/topic/15888-76-npc-que-vende-house-esse-funfa/#findComment-74353 Compartilhar em outros sites More sharing options...
frerety 7 Postado Maio 20, 2006 Autor Share Postado Maio 20, 2006 HiHo! @favorefty 1º -> Sim, esse code eh meu 2º -> Sou compiler sim ^^ 3º -> Neim sei ainda si tenhu ow naum ekipe... Jah fui convidado pra 3 (fora essa) soh ki duas jah eh ctz q neim vai dar certu... hAUHAuahU :S FlW CyA! Link para o comentário https://xtibia.com/forum/topic/15888-76-npc-que-vende-house-esse-funfa/#findComment-74367 Compartilhar em outros sites More sharing options...
ScarFace 0 Postado Maio 21, 2006 Share Postado Maio 21, 2006 mt bom esse cod ^^ Issu aew kd vez melhor ^^ Link para o comentário https://xtibia.com/forum/topic/15888-76-npc-que-vende-house-esse-funfa/#findComment-75106 Compartilhar em outros sites More sharing options...
adoidad0 0 Postado Junho 13, 2006 Share Postado Junho 13, 2006 este code foi criado e desenvolvido por ReX o dono da HOtserv e vc pego esses codes nas sources dele nem vem roubar creditos do kra Link para o comentário https://xtibia.com/forum/topic/15888-76-npc-que-vende-house-esse-funfa/#findComment-90721 Compartilhar em outros sites More sharing options...
ScarFace 0 Postado Junho 14, 2006 Share Postado Junho 14, 2006 @adoidad0 Axo que isso nao foi robado nao... Voce tem como provar? Kem falo que ele nao copio? Link para o comentário https://xtibia.com/forum/topic/15888-76-npc-que-vende-house-esse-funfa/#findComment-90732 Compartilhar em outros sites More sharing options...
Haryy 0 Postado Junho 14, 2006 Share Postado Junho 14, 2006 Nussa parece ser otimo mais nao intendendo disso + vo por no meu ot vlws Tyy Link para o comentário https://xtibia.com/forum/topic/15888-76-npc-que-vende-house-esse-funfa/#findComment-91522 Compartilhar em outros sites More sharing options...
frerety 7 Postado Junho 15, 2006 Autor Share Postado Junho 15, 2006 HiHo! @adoidad0 Primeiro, eu só tenho as sources do YurOTS 0.9.4 no meu pc... nunca neim vi as sources de neverland, muito menos Hotserv. Esse script pode ser PARECIDO com o do criador do hotserv, mas não é do hotserv. Faço meus scripts para ESTUDO PRÓPRIO... e você pode perguntar para qualquer um daqui do xTibia, nunca copiei nenhum script sem colocar os devidos créditos. Sem mais FlW CyA! Link para o comentário https://xtibia.com/forum/topic/15888-76-npc-que-vende-house-esse-funfa/#findComment-91566 Compartilhar em outros sites More sharing options...
maca_vi 0 Postado Julho 12, 2006 Share Postado Julho 12, 2006 (editado) @frerety cara coloquei o seu code la de velocidade de players funciono rox a lot to colocando esse agora vo testar vlw brow vo usar esse npc so pra guild halls e algumas casas grandes que fiz xD tyy esse erro ai do nil value foi qnd eu disse pra ele o nome da casa olha isso o erro que deu ele foi la msm mas n falo nda de vende o compra a casa se tinha o n o dono s Editado Julho 12, 2006 por maca_vi Link para o comentário https://xtibia.com/forum/topic/15888-76-npc-que-vende-house-esse-funfa/#findComment-112686 Compartilhar em outros sites More sharing options...
Angel Of Ilusions 0 Postado Julho 12, 2006 Share Postado Julho 12, 2006 aew cara.. eitaaa nois codigo mto bom nunk tinha visto esse ae e nem fazia ideia q existia cara vlws flws ae fuiz!! Link para o comentário https://xtibia.com/forum/topic/15888-76-npc-que-vende-house-esse-funfa/#findComment-112804 Compartilhar em outros sites More sharing options...
frerety 7 Postado Julho 13, 2006 Autor Share Postado Julho 13, 2006 HiHo! @Maca_vi tente refazer seu npc.lua e reposte se der erro (poste tbm seu script do npc.lua novamente [o q vc me mandou por pm]) Espero ter ajudado FlW CyA! Link para o comentário https://xtibia.com/forum/topic/15888-76-npc-que-vende-house-esse-funfa/#findComment-113003 Compartilhar em outros sites More sharing options...
Heitorzin 2 Postado Julho 16, 2006 Share Postado Julho 16, 2006 Frerety , Poxa cara valeu ein , Agora no meu mapa global não vai trava com o comando !buyhouse acabei de tirar e vou por esse npc , Se não fosse por vc Abraços ai Continue assim Nota 10 ! @adoidad0 Eu conheço o Frerety já vai fazer um tempao , ele faz parte de uma equipe ROX a JV Server , ele faz seus próprios codes sim , pede qualquer um a ele que ele faz . Anteciosamente, Heitorzin Link para o comentário https://xtibia.com/forum/topic/15888-76-npc-que-vende-house-esse-funfa/#findComment-115129 Compartilhar em outros sites More sharing options...
Posts Recomendados