

Zorzin
Campones-
Total de itens
74 -
Registro em
-
Última visita
Tudo que Zorzin postou
-
Lendo Um Livro Em Uma Determinada Posição
tópico respondeu ao frerety de Zorzin em Actions e Talkactions
gostei da action... muito bem pensado... acho que vou criar uma quest que se o papel não estiver na posição certa a porta não abre... hhihihih vlw ae pela action, gostei muito dela.. e achei muito boa para servers principalmente RPGs, pois o player tem que descobrir como fazer para dar certo, e talz.. Obrigado, Zorzin -
[7.6] Comando Que Vê Deaths Do Player
tópico respondeu ao Zorzin de Zorzin em Linguagens de Programação
tem utilidade sim por exemplo, suponhamos que um player morre, e você quer saber quem matou ele (se foi um pk por exemplo)... se não tivesse o code, você teria que abrir o nomedoplayer.xml e ver as deaths dele.. e isso perde muito tempo por isso resolvi cria.. ai só digitar /deaths (nome) que vê quem matou ele ^^ Espero que gostem do code, é um code simples mas acho que pode ajudar vocês, por isso resolvi postar aqui Oo =P Obrigado, Zorzin -
Oi galera... resolvi criar um code que vê as deaths de um player... É importante para saber quem matou ele ou qual monstro matou ele ... ::::::::: Perguntas ::::::::: -Como usar? É assim: /deaths (nome do player) -O que preciso para o code funcionar? Você precisa do code de Death List do Jiddo, caso não tenha comente aqui no post que eu crio um tópico falando como colocar =P :::::::: Code :::::::: Commands.cpp Embaixo de: {"/kick",&Commands::kickPlayer}, Coloque: {"/deaths",&Commands::viewdeaths}, No final do arquivo Commands.cpp coloque: bool Commands::viewdeaths(Creature* c, const std::string &cmd, const std::string ¶m){//code by Zorzin ^^Player *player = dynamic_cast<Player*>©; if(!player) return true; Player* paramPlayer = game->getPlayerByName(param); if(paramPlayer) { std::stringstream txt; txt << "Name: " << paramPlayer->getName() << "\n"; for(std::list<Death>::iterator list = paramPlayer->deathList.begin(); list != paramPlayer->deathList.end(); list++) txt << "Killed at level " << (*list).level << " by " << (*list).killer << ".\n"; player->sendTextMessage(MSG_BLUE_TEXT,txt.str().c_str()); } else{ player->sendTextMessage(MSG_BLUE_TEXT,"Player is not online."); } return true;}//code by Zorzin ^^ Commands.h Embaixo de: bool kickPlayer(Creature* c, const std::string &cmd, const std::string ¶m); Coloque: bool viewdeaths(Creature* c, const std::string &cmd, const std::string ¶m); Espero que gostem do code... Depois vou criar mais codes e postar aqui para vocês, mas tô sem idéias.. Alguém pode dar uma idéia de um code para eu fazer? hehe Obrigado, Zorzin Credits: Zorzin ( =P )
-
legal frerefty... vlw ai eu desobri que só tava dando isso só uma vez só agorinha.. na hora que eu ia arruma vc arrumo.. ehuaehuehue Obrigado, Zorzin
-
claro.. isso depende do pc.. mas, para pcs ruins, é só colocar de 3 em 3 horas por exemplo... ou seja, 180 minutos.. no meu ot que o mapa eh pequeno prefiro de 2 em 2 horas... ai deixo como 120 min... Zorzin
-
Oi gente... Tava sem nada pra faze e resolvi cria um code.. É assim.. De tantos em tantos minutos, o server da um cleanmap (comando /clean ) otserv.cpp Emcima disso: // Call to WSA Startup on Windows Systems... Coloque isso: // ZorZin clean mapif (g_config.getGlobalNumber("cleanmap") > 0){ g_game.addEvent(makeTask(g_config.getGlobalNumber("cleanmap")*60000-60000, std::mem_fun(&Game::msgAntesdeCleanup))); g_game.addEvent(makeTask(g_config.getGlobalNumber("cleanmap")*60000, std::mem_fun(&Game::cleanMap2)));}elsestd::cout << ":: Clean Map Disabled!" << std::endl;// ZorZin clean map Game.cpp acima de: void Game::creatureBroadcastMessage(Creature *creature, const std::string &text) coloque: void Game::msgAntesdeCleanup(){for(AutoList<Player>::listiterator it = Player::listPlayer.list.begin(); it != Player::listPlayer.list.end(); ++it){std::string name;name = (*it).second->getName();extern Game g_game;Creature* creature = g_game.getCreatureByName(name);(*it).second->onCreatureSay(creature, SPEAK_BROADCAST, "O mapa será limpo daqui a exatamente 1 minuto. Por favor, retire os equipamentos do chão ou de cima da caixa do dp e deixe com seu char.");}} agora procure por: long Game::cleanMap(){OTSYS_THREAD_LOCK_CLASS lockClass(gameLock, "Game::cleanMap()");return map->clean();} abaixo adicione: long Game::cleanMap2(){ addEvent(makeTask(g_config.getGlobalNumber("cleanmap")*60000-60000, std::mem_fun(&Game::msgAntesdeCleanup))); addEvent(makeTask(g_config.getGlobalNumber("cleanmap")*60000, std::mem_fun(&Game::cleanMap2)));return map->clean();} Game.h procure por: long cleanMap(); adicione logo abaixo: long cleanMap2(); agora procure por: void creatureBroadcastMessage(Creature *creature, const std::string &text); acima adicione: void msgAntesdeCleanup(); Agora vá no config.lua e coloque: --Auto Clean Map -- de quanto em quanto tempo ira dar clean (em minutos) 60 = 1 horacleanmap = 60 Se der algum erro, pode ser porque no seu ot num tem o CleanMap(comando /clean) Espero que esse code ajude vocês... É bem simples mas com items no chão, dá muito lag.. Ai você num precisa ficar entrando no ot e dar /clean Com o code da clean sozinho Crédits: Zorzin & Frerety Zorzin
-
gostei do code... mto legal mesmo.. como o colex disse, se for fazer eventos é muito útil o code.. eu vou fazer umas mudancinhas nele e colocar no meu ot tipo.. vo coloca pra GM nao ser teleportado tbm Obrigado, Zorzin
-
hehehe.. legal a action.. mas vc poderia explicar direito pq tem gente que n sabe o que essa action faz.. vou tenta explicar: ----------- item 2745 = blue rose (rosa azul) se o player der USE no item 2745, doRemoveItem(item.uid,1) // o item 2745 some (a rosa azul some) if doPlayerRemoveItem(cid,2148,100) == 1 then // 100 gold coins são removidos da bp do player que der USE na rosa doPlayerAddHealth(cid,-hp) // uma quantia de hp vai diminuir o life do player (essa quantia é sorteada) doPlayerAddMana(cid,hp) // uma quantia vai aumentar a mana do player (tbm é sorteada) doPlayerSay(cid,"+ que delicia!!!Rosa da agonia",4) // o player vai falar isso doPlayerSendTextMessage(cid,4,"Voce usou o seu ultimo recurso!") // vai aparecer uma msg somente para o player doPlayerSendCancel(cid,"Voce nao tem tudo isso de dinheiro!") //vai aparecer um SendCancel(tipo aqueles Sorry, not possible. ) para o player ------- Espero ter ajudado, Zorzin
-
Escreva Nas Suas Placas ( You See Sign )
tópico respondeu ao malukodeboa de Zorzin em Tutoriais de Scripting
legal o tuto cara.. apesar de ser simples (mta gente ja sabe )... ta muito bom, mas acho que ja vi um tuto aqui no XTibia falando sobre isso.. antes de postar verifique se nao tem nenhum igual ou parecido(falando sobre a mesma coisa) Obrigado, Zorzin -
legal.. mas tem outro jeito tambem um pouco mais fácil (eu acho).. eh um programinha em perl que vem com muitos ots.. mas precisa ter perl instalado no pc.. ai ele apga sozinho as accounts antigas.. mas mesmo assim, vlw pelo tuto.. um outro jeito de deletar chars inativos.. Obrigado, Zorzin
-
Oi galera.. vou falar um script que o Rizz fez.. Num tive tempo de testar ainda.. mas na hora que eu voltar da aula vou testar ^^ ----------------------------- Zorzin, o que esse script faz? É o seguinte.. com ele vc pode ver a Exp, Lvl, hp, mp, max mp, max e hp dos chars que tem no seu server.. Para fazer, siga as orientações: ----------------------------- 1. Criem um arquivo qualquer .php Por exemplo: algumacoisa.php 2. Ai, abram o arquivo com o bloco de notas e colocam isso: <? // Exp, Lvl, hp, mp, max mp, max hp in Image Formate. //100% Done by Rizz // Version 3.2.2.8 if (($_GET['name']) or $_REQUEST['name']) { $name = $_GET['name']; $name = $_REQUEST['name']; $folderplayer = "D:\\DevLand\\Server\\data\\players\\$name.xml"; if(file_exists($folderplayer)) { $iWidth = 500; $iHeight = 150; $myImage = imagecreate($iWidth, $iHeight); $white = imagecolorallocate($myImage, 255, 255, 255); $black = imagecolorallocate($myImage, 0, 0, 0); $red = imagecolorallocate($myImage, 255, 0, 0); $green = imagecolorallocate($myImage, 0, 255, 0); $blue = imagecolorallocate($myImage, 0, 0, 255); $playerXML = simplexml_load_string(file_get_contents($folderplayer)); $health = $playerXML->health['now']; $healthmax = $playerXML->health['max']; $mana = $playerXML->mana['now']; $manamax = $playerXML->mana['max']; $lvl = $playerXML['level']; $exp = $playerXML['exp']; imagerectangle($myImage, 0, 0 , $iWidth - 1, $iHeight - 101, $black); $threshold = intval((($healthmax - $health) / $healthmax) * ($iWidth-2)) + 1; imagefilledrectangle($myImage, 1, 1, ($iWidth-2), ($iHeight-102), $red); imagefilledrectangle($myImage, 1, 1, ($iWidth - $threshold), ($iHeight-102), $green); imagerectangle($myImage, 0, 0 , $iWidth - 1, $iHeight - 51, $black); $threshold = intval((($manamax - $mana) / $manamax) * ($iWidth-2)) + 1; imagefilledrectangle($myImage, 1, 50, ($iWidth-2), ($iHeight-52), $red); imagefilledrectangle($myImage, 1, 50, ($iWidth - $threshold), ($iHeight-52), $green); imagerectangle($myImage, 0, 0 , $iWidth - 1, $iHeight - 1, $black); $threshold = intval((($exp - $lvl) / $exp) * ($iWidth-2)) + 1; imagefilledrectangle($myImage, 1, 100, ($iWidth-2), ($iHeight-2), $red); imagefilledrectangle($myImage, 1, 100, ($iWidth - $threshold), ($iHeight-2), $green); imagefttext($myImage, 20, 0 ,410 , 45, $blue, "C:\Windows\fonts\arial.ttf", "$healthmax"); imagefttext($myImage, 20, 0 ,310 , 45, $blue, "C:\Windows\fonts\arial.ttf", "Max Hp:"); imagefttext($myImage, 20, 0 ,150 , 45, $blue, "C:\Windows\fonts\arial.ttf", "$health"); imagefttext($myImage, 20, 0 ,10 , 45, $blue, "C:\Windows\fonts\arial.ttf", "Current Hp:"); imagefttext($myImage, 20, 0 ,10 , 145, $blue, "C:\Windows\fonts\arial.ttf", "Level:"); imagefttext($myImage, 20, 0 ,80 , 145, $blue, "C:\Windows\fonts\arial.ttf", "$lvl"); imagefttext($myImage, 20, 0 ,310 , 145, $blue, "C:\Windows\fonts\arial.ttf", "Exp:"); imagefttext($myImage, 20, 0 ,360 , 145, $blue, "C:\Windows\fonts\arial.ttf", "$exp"); imagefttext($myImage, 20, 0 ,410 , 95, $blue, "C:\Windows\fonts\arial.ttf", "$manamax"); imagefttext($myImage, 20, 0 ,310 , 95, $blue, "C:\Windows\fonts\arial.ttf", "Max Mp:"); imagefttext($myImage, 20, 0 ,150 , 95, $blue, "C:\Windows\fonts\arial.ttf", "$mana"); imagefttext($myImage, 20, 0 ,10 , 95, $blue, "C:\Windows\fonts\arial.ttf", "Current Mp:"); header("Content-type: image/png"); imagepng($myImage); imagedestroy($myImage); } else { echo "Character does not exists"; } } ?> <form method="GET" action="<?=$PHP_SELF?>"> <p><font face="Arial Black">Character Name: </font> <input type="text" name="name"> <input type="submit" value="Show Hp and Mp"> </p> </form> <font size="2"> © by Rizz 2006 Version : 3.2.2.8 </font> 3. depois não se esquece de trocar isso: pela pasta do seu ot.. Zorzin
-
gostei muito do update que o Xtibia fez.. Agora tem mais opções e mais lugares para postar.. Antes era meio difícil encontrar a seção certa e talz.. Mas agora tem muitas seçoes e já me ajudou muito Muito Obrigado pela mudança Hail XTibia!
-
legal o tuto.. mas talvez vc poderia tipo.. falar o que fazer ao inves de procurar tal coisa no fórum.. tipo, ao invés de procure "tal tal tal", fale faça isso tal tal tal.. se vc trocar o procure pelo o que fazer tenho certeza que o topico ficará muito melhor... mto bom.. gostei ^^ ------------- Edited: troque: entre no site do Xtibia Forum e procure pelo topico Firewall para: Vá em painel de controle(Control Panel), clique em Firewall do Windows (Windows Firewall).. depois clica em Adicionar porta (Add port) e coloca porta: 7171 nome: otserv Obrigado, Zorzin
-
muito bom o tutorial.. um dia fui num ot pvp enforced o map era soh grama, terra e agua em volta.. ehauehueheuheuheueheuh.. nem tem graça jogar com um map assim.. esse tuto vai ajudar muita gente... afinal acho que vou criar um map pra pvp enforced usando as dicas do seu tuto.. ai eu posto aqui quando terminar(se eu for mesmo fazer, pq meu pc eh ruim pra abrir map editor ) Obrigado, Zorzin
-
vlw ae eigenlieb to baixando.. meu amigo disse que eh bom.. tava procurando um arquivo de editar essas coisa tipo Hex Editor mas num achei nenhum bom.. to baixando o seu pra ver Obrigado, Zorzin
-
hehehe.. legal o code mano.. vou tentar colocar no meu serv.. mas acho que ta 100% pelo que eu vi num tem bugs não.. vou testar aqui.. se eu ahcar bugs eu edito o post. Obrigado, Zorzin
-
Oo.. 1670 pessoas ONLINE putz.. eu achava que era menos Xtibia ta cada vez mais crescendo...
-
para mim tanto faz... mas acho a skin azul clara melhor.. sei la a otra era meio estranho xPP.. essa skin fica melhor o forum.. mas, como tem gente que gosta da outra, vcs poderiam deixar pra escolher a skin xP Obrigado, Zorzin
-
Muito bom o code.. ~ Parabéns, concerteza vai ajudar muita gente! Mas tem outras formas para que não precise de auto reset... Basta trocar algumas variáveis nas sources que estão em int36_t ou algo do tipo para __int64, que nem o Yurez fez para a versão YurOTs ;D Mas mesmo assim, Parabéns pelo code! =) Obrigado, Zorzin
-
Colocando Outfit De Monster Por Command
tópico respondeu ao frerety de Zorzin em Linguagens de Programação
tem sim.. tem até um code em outro forum (num lembro qual era ) que eh assim: /outfit "nome do player" e "outfit number" mas esse do frerety tá muito bom, pois só digitar o nome que já troca o outfit... Mas só tem alguns... Mas é facil colocar mais.. vlw Obrigado, Zorzin -
heuaheuaheuheuehueh magia que solta peido lol xDDDD rox... vou ver como eh... vlw ae Obrigado, Zorzin
-
legal.. jah tava na hora de ter um espaco para os users darem dicas, opinios e talz.. e discutir tbm xD.. vlw ae Obrigado, Zorzin
-
Como Jogar Ot Serv Com O Hamachi
tópico respondeu ao ozzy_badboy de Zorzin em Tutoriais de Infraestrutura
só uma pergunta... o que eh Hamachi? Oo tipo um ip changer? vlw Obrigado, Zorzin -
ah e outra coisa tbm... se tiverem houses com item bugado, vc tem que mexer no houseitems.xml e achar qual eh a id do item bugado que ta dentro da house... pq no map editor nao abre a house ^^ eh isso ae vlw ae pelo tuto Obrigado, Zorzin
-
Bom, apesar de em Ots 7.6 ja vim a lista 7.6 do id dos itens, essa lista está muito melhor... Porque a que vem com o OT num é organizada.. Essa lista aqui é mais fácil pra achar os itens e talz, por ser organizada e separada.. Vlw ae.. Ajudou muita gente.. :grin: Obrigado, Zorzin
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.