Ir para conteúdo

frerety

Artesão
  • Total de itens

    133
  • Registro em

  • Última visita

Tudo que frerety postou

  1. HiHo! @Slayfer Mythez Leia acima na seção "COMO USAR"... Você precisará apenas alterar o script do seu npc que vende runas... ^^ .: buybp(cid,idDAruna,cargas,preçoDAbp) Se não for isso, pm me... FlW CyA!
  2. HiHo! @sadsoul Não houve necessidade de eu ter que zipar meu dev-cpp e por na net pois já havia um tópico na seção de downloads com o dev-cpp + plugins... dev cpp pronto FlW CyA!
  3. HiHo! .: Entrega do pedido de roxius_ .: Tópico original: Teleport Parchment (com Uid) Olha... como é muito complicado (qse impossível) fazer aquilo que você pediu, criei um do mesmo estilo, mas que é possível ser feito... Faz a mesma coisa que vc pediu, com uma única diferença... o pergaminho teleporta uma vez para o templo, depois pro dp, depois pro templo, depois pro dp e assim sucessivamente... Ah... muda o nome do item também... ^^ Script do Pergaminho function onUse(cid, item, frompos, item2, topos)storage = 9591if item.actionid == [b]9594[/b] then -- ver script do baú (abaixo) templo = {x=176,y=96,z=7} -- templo caso ActionId seja 9594 dp = {x=170,y=97,z=6} -- dp caso ActionId seja 9594elseif item.actionid == [b]9593[/b] then -- ver script do baú (abaixo) templo = {x=123,y=117,z=7} -- templo caso ActionId seja 9593 dp = {x=124,y=116,z=7} -- dp caso ActionId seja 9593endstatus = getPlayerStorageValue(cid,storage)if status == 2 then doTeleportThing(cid,templo) setPlayerStorageValue(cid,storage,3) doPlayerSendTextMessage(cid,22,"Templo") doSetItemSpecialDescription(item.uid,"a parchment. Use e vá para o dp")elseif status == 3 then doTeleportThing(cid,dp) setPlayerStorageValue(cid,storage,2) doPlayerSendTextMessage(cid,22,"Dp") doSetItemSpecialDescription(item.uid,"a parchment. Use e vá para o templo")else setPlayerStorageValue(cid,storage,2) doPlayerSendTextMessage(cid,22,"Parabéns! Você acabou de usar a runa teleportadora... Por favor, use-a novamente para fazê-la funcionar corretamente.") doSetItemSpecialDescription(item.uid,"a parchment. Use e vá para o templo") endreturn 1end Alterações necessárias: .: storage => só altere se não funcionar =P (coloque um nº de 4 dígitos grande e pouco usado [ow seja, coloque 9734, 6574, etc]) .: templo => posição do templo .: dp => posição do dp Script da coisa que irá criar o pergaminho function onUse(cid, item, frompos, item2, topos)parchment = doPlayerAddItem(cid,4842,1)if item.uid == [b]2584[/b] then -- UID do baú que criará o pergaminho cuja ActionId será 9594 (ver script do pergaminho) doSetItemActionId(parchment,9594) elseif item.uid == [b]2585[/b] then -- UID do baú que criará o pergaminho cuja ActionId será 9593 (ver script do pergaminho) doSetItemActionId(parchment,9593) end return 1end Alteração necessária: .: 2584 e 2585 => UID dos baús Se não servir sorry, tentei ajudar... =) Ah... já ia me esquecendo... Qualquer dúvida poste sua dúvida (pode ser a dúvida de outros) e me mande uma PM falando que está com dúvida no pedido do "Teleport Parchment" e que sua dúvida está postada que eu vejo e te ajudo... FlW CyA!
  4. HiHo! Eh... isso daki tava mt paradão intaum resouvi "soltar" um code meu... Essa é uma função para um NPC criar BP de Items... Funciona para YurOTS, não se si funciona para outros OtServers Disbugado °ºoº° Se o player estiver com a BP cheia o NPC "taca" a BP no tile abaixo do player (antes o server caia) Npc.Cpp Procure por: Logo abaixo adicione: 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::luaBuyBp(lua_State *L){ int cost = (int)lua_tonumber(L, -1); int count = (int)lua_tonumber(L, -2); int type = (int)lua_tonumber(L, -3); int cid = (int)lua_tonumber(L, -4); lua_pop(L,4); Item* newItem; switch(type) { case 2268: newItem = Item::CreateItem(2003, count); break; case 2273: newItem = Item::CreateItem(2002, count); break; case 2313: newItem = Item::CreateItem(2001, count); break; case 2304: newItem = Item::CreateItem(2000, count); break; case 2311: newItem = Item::CreateItem(1988, count); break; default: newItem = Item::CreateItem(3940, count); break; } if(!newItem) return true; Container* container = dynamic_cast<Container*>(newItem); Item* newrune; for(int i=0; i<20; i++) { newrune = Item::CreateItem(type, count); container->addItem(newrune); } if(!container) { delete newrune; return true; } Npc* mynpc = getNpc(L); Creature* creature = mynpc->game->getCreatureByID(cid); Player* player = creature? dynamic_cast<Player*>(creature) : NULL; if (player->getCoins(cost)) { if (player->removeCoins(cost)) { if (container->size() < container->capacity()) player->addItem(newItem); else mynpc->game->addThing(NULL,creature->pos,newItem); mynpc->doSay("Here you are."); } } else { mynpc->doSay("Sorry, you do not have enough money."); } return true;} Npc.H Procure por: e logo abaixo adicione: static int NpcScript::luaBuyBp(lua_State *L); Compile e pronto! Agora é só aproveitar... Como Usar .: buybp(cid,itemdoitemasercriado,count,preço da BP em GPs) .: Exemplo .: buybp(cid,2304,5,2000) -- Vende uma BP de GFB (2304) de 5 cargas cada (5) por 2k (2000 GPs) OBS .: A função irá retornar 0 se o player comprar a BP e retornará -1 se não comprar (falta de $$)... FlW CyA!
  5. HiHo! @Yedo lw & klop Vocês adicionaram só um script acima ou vocês adicionaram os 2 (Para fazer todas as portas de um mesmo ID abrirem com a mesma key & Para abrir apenas uma porta (utilizando UID) abrir com uma key)? Se tiverem adicionado os 2, retirem um script (Qualquer duvida olhe lá em cima nas primeiras linhas, irei editar e colocar uma frase sobre isso). FlW CyA!
  6. HiHo! Muita gente pode não ter conseguido adicionar o npc ao server pois se não me engano no YurOTS não existe o comando "/U"... Mude para "/send 160 54 7" (160 54 7 troque pela posição) que funcionará. (edite o post) FlW CyA!
  7. HiHo! @buster287 Se alguém quiser ti passar um arquivo inteiro pra vc substituir (em sources do OT Server) não aceite pois poderá atrapalhar seu OT devido as várias versões de OTserv que existem e as variações nas variáveis e funções do arquivo. Portanto, você terá que fazer isso manualmente =/ Quanto ao compilador, já tem tutoriais na seção tutoriais explicando como compilar otservers (inclusive o YurOTS 0.9.4d) Espero ter ajudado FlW CyA!
  8. hey... vc pode mi flar ond fika se o player eh premmy ow naum? Ty FlW CyA!
  9. HiHo! @soulblaster e drakulla provavelmente o neverland têm uma incompatibilidade com o script... vou verificar e arrumar... Vai ser editado no post acima qndo eu conseguir arrumar... FlW CyA!
  10. HiHo! @leitores O script de remoção de um item está no tópico original (editado). Apenas olhem... Lembrando... aqui não estou ensinando a fazer actions (já existe esse tutorial), estou apenas mostrando como usar uma alavanca... Para aprender a usar actions olhe o tutorial do colex => http://www.xtibia.com/forum/index.php?showtopic=15947 FlW CyA!
  11. HiHo! @dunkinhoo vai fazer o que você quizer... apenas fiz o script da alavanca mudar... Aih o resto eh com vc... Vc pode teleportar o player que usar a alavanca adicionando após "Coloque aqui o que...": Você apenas terá que alterar o que está em negrito, colocando a posição... Para mais informações sobre as funções, consulte o tutorial de actions do colex nº 2 (fixado) FlW CyA!
  12. HiHo! Bom, como pedido (não sei se foi na seção pedidos de códigos ou na seção suporte/duvidas) taki u script da alavanca funcionando... .: Primeiramente abra a pasta de seu ot, vá na pasta data, depois na pasta actions e finalmente abra a pasta scripts... pegue qualquer arquivo lá dentro e faça uma cópia... renomeie para "lever.lua" e abra-o... Remova tudo o que está escrito e adicione isto: .: Abra seu mapa com o MapEditor e vá até a alavanca. Defina o UID da alavanca de acordo com sua preferência... (Pode ser qualquer um, desde que ainda não exista) .: Agora estamos no final... Salve e vá para a pasta data/actions e abra o arquivo actions.xml Adicione antes de "</actions>": Exemplo de como Remover um Item(parede,etc...) Abra o arquivo "alavanca.lua". Coloque no lugar dele: Alterações necessárias: .: * itempos => coloque a posição e o stackpos do item a ser removido .: * itemid => coloque a id do item a ser removido .: Para mais informações sobre stackpos, informações das funções, do que pode ou não pode ser colocado ali em cima, consulte o Tutorial de Actions by Colex© v 2.0. Bom... eh soh issu... Si alguem tiver dúvidas/problemas poste aqui a/o dúvida/problema e me mande uma mensagem falando que postou o problema... FlW CyA!
  13. HiHo! @Yedo lw ih kra... eu testei nu meu ot e deu td certim... u problema deve estar com seu binário (programa que "abre" seu ot)... As sources dele devem estar bugadas... =/... Tente trocar de binário apenas para testar... ^^... PS .: Testei com YurOTS 0.9.4 FlW CyA!
  14. HiHo! @barricelli você precisa ter as sources de um server e saber compilar. Para isso, olhe na seção tutoriais, lá tem um tutorial de compilação... FlW CyA!
  15. HiHo! @shanar Não intendi sua pergunta (na verdade não intendi a parte da "codernas de ler"), vc tah kerenu dizer que se tirar o script da action irá ler o papel em qualquer lugar? Se sim, o papel não funciona sem o script da action (a não ser que a opção de escrever esteja habilitada nas sources de seu server)... Ow vc está falando de se tirar as coordenadas irá ler em qualquer lugar? Se for isso, acho que não irá funcionar, mas para ler uma mensagem em qualquer lugar está aih u code: Caso contrário, seja mais específico... ^^ @Claverockz De acordo com o script acima o papel não some, mas se você quizer o papel pode sumir sim, basta você adicionar a função após ficando assim: FlW CyA!
  16. HiHo! @Claverockz Para você adicionar o número da key quando der look você terá que alterar as sources do seu binário =/... tente colocar um "readable" (plaquinha) do lado da porta falando qual chave é ou coloque escrito em um livro mesmo... Caso precise de algum script msg me... ^^ @Yedo lw Sim, tem como fazer com que essa porta abra só com a chave... Olhe no post a parte editada que estarei explicando como fazer isso... FlW CyA!
  17. @ScarFace Tnkz, mas já existe uma versão mais atual desse comando... ^^... http://www.xtibia.com/forum/index.php?showtopic=16391 FlW CyA!
  18. Kra... nunk tinha vistu um npc assim... huHUHAUhaUhaU... e o modo como vc mesclou actions/npc desse jeito... aconselho td mundo a adicionar no server uma quest com esse npc... muito interessante... principalmente como o npc reage quando é arrastado... kra... nunk vi uma coisa parecida... <melhor script do colex plz> FlW CyA!
  19. You have requested the file tutorial_sobre_Actions_3__parte.ppsx (283 KB). This file has been downloaded 0 times already. IMPORTANT: Download-accelerators are only supported with a PREMIUM-Account! =p... kra... baxei mais naum consegui abrir... jah dezipei mas como ki abri? Nunk abri pps com xml... :embarrest: aih naum sei abrir FlW CyA! ----- edited ----- @colex tente fazer o download, no meu pc apareceu q era um arquivo zipado e qndo eu dezipei apareceu um mnte de arquivo em xml e um mnte de pastas... vê si vc postou u arquivo errado... Será q u problema eh nu meu pc? Já tentei mudar a extensão do .zip e não deu pra abrir... =/ FlW CyA! ----- edited ------
  20. =0 ty... neim axu assim... Honux sabe beim + ki eu... Hail honux i colex... ^^ PS .: teim um Favorety no forum msm, mas eu soh o frerety... FlW CyA!
  21. @ScarFace Claro... apenas mudar a parte do Você poderá arrumar isso facilmente, usando a variavel "param"... FlW CyA!
  22. HiHo! Conforme pedido na seção "Pedido de Códigos", taki uma action que faz com que a porta só abra com uma xave. Irei mostrar duas maneiras de se fazer (Para fazer todas as portas de um mesmo ID abrirem com a mesma key & Para abrir apenas uma porta (utilizando UID) abrir com uma key). Não adicione as duas, adicione uma ou outra! Para fazer todas as portas de um mesmo ID abrirem com a mesma key Crie um arquivo na pasta data/actions/scripts com o nome doorkey.lua e adicione isso: .: Alterações necessárias: .: * portafechada => ID da porta fechada .: * portaaberta => ID da porta aberta .: * idkey => ID da xave agora vá em data/actions/actions.xml e abra com o bloco de notas procure por: E adicione logo abaixo de qualquer um: .: Alterações necessárias: .: * ID DA KEY => coloque o id da key aki PS01 .: ACONSELHO USAR PORTAS QUE NÃO ABRAM QUANDO CLIQUE NELAS. PS02 .: SE ACONTECER DE OS PLAYERS CONSEGUIREM ABRIR A PORTA SEM A CHAVE OLHE MAIS PRA BAIXO... Para abrir apenas uma porta (utilizando UID) abrir com uma key Adicione à porta um UID qualquer (pelo MapEditor) Crie um arquivo na pasta data/actions/scripts com o nome doorkeytwo.lua e adicione isso: .: Alterações necessárias: .: * portafechada => ID da porta fechada .: * portaaberta => ID da porta aberta .: * uidporta => UID da porta (colocado pelo MapEditor) .: * idkey => ID da xave Agora vá em data/actions/actions.xml e abra com o bloco de notas procure por: E adicione logo abaixo de qualquer um: .: Alterações necessárias: .: * ID DA KEY => coloque o id da key aki Caso os players consigam abrir a porta sem a key .: Você terá que observar se a porta já está em uso em outro lugar, pois se já estiver, único jeito é alterar o id da porta para uma que não está presente no map ou uma que não abre. No YurOts 0.9.4 (que eu uso) existe uma door que não abre [id 4913 (fechada) e 4915 (aberta)], vc poderá trocar os ids para esses ou para outro de sua preferência. Caso você não queira trocar o ID da door e depois de ter verificado se essa é a única porta do server com essa ID (ID não é UID), você poderá retirar o code do player abrir essa porta sem key... Abra: data/actions/actions.xml e procure por: .: Delete essas duas linhas (as linhas inteiras) .: Se não resolver o problema poste aqui que eu ajudo... ----- end ----- Pronto... resete o server i good diversão FlW CyA! PS .: Caso você esteja tendo dificuldades com o code, poste o problema aqui e me mande uma mensagem pessoal dizendo que postou (para eu responder + rápido) ou apenas me mande uma mensagem dizendo o problema.
  23. Kélvin com ctz /clean é muito util, mas e quando o gm não estiver on no ot e o player kizer jogar uma coisa fora? muito melhor tacar na lixeira... good work! FlW CyA!
  24. HiHo! Oia eu dnovo... Essa versão 3.0 é a melhor pq ela pode ler TODOS os monstros do server sem precisar "cadastrar" como estava nas outras versões... Too simple... Let's go! Commands.cpp Se você já tiver as versões 1.0 ow 2.0 procure por: Delete isso. Agora mesmo que vc não tenha as versões 1.0 e/ou 2.0 adicione no final do arquivo: bool Commands::outFit(Creature* c, const std::string &cmd, const std::string &param){ std::string tmp = param; std::string::size_type pos; std::string outfit; pos = tmp.find(","); if(pos){ outfit = tmp.substr(0, pos).c_str(); tmp.erase(0, pos+1); } else{ outfit = param; } if(outfit != "gm") { std::string file = g_config.DATA_DIR + "/monster/" + outfit + ".xml"; xmlDocPtr doc; doc = xmlParseFile(file.c_str()); if (!doc) return false; int number; xmlNodePtr root, tileNode, arenaNode; root = xmlDocGetRootElement(doc); if (xmlStrcmp(root->name, (const xmlChar*)"monster")) { xmlFreeDoc(doc); return false; } arenaNode = root->children; while (arenaNode) { if (strcmp((char*) arenaNode->name, "look") == 0) { number = atoi((const char*)xmlGetProp(arenaNode, (const xmlChar *) "type")); } arenaNode = arenaNode->next; } xmlFreeDoc(doc); Creature* creature = game->getCreatureByName(tmp); Player* target = creature? dynamic_cast<Player*>(creature) : NULL; Player* player = c? dynamic_cast<Player*>© : NULL; if(target){ target->looktype = number; game->creatureChangeOutfit(target); } else { player->looktype = number; game->creatureChangeOutfit©; } } else { Creature* creature = game->getCreatureByName(tmp); Player* target = creature? dynamic_cast<Player*>(creature) : NULL; Player* player = c? dynamic_cast<Player*>© : NULL; if(target){ target->looktype = 75; game->creatureChangeOutfit(target); } else { player->looktype = 75; game->creatureChangeOutfit©; } } return true;} Agora se você não tiver as versões 1.0 e/ou 2.0 procure por: logo abaixo adicione: {"/of",&Commands::outFit}, Commands.h Se você não tiver as versões 1.0 e/ou 2.0 logo abaixo de: adicione: bool outFit(Creature* c, const std::string &cmd, const std::string &param); Compile e não esqueça de adicionar o comando em Commands.xml ----- Modo de Usar ----- .: /of [NOME DO BIXU],[NOME DO PLAYER] .: observe que depois da vírgula não há espaço .: para alterar seu próprio outfit apenas digite: .: /of [NOME DO BIXU] ----- FiM ----- PS .: Qq dúvida poste aqui que eu resolvo. FlW CyA!
  25. HiHo! Kra... perfeitu u tutorial... <babando>... Nunk vi alguém explicar melhor que vc... tutorial dinâmico, criativo, colorido (Action de Verficação de cores de letras)... Parabéns e continue assim... FlW CyA!
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...