Ir para conteúdo

Foxkbt

Artesão
  • Total de itens

    108
  • Registro em

  • Última visita

  • Dias Ganhos

    1

Tudo que Foxkbt postou

  1. eu postei na esperança de alguem me ajudar a concerta boa ideia a de futeboll XD
  2. ola galera! estou começando com c++ e estou add umas coisinhas que acho em forums no meu serv afim de implementalo e aprender um pouquinho mais =D encontrei um script muito legal em outro forum que e o onMove para creatureScripts mas ele tem um probleminha que faz o onThink parar de funcionar... =( se alguem puder fixar isso ajudaria muito! "estou tentando fixar aki tb, se conceguir eu edito o post" ^^ creditos pelos scripts: 100% darkhaos creatureevent.h: abaixo de: CREATURE_EVENT_DIRECTION, cole: CREATURE_EVENT_MOVE, abaixo de: uint32_t executeDirection(Creature* creature, Direction old, Direction current); cole: uint32_t executeMove(Creature* creature, const Position& fromPosition, const Position& toPosition); creatureevent.cpp: abaixo de: else if(tmpStr == "direction") m_type = CREATURE_EVENT_DIRECTION; cole: else if(tmpStr == "move") m_type = CREATURE_EVENT_MOVE; abaixo de: case CREATURE_EVENT_DIRECTION: return "onDirection"; cole: case CREATURE_EVENT_MOVE: return "onMove"; abaixo de: case CREATURE_EVENT_OUTFIT: return "cid, old, current"; cole: case CREATURE_EVENT_MOVE: return "cid, fromPosition, toPosition"; agora abaixo desta função: uint32_t CreatureEvent::executeDirection(Creature* creature, Direction old, Direction current) cole esta: uint32_t CreatureEvent::executeMove(Creature* creature, const Position& fromPosition, const Position& toPosition) { //onMove(cid, old, current) if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(creature->getPosition()); std::stringstream scriptstream; scriptstream << "local cid = " << env->addThing(creature) << std::endl; env->streamPosition(scriptstream, "fromPosition", fromPosition, 0); env->streamPosition(scriptstream, "toPosition", toPosition, 0); scriptstream << m_scriptData; bool result = true; if(m_interface->loadBuffer(scriptstream.str())) { lua_State* L = m_interface->getState(); result = m_interface->getGlobalBool(L, "_result", true); } m_interface->releaseEnv(); return result; } else { #ifdef __DEBUG_LUASCRIPTS__ char desc[30]; sprintf(desc, "%s", creature->getName().c_str()); env->setEventDesc(desc); #endif env->setScriptId(m_scriptId, m_interface); env->setRealPos(creature->getPosition()); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(creature)); LuaScriptInterface::pushPosition(L, fromPosition); LuaScriptInterface::pushPosition(L, toPosition); bool result = m_interface->callFunction(3); m_interface->releaseEnv(); return result; } } else { std::cout << "[Error - CreatureEvent::executeMove] Call stack overflow." << std::endl; return 0; } } game.cpp: abaixo de: else if(currentPos.z != 7 && (!(tmpTile = map->getTile(destPos)) || (!tmpTile->ground && !tmpTile->hasProperty(BLOCKSOLID))) && (tmpTile = map->getTile(Position( destPos.x, destPos.y, destPos.z + 1))) && tmpTile->hasHeight(3)) //try go down { flags = flags | FLAG_IGNOREBLOCKITEM | FLAG_IGNOREBLOCKCREATURE; destPos.z++; } } cole bool deny = false; CreatureEventList moveEvents = creature->getCreatureEvents(CREATURE_EVENT_MOVE); for(CreatureEventList::iterator it = moveEvents.begin(); it != moveEvents.end(); ++it) if(!(*it)->executeMove(creature, currentPos, destPos)) deny = true; if(deny) return RET_NOTPOSSIBLE; agora e so compilar XD use como exemplo! function onMove(cid, fromPosition, toPosition) if(toPosition.x == 100 and toPosition.y == 100 and toPosition.z == 7) then doSendMagicEffect(toPosition, CONST_ME_MAGIC_GREEN) end return true end <event type="move" name="Move" event="script" value="move.lua"/> bugs! voce n pode usar desta forma: if(toPosition == {x = 100, y = 100, z = 7}) then --execute script não sei pq, nem o criador do scirpt sabe... XD ele tb disse que n e para usar return false se n da esse erro: J:\Users\xxx\Documents\Documents\OT\0.3.6pl1\game.cpp In member function `ReturnValue Game::internalMoveCreature(Creature*, Direction, uint32_t)': 1174 J:\Users\xxx\Documents\Documents\OT\0.3.6pl1\game.cpp cannot convert `bool' to `ReturnValue' in return J:\Users\xxx\Documents\Documents\OT\My Compiling\Makefile.win [build Error] [../0.3.6pl1/game.o] Error 1 espero ter ajudado... se me ajudar com os bugs... irei editar o post colocando a correção adicionar seus creditos e lhe dar rep++ ^^ 17 views e nenhum coment '
  3. o link das soucers ta quebrado aguardo resposta =)
  4. [GOD]Foxkbt jha fiz os dois! troquei ate de datacenter imagino que seja problema no mysql... mas n sei nada de mysql so sei ki se eu mudar vo perder os players atuais
  5. arf c n entendeu nada do q eu disse num foi? meu server jha ta on!!! jha ta no otservlist!!! vai la e procura por lithiumts so ki la... APARECE OFF!!!!!!!!!!!!!!! jha troquei o plano do datacenter troquei ate o executavel do ot mas nada tem um mes isso >=( o pior cara e ki de vez enquando fica on no otlist depois de 1 hr no maximo fica off de novo puta ki pariu to pa matar um de odio dessa disgrassa
  6. criar uma nova classe da um trabalho do cão criar armas criar magias criar itens modificar movements modificar quests ki dão premios por vocations e muita coisa mas... se quiser aprender a fazer vai na pasta xml e abre vocations la vc edita magia!!! esqueci de por o effeito ki vc pedio XD maus o paralyze deve tar fraco local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_STUN) function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill + attack ,level/5 return -(skillTotal * 1.0 + levelTotal), -(skillTotal * 2.0 + levelTotal) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 20000) setConditionFormula(condition, -3.0, 0, -3.0, 0) setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end fica paralyze 20 segundos
  7. o primeiro n sei vei veja se a uh ta boa assim! substitua tudo dentro de data/spells/scripts/healing/ultimate healing rune.lua local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 10, 5, 10, 12) function onCastSpell(cid, var) return doCombat(cid, combat, var) end te ajudei? rep+ ou vc pode jogar um pouco do meu server tb como apoio moral ^.- video do serv:
  8. só? pelo tanto de coisa ki vc pedio... vc deveria ir na sessão de tutoriais e estudar! como eu fiz... mas vo lhe ajudar em umas coisitas ki achu facito 1 e 2 especifique melhor o que vc quer! 3 para banir ip faz assim... clik ctrl e botão direito no nome ou char ki vc quer banir vai ate rulle violation e clik vai aparecer uma telinha com varios motivos pa se banir um condenado vai ter algo assim para selecionar: ip address banishment "entendeu ne?" XD 4 não sei XD 5 n da pa fazer o hollow sem ter uma imagem = a de tibia, escolha um bixo do tibia que parece um hollow e me avise ki eu faço 6 n sei do ki c ta falando 7 vai em config.lua procure por essas tags e supstitua dailyFragsToRedSkull = "numero de vs pa matar e pegar red no mesmo dia" weeklyFragsToRedSkull = "numero de vs pa matar e pegar red por semana" monthlyFragsToRedSkull = "numero de vs pa matar e pegar red por mes" whiteSkullTime = 30 * 1000 pzLocked = 10 * 1000 8 copie um arquivo em data/spells/scripts renomei ele para buff.lua delete tudo ki tem dentro e cole isso local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 120000) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, 50) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, 50) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 50) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, 50) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, 50) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 50) setConditionParam(condition, CONDITION_PARAM_SKILL_MAGICLEVEL, 50) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end depois add isto no spell.xml <instant name="buff" words="super utito gran" lvl="8" mana="500" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="buff.lua"/> 9 não acho uma boa ideia isto então n vo nem tentar 10 to com sono agora amanha posto isto 11 jha to trabalhando em algo do tipo mas tem um topico em scripts ki tem essa magia so n testei ainda http://www.xtibia.com/forum/topic/137789-cloner-system/ ajudei? me d rep+ XD ou tb vc pode jogar um pouco do meu server video do jogo
  9. falto dizer qual a distancia se e forte ou fraco... botei o dano de skill pa skillx2 copie um arquivo em data/spells/scripts renomei ele para stum.lua delete tudo dentro do arquivo e cole isto \/ local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 0) function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill + attack ,level/5 return -(skillTotal * 1.0 + levelTotal), -(skillTotal * 2.0 + levelTotal) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 20000) setConditionFormula(condition, -0.9, 0, -0.9, 0) setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end coloque isto no spell.xml <instant name="stum" words="exori stum" lvl="8" mana="175" prem="1" range="5" needtarget="1" needweapon="1" exhaustion="2000" needlearn="0" event="script" value="stum.lua"> <vocation id="8"/> </instant> rep+ plx XD se puder d uma olhada no meu server video do jogo
  10. Foxkbt

    Urricane

    essa magia eu fiz com a intenção de simular que o kina rodou a espada a seu redor dando dano "como o exori" depois de usar ela uma certa quantidade de veses... ela ira almentar o dano e ira rodar mais veses! nivel 2 , usar a magia 1000 veses nivel 3, usar a magia +5000 veses nivel 4, usar a magia +10000 veses quando usa essa magia, o kina n pode se mover ate acabar, caso n goste disso, tire todas as linhas que tiver isso > addEvent(onFinishSpell1 va em spell/scripts copie qualquer arquivo e renomeie ele para urricane.lua delete tudo que estiver dentro do arquivo e cole isso! local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 0) function onGetFormulaValues(cid, level, skill, attack, factor) local power = getPlayerStorageValue(cid, 33324) local skillTotal, levelTotal = skill + attack ,power * (level/5) return -(skillTotal * 1.0 + levelTotal), -(skillTotal * 2.0 + levelTotal) end setCombatCallback(combat1, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 0) function onGetFormulaValues(cid, level, skill, attack, factor) local power = getPlayerStorageValue(cid, 33324) local skillTotal, levelTotal = skill + attack ,power * (level/5) return -(skillTotal * 1.0 + levelTotal), -(skillTotal * 2.0 + levelTotal) end setCombatCallback(combat2, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 0) function onGetFormulaValues(cid, level, skill, attack, factor) local power = getPlayerStorageValue(cid, 33324) local skillTotal, levelTotal = skill + attack ,power * (level/5) return -(skillTotal * 1.0 + levelTotal), -(skillTotal * 2.0 + levelTotal) end setCombatCallback(combat3, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") local combat4 = createCombatObject() setCombatParam(combat4, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat4, COMBAT_PARAM_EFFECT, 0) function onGetFormulaValues(cid, level, skill, attack, factor) local power = getPlayerStorageValue(cid, 33324) local skillTotal, levelTotal = skill + attack ,power * (level/5) return -(skillTotal * 1.0 + levelTotal), -(skillTotal * 2.0 + levelTotal) end setCombatCallback(combat4, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") local combat5 = createCombatObject() setCombatParam(combat5, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat5, COMBAT_PARAM_EFFECT, 0) function onGetFormulaValues(cid, level, skill, attack, factor) local power = getPlayerStorageValue(cid, 33324) local skillTotal, levelTotal = skill + attack ,power * (level/5) return -(skillTotal * 1.0 + levelTotal), -(skillTotal * 2.0 + levelTotal) end setCombatCallback(combat5, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") local combat6 = createCombatObject() setCombatParam(combat6, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat6, COMBAT_PARAM_EFFECT, 0) function onGetFormulaValues(cid, level, skill, attack, factor) local power = getPlayerStorageValue(cid, 33324) local skillTotal, levelTotal = skill + attack ,power * (level/5) return -(skillTotal * 1.0 + levelTotal), -(skillTotal * 2.0 + levelTotal) end setCombatCallback(combat6, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") local combat7 = createCombatObject() setCombatParam(combat7, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat7, COMBAT_PARAM_EFFECT, 0) function onGetFormulaValues(cid, level, skill, attack, factor) local power = getPlayerStorageValue(cid, 33324) local skillTotal, levelTotal = skill + attack ,power * (level/5) return -(skillTotal * 1.0 + levelTotal), -(skillTotal * 2.0 + levelTotal) end setCombatCallback(combat7, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") local combat8 = createCombatObject() setCombatParam(combat8, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat8, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat8, COMBAT_PARAM_EFFECT, 0) function onGetFormulaValues(cid, level, skill, attack, factor) local power = getPlayerStorageValue(cid, 33324) local skillTotal, levelTotal = skill + attack ,power * (level/5) return -(skillTotal * 1.0 + levelTotal), -(skillTotal * 2.0 + levelTotal) end setCombatCallback(combat8, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") arr1 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr2 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr3 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr4 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr5 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr6 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr7 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr8 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area3 = createCombatArea(arr3) local area4 = createCombatArea(arr4) local area5 = createCombatArea(arr5) local area6 = createCombatArea(arr6) local area7 = createCombatArea(arr7) local area8 = createCombatArea(arr8) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat3, area3) setCombatArea(combat4, area4) setCombatArea(combat5, area5) setCombatArea(combat6, area6) setCombatArea(combat7, area7) setCombatArea(combat8, area8) local function onCastSpell1(parameters) return isPlayer(parameters.cid) == TRUE and doCombat(parameters.cid, parameters.combat1, parameters.var) and doCreatureSetNoMove(parameters.cid, true) end local function onCastSpell2(parameters) doCombat(parameters.cid, parameters.combat2, parameters.var) end local function onCastSpell3(parameters) doCombat(parameters.cid, parameters.combat3, parameters.var) end local function onCastSpell4(parameters) doCombat(parameters.cid, parameters.combat4, parameters.var) end local function onCastSpell5(parameters) doCombat(parameters.cid, parameters.combat5, parameters.var) end local function onCastSpell6(parameters) doCombat(parameters.cid, parameters.combat6, parameters.var) end local function onCastSpell7(parameters) doCombat(parameters.cid, parameters.combat7, parameters.var) end local function onCastSpell8(parameters) doCombat(parameters.cid, parameters.combat8, parameters.var) end local function onFinishSpell1(parameters) return isPlayer(parameters.cid) == TRUE and doCreatureSetNoMove(parameters.cid, false) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4, combat5 = combat5, combat6 = combat6, combat7 = combat7, combat8 = combat8} if getPlayerStorageValue(cid, 3332) < 1000 then setPlayerStorageValue(cid, 33324, 1) setPlayerStorageValue(cid,3332, (getPlayerStorageValue(cid, 3332)+1)) addEvent(onCastSpell1, 50, parameters) addEvent(onCastSpell2, 100, parameters) addEvent(onCastSpell3, 150, parameters) addEvent(onCastSpell4, 200, parameters) addEvent(onCastSpell5, 250, parameters) addEvent(onCastSpell6, 300, parameters) addEvent(onCastSpell7, 350, parameters) addEvent(onCastSpell8, 400, parameters) addEvent(onFinishSpell1, 400, parameters) elseif getPlayerStorageValue(cid, 3332) >= 1000 and getPlayerLevel(cid) >= 140 and getPlayerMana(cid) >= 500 then setPlayerStorageValue(cid, 33324, 2) setPlayerStorageValue(cid,3332, (getPlayerStorageValue(cid, 3332)+1)) doCreatureAddMana(cid, -150) addEvent(onCastSpell1, 50, parameters) addEvent(onCastSpell2, 100, parameters) addEvent(onCastSpell3, 150, parameters) addEvent(onCastSpell4, 200, parameters) addEvent(onCastSpell5, 250, parameters) addEvent(onCastSpell6, 300, parameters) addEvent(onCastSpell7, 350, parameters) addEvent(onCastSpell8, 400, parameters) addEvent(onCastSpell1, 450, parameters) addEvent(onCastSpell2, 500, parameters) addEvent(onCastSpell3, 550, parameters) addEvent(onCastSpell4, 600, parameters) addEvent(onCastSpell5, 650, parameters) addEvent(onCastSpell6, 700, parameters) addEvent(onCastSpell7, 750, parameters) addEvent(onCastSpell8, 800, parameters) addEvent(onFinishSpell1, 800, parameters) elseif getPlayerStorageValue(cid, 3332) >= 6000 and getPlayerLevel(cid) >= 180 and getPlayerMana(cid) >= 650 then setPlayerStorageValue(cid, 33324, 3) doCreatureAddMana(cid, -300) setPlayerStorageValue(cid,3332, (getPlayerStorageValue(cid, 3332)+1)) addEvent(onCastSpell1, 50, parameters) addEvent(onCastSpell2, 100, parameters) addEvent(onCastSpell3, 150, parameters) addEvent(onCastSpell4, 200, parameters) addEvent(onCastSpell5, 250, parameters) addEvent(onCastSpell6, 300, parameters) addEvent(onCastSpell7, 350, parameters) addEvent(onCastSpell8, 400, parameters) addEvent(onCastSpell1, 450, parameters) addEvent(onCastSpell2, 500, parameters) addEvent(onCastSpell3, 550, parameters) addEvent(onCastSpell4, 600, parameters) addEvent(onCastSpell5, 650, parameters) addEvent(onCastSpell6, 700, parameters) addEvent(onCastSpell7, 750, parameters) addEvent(onCastSpell8, 800, parameters) addEvent(onCastSpell1, 850, parameters) addEvent(onCastSpell2, 900, parameters) addEvent(onCastSpell3, 950, parameters) addEvent(onCastSpell4, 1000, parameters) addEvent(onCastSpell5, 1050, parameters) addEvent(onCastSpell6, 1100, parameters) addEvent(onCastSpell7, 1150, parameters) addEvent(onCastSpell8, 1200, parameters) addEvent(onFinishSpell1, 1200, parameters) elseif getPlayerStorageValue(cid, 3332) >= 16000 and getPlayerLevel(cid) >= 200 and getPlayerMana(cid) >= 800 then setPlayerStorageValue(cid, 33324, 4) doCreatureAddMana(cid, -550) addEvent(onCastSpell1, 50, parameters) addEvent(onCastSpell2, 100, parameters) addEvent(onCastSpell3, 150, parameters) addEvent(onCastSpell4, 200, parameters) addEvent(onCastSpell5, 250, parameters) addEvent(onCastSpell6, 300, parameters) addEvent(onCastSpell7, 350, parameters) addEvent(onCastSpell8, 400, parameters) addEvent(onCastSpell1, 450, parameters) addEvent(onCastSpell2, 500, parameters) addEvent(onCastSpell3, 550, parameters) addEvent(onCastSpell4, 600, parameters) addEvent(onCastSpell5, 650, parameters) addEvent(onCastSpell6, 700, parameters) addEvent(onCastSpell7, 750, parameters) addEvent(onCastSpell8, 800, parameters) addEvent(onCastSpell1, 850, parameters) addEvent(onCastSpell2, 900, parameters) addEvent(onCastSpell3, 950, parameters) addEvent(onCastSpell4, 1000, parameters) addEvent(onCastSpell5, 1050, parameters) addEvent(onCastSpell6, 1100, parameters) addEvent(onCastSpell7, 1150, parameters) addEvent(onCastSpell8, 1200, parameters) addEvent(onCastSpell1, 1250, parameters) addEvent(onCastSpell2, 1300, parameters) addEvent(onCastSpell3, 1350, parameters) addEvent(onCastSpell4, 1400, parameters) addEvent(onCastSpell5, 1450, parameters) addEvent(onCastSpell6, 1500, parameters) addEvent(onCastSpell7, 1550, parameters) addEvent(onCastSpell8, 1600, parameters) addEvent(onFinishSpell1, 1600, parameters) else return false end return true end add isso no spell.xml <instant name="Urricane" words="exori zeta" lvl="115" mana="265" needweapon="1" prem="1" exhaustion="2000" needlearn="0" event="script" value="urricane.lua"> <vocation id="8"/> </instant> aconcelho a não mexer no dano pois no nivel 4 fica ladrão ^^ gosto? rep++ ou intão de uma olhada no meu server essa magia e muitas outras que fiz estão disponiveis no meu server deem uma olhada no video do jogo
  11. Perfeito cara! trabalho da porra ai n foi? XD quanto tempo pa fazer?
  12. Speedup

    1. GuuhTorres

      GuuhTorres

      Seu servidor só fica off?

    2. Foxkbt

      Foxkbt

      ele ta on direto...

    3. 96736649

      96736649

      FOZ ADICIONA EU NO MSN MEU NOME NO OT É Blinks Tride

      DESCOBRI UM BUG MUITO SERIO. UNICA COISA QUE EU QUERO É QUE VOCE TIRE MEU AMIGO DO BUG FALA COMIGO MSN OU PELO JOGO URGENTE.

  13. soulpro vc n e a mulher desse foto n ne babei =Þ ALISSOW se liga! bem deve ser o milesimo post meu "exagerado..." pedindo algo a vc tipo so quero o seu item editor e map editor como nos vamos atualizar nossos servers sem iten e map editor? aproveita e bota pa download junto com o serv flws
  14. obrigado 1tyi e descupa alissow mas preferi reviver ao topico a ter ki postar outro! se n ia ficar sem ajuda mas 1tyi essa solução que vc me passo n vai funcionar apenas para o meu site n? pq meu maior problema e o otservlist agora! quem joga ot so olha la então n vo ter publico e eu dei meus ultimos 100 reais no datacenter "ultimo pq to desempregado!"
  15. tente ir em data/action/scripts/liquids/potions.lua aperte ctrl F e escreva dotrans no primeiro ki ele grifar... apague a linha toda e cole issu doPlayerRemoveItem(cid, item.uid, 1) doPlayerAddItem(uid, potion.empty, 1) axo ki resolve n testei ainda =P
  16. UHU ALISSOW muito bom!!! passei os script do meu serv pa esse n bugo nada ^^ mas... preciso criar os items e o mapa! tem como vc me passar o remeres que vc usa e o item editor por favor obrigado desde jha rep+
  17. pior ki n aparece so no site n aparece no otservlist tipo fica como se tivesse offline tem 2 semanas ki ele ta online e la aparece off na moral mermu n sei mais o q fazer
  18. Foxkbt

    Vender Itens

    primeiramente devo avisar que so totalmente lheigo em php n sei realmente NADA!! então se for me ajudar por favor esplique detalhadamente! uso um gesior n sei dizer qual é, para versão 8.54~8.57 mas o sistema de venda de item pelo site n esta funcionando n aparece a imagem do item nem compra tipo gasta os pontos mais o item n e adicionado no char a pacc funciona perfeitamente aki esta o escript do shopsystem.php <?PHP // ALTER TABLE `z_shop_history_item` CHANGE `offer_id` `offer_id` VARCHAR( 255 ) NOT NULL; // UPDATE `z_shop_history_item`, `z_shop_offer` SET `z_shop_history_item`.`offer_id` = `z_shop_offer`.`offer_name` WHERE `z_shop_history_item`.`offer_id` = `z_shop_offer`.`id`; if($config['site']['shop_system'] == 1) { if($logged) $user_premium_points = $account_logged->getCustomField('premium_points'); else $user_premium_points = 'Login first'; function getItemByID($id) { $id = (int) $id; $SQL = $GLOBALS['SQL']; $data = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_offer').' WHERE '.$SQL->fieldName('id').' = '.$SQL->quote($id).';')->fetch(); if ($data['offer_type'] == 'pacc') { $offer['id'] = $data['id']; $offer['type'] = $data['offer_type']; $offer['days'] = $data['count1']; $offer['points'] = $data['points']; $offer['description'] = $data['offer_description']; $offer['name'] = $data['offer_name']; } elseif ($data['offer_type'] == 'item') { $offer['id'] = $data['id']; $offer['type'] = $data['offer_type']; $offer['item_id'] = $data['itemid1']; $offer['item_count'] = $data['count1']; $offer['points'] = $data['points']; $offer['description'] = $data['offer_description']; $offer['name'] = $data['offer_name']; } elseif ($data['offer_type'] == 'container') { $offer['id'] = $data['id']; $offer['type'] = $data['offer_type']; $offer['container_id'] = $data['itemid2']; $offer['container_count'] = $data['count2']; $offer['item_id'] = $data['itemid1']; $offer['item_count'] = $data['count1']; $offer['points'] = $data['points']; $offer['description'] = $data['offer_description']; $offer['name'] = $data['offer_name']; } elseif ($data['offer_type'] == 'unban') { $offer['id'] = $data['id']; $offer['type'] = $data['offer_type']; $offer['points'] = $data['points']; $offer['description'] = $data['offer_description']; $offer['name'] = $data['offer_name']; } elseif ($data['offer_type'] == 'redskull') { $offer['id'] = $data['id']; $offer['type'] = $data['offer_type']; $offer['points'] = $data['points']; $offer['description'] = $data['offer_description']; $offer['name'] = $data['offer_name']; } elseif ($data['offer_type'] == 'itemlogout') { $offer['id'] = $data['id']; $offer['type'] = $data['offer_type']; $offer['points'] = $data['points']; $offer['description'] = $data['offer_description']; $offer['pid'] = $data['pid']; $offer['count1'] = $data['count1']; $offer['item_id'] = $data['itemid1']; $offer['free_cap'] = $data['free_cap']; } elseif ($data['offer_type'] == 'changename') { $offer['id'] = $data['id']; $offer['type'] = $data['offer_type']; $offer['points'] = $data['points']; $offer['description'] = $data['offer_description']; $offer['name'] = $data['offer_name']; } return $offer; } function getOfferArray() { $offer_list = $GLOBALS['SQL']->query('SELECT * FROM '.$GLOBALS['SQL']->tableName('z_shop_offer').';'); $i_pacc = 0; $i_item = 0; $i_container = 0; $i_unban = 0; $i_redskull = 0; $i_itemlogout = 0; $i_changename = 0; while($data = $offer_list->fetch()) { if ($data['offer_type'] == 'pacc') { $offer_array['pacc'][$i_pacc]['id'] = $data['id']; $offer_array['pacc'][$i_pacc]['days'] = $data['count1']; $offer_array['pacc'][$i_pacc]['points'] = $data['points']; $offer_array['pacc'][$i_pacc]['description'] = $data['offer_description']; $offer_array['pacc'][$i_pacc]['name'] = $data['offer_name']; $i_pacc++; } elseif ($data['offer_type'] == 'item') { $offer_array['item'][$i_item]['id'] = $data['id']; $offer_array['item'][$i_item]['item_id'] = $data['itemid1']; $offer_array['item'][$i_item]['item_count'] = $data['count1']; $offer_array['item'][$i_item]['points'] = $data['points']; $offer_array['item'][$i_item]['description'] = $data['offer_description']; $offer_array['item'][$i_item]['name'] = $data['offer_name']; $i_item++; } elseif ($data['offer_type'] == 'container') { $offer_array['container'][$i_container]['id'] = $data['id']; $offer_array['container'][$i_container]['container_id'] = $data['itemid2']; $offer_array['container'][$i_container]['container_count'] = $data['count2']; $offer_array['container'][$i_container]['item_id'] = $data['itemid1']; $offer_array['container'][$i_container]['item_count'] = $data['count1']; $offer_array['container'][$i_container]['points'] = $data['points']; $offer_array['container'][$i_container]['description'] = $data['offer_description']; $offer_array['container'][$i_container]['name'] = $data['offer_name']; $i_container++; } elseif ($data['offer_type'] == 'unban') { $offer_array['unban'][$i_unban]['id'] = $data['id']; $offer_array['unban'][$i_unban]['points'] = $data['points']; $offer_array['unban'][$i_unban]['description'] = $data['offer_description']; $offer_array['unban'][$i_unban]['name'] = $data['offer_name']; $i_unban++; } elseif ($data['offer_type'] == 'redskull') { $offer_array['redskull'][$i_redskull]['id'] = $data['id']; $offer_array['redskull'][$i_redskull]['points'] = $data['points']; $offer_array['redskull'][$i_redskull]['description'] = $data['offer_description']; $offer_array['redskull'][$i_redskull]['name'] = $data['offer_name']; $i_redskull++; } elseif ($data['offer_type'] == 'itemlogout') { $offer_array['itemlogout'][$i_itemlogout]['id'] = $data['id']; $offer_array['itemlogout'][$i_itemlogout]['points'] = $data['points']; $offer_array['itemlogout'][$i_itemlogout]['description'] = $data['offer_description']; $offer_array['itemlogout'][$i_itemlogout]['name'] = $data['offer_name']; $offer_array['itemlogout'][$i_itemlogout]['count1'] = $data['count1']; $offer_array['itemlogout'][$i_itemlogout]['pid'] = $data['pid']; $offer_array['itemlogout'][$i_itemlogout]['item_id'] = $data['itemid1']; $offer_array['itemlogout'][$i_itemlogout]['free_cap'] = $data['free_cap']; $i_itemlogout++; } elseif ($data['offer_type'] == 'changename') { $offer_array['changename'][$i_changename]['id'] = $data['id']; $offer_array['changename'][$i_changename]['points'] = $data['points']; $offer_array['changename'][$i_changename]['description'] = $data['offer_description']; $offer_array['changename'][$i_changename]['name'] = $data['offer_name']; $i_changename++; } } return $offer_array; } if($action == '') { unset($_SESSION['viewed_confirmation_page']); $main_content .= '<h2><center>Welcome to '.$config['server']['serverName'].' Shop.</center></h2>'; $offer_list = getOfferArray(); //show list of items offers if(count($offer_list['item']) > 0 or count($offer_list['container']) > 0 or count($offer_list['itemlogout']) > 0) $main_content .= '<center><table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b> ITEMS</b></font></td></tr><tr bgcolor="#D4C0A1"><td width="50" align="center"><b>Picture</b></td><td width="350" align="left"><b>Description</b></td><td width="250" align="center"><b>Select product</b></td></tr>'; if(count($offer_list['item']) > 0) { foreach($offer_list['item'] as $item) { $main_content .= '<tr bgcolor="#F1E0C6"><td align="center"><img src="item_images/'.$item['id'].'.jpg"></td><td><b>'.$item['name'].'</b> ('.$item['points'].' points)<br />'.$item['description'].'</td><td align="center">'; if(!$logged) $main_content .= '<b>Login to buy</b>'; else $main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$item['id'].'"><input type="submit" value="Buy '.$item['name'].'"><br><b>for '.$item['points'].' points</b></form>'; $main_content .= '</td></tr>'; } $main_content .= '</table><br />'; } //show list of containers offers if(count($offer_list['container']) > 0) { $main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b> CONTAINERS WITH ITEMS</b></font></td></tr><tr bgcolor="#D4C0A1"><td width="50" align="center"><b>Picture</b></td><td width="350" align="left"><b>Description</b></td><td width="250" align="center"><b>Select product</b></td></tr>'; foreach($offer_list['container'] as $container) { $main_content .= '<tr bgcolor="#F1E0C6"><td align="center"><img src="item_images/'.$container['id'].'.jpg"></td><td><b>'.$container['name'].'</b> ('.$container['points'].' points)<br />'.$container['description'].'</td><td align="center">'; if(!$logged) $main_content .= '<b>Login to buy</b>'; else $main_content .= '<form action="?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$container['id'].'"><input type="submit" value="Buy '.$container['name'].'"><br><b>for '.$container['points'].' points</b></form>'; $main_content .= '</td></tr>'; } $main_content .= '</table><br />'; } if(count($offer_list['itemlogout']) > 0) { $main_content .= '<table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b> Receive Item on Logout</b></font></td></tr><tr bgcolor="#D4C0A1"><td width="50" align="center"><b>Picture</b></font></td><td width="350" align="left"><b>Description</b></font></td><td width="250" align="center"><b>Select product</b></font></td></tr>'; foreach($offer_list['itemlogout'] as $itemlogout) { $main_content .= '<tr bgcolor="#F1E0C6"><td align="center"><img src="item_images/'.$itemlogout['id'].'.jpg"></td><td><b>'.$itemlogout['name'].'</b> ('.$itemlogout['points'].' points)<br />'.$itemlogout['description'].'</td><td align="center">'; if(!$logged) $main_content .= '<b>Login to buy</b>'; else $main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$itemlogout['id'].'"><input type="submit" value="Buy '.$itemlogout['name'].'"><br><b>for '.$itemlogout['points'].' points</b></form>'; $main_content .= '</td></tr>'; } $main_content .= '</table><br />'; } if(count($offer_list['changename']) > 0 or count($offer_list['pacc']) > 0 or count($offer_list['redskull']) > 0 or count($offer_list['unban']) > 0 ) $main_content .= '<center><table border="0" cellpadding="1" cellspacing="1" width="650"><tr width="650" bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b> Others</b></font></td></tr><tr bgcolor="#D4C0A1"><td width="50" align="center"><b>#</b></td><td width="350" align="left"><b>Description</b></td><td width="250" align="center"><b>Select product</b></td></tr>'; //Pacc if(count($offer_list['pacc']) > 0) foreach($offer_list['pacc'] as $pacc) { $main_content .= '<tr bgcolor="#F1E0C6"><td align="center">'.$pacc['days'].'</td><td><b>'.$pacc['name'].'</b> ('.$pacc['points'].' points)<br />'.$pacc['description'].'</td><td align="center">'; if(!$logged) $main_content .= '<b>Login to buy</b>'; else $main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$pacc['id'].'"><input type="submit" value="Buy '.$pacc['name'].'"><br><b>for '.$pacc['points'].' points</b></form>'; } //Change Name if(count($offer_list['changename']) > 0) foreach($offer_list['changename'] as $changename) { $main_content .= '<tr bgcolor="#F1E0C6"><td align="center">Change Name</td><td><b>'.$changename['name'].'</b> ('.$changename['points'].' points)<br />'.$changename['description'].'</td><td align="center">'; if(!$logged) $main_content .= '<b>Login to buy</b>'; else $main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$changename['id'].'"><input type="submit" value="Buy '.$changename['name'].'"><br><b>for '.$changename['points'].' points</b></form>'; } //Remove Red Skull if(count($offer_list['redskull']) > 0) foreach($offer_list['redskull'] as $redskull) { $main_content .= '<tr bgcolor="#F1E0C6"><td align="center"><img src="item_images/'.$redskull['id'].'.jpg"></td><td><b>'.$redskull['name'].'</b> ('.$redskull['points'].' points)<br />'.$redskull['description'].'</td><td align="center">'; if(!$logged) $main_content .= '<b>Login to buy</b>'; else $main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$redskull['id'].'"><input type="submit" value="Buy '.$redskull['name'].'"><br><b>for '.$redskull['points'].' points</b></form>'; $main_content .= '</td></tr>'; } //Unban if(count($offer_list['unban']) > 0) foreach($offer_list['unban'] as $unban){ $main_content .= '<tr bgcolor="#F1E0C6"><td align="center">Unban</td><td><b>'.$unban['name'].'</b> ('.$unban['points'].' points)<br />'.$unban['description'].'</td><td align="center">'; if(!$logged) $main_content .= '<b>Login to buy</b>'; else $main_content .= '<form action="index.php?subtopic=shopsystem&action=select_player" method=POST><input type="hidden" name="buy_id" value="'.$unban['id'].'"><input type="submit" value="Buy '.$unban['name'].'"><br><b>for '.$unban['points'].' points</b></form>'; $main_content .= '</td></tr>'; } $main_content .= '</table>'; } elseif($action == 'select_player') { unset($_SESSION['viewed_confirmation_page']); if(!$logged) { $main_content .= 'Please login first.'; } else { $buy_id = (int) $_REQUEST['buy_id']; if(empty($buy_id)) { $main_content .= 'Please <a href="index.php?subtopic=shopsystem">select item</a> first.'; } else { $buy_offer = getItemByID($buy_id); if(isset($buy_offer['id'])) { //item exist in database if($buy_offer['type'] != 'changename') { if($user_premium_points >= $buy_offer['points']) { $main_content .= '<center><h2>Select player</h2><table border="0" cellpadding="1" cellspacing="1" width="650"> <tr bgcolor="#505050"><td colspan="2"><font color="white" size="4"><b>Selected offer</b></font></td></tr> <tr bgcolor="#F1E0C6"><td width="100"><b>Name:</b></td><td width="550">'.$buy_offer['name'].'</td></tr> <tr bgcolor="#D4C0A1"><td width="100"><b>Description:</b></td><td width="550">'.$buy_offer['description'].'</td></tr> </table><br /><form action="index.php?subtopic=shopsystem&action=confirm_transaction" method=POST><input type="hidden" name="buy_id" value="'.$buy_id.'"> <table border="0" cellpadding="1" cellspacing="1" width="650"> <tr bgcolor="#505050"><td colspan="2"><font color="white" size="4"><b>Give item to a player from your account</b></font></td></tr> <tr bgcolor="#F1E0C6"><td width="110"><b>Name:</b></td><td width="550"><select name="buy_name">'; $players_from_logged_acc = $account_logged->getPlayersList(); if(count($players_from_logged_acc) > 0) { $players_from_logged_acc->orderBy('name'); foreach($players_from_logged_acc as $player) $main_content .= '<option>'.$player->getName().'</option>'; } else { $main_content .= 'You don\'t have any character on your account.'; } $main_content .= '</select> <input type="submit" value="Give"></td></tr></table> </form><br /><form action="index.php?subtopic=shopsystem&action=confirm_transaction" method=POST><input type="hidden" name="buy_id" value="'.$buy_id.'"> <table border="0" cellpadding="1" cellspacing="1" width="650"> <tr bgcolor="#505050"><td colspan="2"><font color="white" size="4"><b>Give item to other player</b></font></td></tr> <tr bgcolor="#D4C0A1"><td width="110"><b>To player:</b></td><td width="550"><input type="text" name="buy_name"> - name of the player who should get item</td></tr> <tr bgcolor="#F1E0C6"><td width="110"><b>From:</b></td><td width="550"><input type="text" name="buy_from"> <input type="submit" value="Give"> - your nick, \'empty\' = Anonymous</td></tr> </table><br /></form>'; } else { $main_content .= 'For this item you need <b>'.$buy_offer['points'].'</b> points.<br>You have only <b>'.$user_premium_points.'</b> premium points. Please <a href="index.php?subtopic=shopsystem">select other item</a> or buy premium points.'; } } else { $main_content .= '<center><h2>Change Name</h2><form action="index.php?subtopic=shopsystem&action=confirm_transaction" method=POST><input type="hidden" name="buy_id" value="'.$buy_id.'"> <table border="0" cellpadding="1" cellspacing="1" width="650"><tr bgcolor="#505050"><td colspan="2"><font color="white" size="4"><b>Change Name:</b></font></td></tr> <tr bgcolor="#D4C0A1"><td width="110"><b>Name:</b></td><td width="550"><select name="buy_name">'; $players_from_logged_acc = $account_logged->getPlayersList(); if(count($players_from_logged_acc) > 0) { $players_from_logged_acc->orderBy('name'); foreach($players_from_logged_acc as $player) { $main_content .= '<option>'.$player->getName().'</option>'; } } else { $main_content .= 'You don\'t have any character on your account.'; } $main_content .= '</select></td></tr><tr bgcolor="#F1E0C6"><td width="110"><b>New name:</b></td><td width="550"><input type="text" name="buy_from"> <input type="submit" value="Change Name"></td></tr></table><br /></form>'; } } else { $main_content .= 'Offer with ID <b>'.$buy_id.'</b> doesn\'t exist. Please <a href="index.php?subtopic=shopsystem">select item</a> again.'; } } } } elseif($action == 'confirm_transaction') { if(!$logged) { $main_content .= 'Please login first.'; } else { $buy_id = (int) $_POST['buy_id']; $buy_name = stripslashes(urldecode($_POST['buy_name'])); $buy_from = stripslashes(urldecode($_POST['buy_from'])); if(empty($buy_id)) { $main_content .= 'Please <a href="index.php?subtopic=shopsystem">select item</a> first.'; } else { if($buy_offer['type'] == 'changename'){ if(!check_name_new_char($buy_from)) { $main_content .= 'Invalid name format of new name.'; } } else { $buy_offer = getItemByID($buy_id); $check_name_in_database = $ots->createObject('Player'); $check_name_in_database->find($buy_from); if($buy_offer['type'] == 'changename'){ if(!$check_name_in_database->isLoaded()) { } } if(isset($buy_offer['id'])) { //item exist in database if($user_premium_points >= $buy_offer['points']) { if(check_name($buy_name)) { $buy_player = new OTS_Player(); $buy_player->find($buy_name); if($buy_player->isLoaded()) { $buy_player_account = $buy_player->getAccount(); if($_SESSION['viewed_confirmation_page'] == 'yes' && $_POST['buy_confirmed'] == 'yes') { if($buy_offer['type'] == 'pacc') { $player_premdays = $buy_player_account->getCustomField('premdays'); $player_lastlogin = $buy_player_account->getCustomField('lastday'); $save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_pacc').' (id, to_name, to_account, from_nick, from_account, price, pacc_days, trans_state, trans_start, trans_real) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).', '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['days']).', \'realized\', '.$SQL->quote(time()).', '.$SQL->quote(time()).');'; $SQL->query($save_transaction); $buy_player_account->setCustomField('premdays', $player_premdays+$buy_offer['days']); $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; if($player_premdays == 0) { $buy_player_account->setCustomField('lastday', time()); } $main_content .= '<center><h2>Premium ACcount added!</h2><b>'.$buy_offer['days'].' days</b> of Premium Account added to the account of player <b>'.$buy_player->getName().'</b> for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br><br><a href="index.php?subtopic=shopsystem">Go to Shop Site</a><br>'; } elseif($buy_offer['type'] == 'unban') { $my_acc_id = $account_logged->getCustomField('id'); $datadata = $SQL->query('SELECT * FROM '.$SQL->tableName('bans').' WHERE value = '.$my_acc_id.';')->fetch(); if($datadata['value'] == $my_acc_id) { if($SQL->query('DELETE FROM bans WHERE value= '.$my_acc_id.' LIMIT 1;')) { } else { $SQL->query('DELETE FROM bans WHERE account= '.$my_acc_id.' LIMIT 1;'); } $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; $main_content .= '<center><h2>Ban Deleted!</h2><b>Your account has been unbanned for '.$buy_offer['points'].' premium points</b> from your account. <br>Now you have <b>'.$user_premium_points.' premium points</b>.<br><br><a href="index.php?subtopic=shopsystem">Go to Shop Site</a><br>'; } else { $main_content .= '<center><b>You don\'t have any bans in your account!</b><br><br><a href="index.php?subtopic=shopsystem">Go back</a><br>'; } } //////////////////////////////// elseif($buy_offer['type'] == 'itemlogout') { $my_acc_id = $buy_player->getCustomField('id'); $playerinfo = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE id = '.$my_acc_id.';')->fetch(); $playerslot = $SQL->query('SELECT * FROM '.$SQL->tableName('player_items').' WHERE player_id = '.$my_acc_id.';')->fetch(); if($playerinfo['online'] == '0') { if ($playerslot['pid'] != '10') { if ($datadata['cap'] >= $SQL->quote($buy_offer['free_cap'])) { $SQL->query('INSERT INTO player_items (player_id, pid, itemtype, count) VALUES ('.$my_acc_id.', '.$SQL->quote($buy_offer['pid']).', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['count1']).');'); $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; $main_content .= '<h2>Item received to player: '.$buy_player->getName().'!</h2><br>Now you have <b>'.$user_premium_points.' premium points</b>. <br><a href="index.php?subtopic=shopsystem">Go to Shop Site</a>'; } else { $main_content .= '<b>You need '.$SQL->quote($buy_offer['free_cap']).' or more of cap!</b><br><a href="index.php?subtopic=shopsystem">Go back</a>'; } } else { $main_content .= '<b>Please leave the arrow slot in blank to receive item!</b><br><a href="index.php?subtopic=shopsystem">Go back</a>'; } } else { $main_content .= '<b>You need to be offline!</b><br><a href="index.php?subtopic=shopsystem">Go back</a>'; } } //////////////////////////////// elseif($buy_offer['type'] == 'changename') { $my_acc_id = $buy_player->getCustomField('id'); $playerinfo = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE '.$SQL->fieldName('id').' = '.$my_acc_id.';')->fetch(); $checkname = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE '.$SQL->fieldName('name').' = '. $SQL->quote($buy_from) .';')->fetch(); if($playerinfo['online'] == '0') { if($checkname == false) { $SQL->query('UPDATE `players` SET `name` = '. $SQL->quote($buy_from) .' WHERE `id` = '. $my_acc_id.' ;'); $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; $main_content .= '<center><h2>Your name has been changed to '.$buy_from.'.</h2><br><b>You have '.$user_premium_points.' premium points left</b>. <br><br><a href="index.php?subtopic=shopsystem">Go to Shop Site</a><br>'; } else { $main_content .= '<center><h2>Sorry, the name "<i>'.$buy_from.'</i>" does already exist.<br>Please select another name.</h2><br>'; } } else { $main_content .= '<center><h2>'.$buy_name.' has to be offline to complete transaction.</h2><br><br><a href="index.php?subtopic=shopsystem">Go back</a><br>'; } } //////////////////////////////// elseif($buy_offer['type'] == 'redskull') { $my_acc_id = $buy_player->getCustomField('id'); $playerinfo = $SQL->query('SELECT * FROM '.$SQL->tableName('players').' WHERE '.$SQL->fieldName('id').' = '.$my_acc_id.';')->fetch(); if($playerinfo['skull'] == '4' AND $playerinfo['online'] >= '0' AND $playerinfo['skulltime'] > '0') { $SQL->query('UPDATE killers SET unjustified=0 WHERE id IN (SELECT kill_id FROM player_killers WHERE player_id='. $my_acc_id .');'); $SQL->query('UPDATE players SET skulltime=0, skull=0 WHERE id='. $my_acc_id .';'); $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; $main_content .= '<center><h2>RedSkull Removed!</h2><br><b>Your redskull has been removed from the player '.$buy_player->getName().'.</b> <br>Now you have<b> '.$user_premium_points.' premium points</b>.<br><br><a href="index.php?subtopic=shopsystem">Go to Shop Site</a><br>'; } else { $main_content .= '<center><b>'.$buy_player->getName().' has to be offline or have redskull to complete transaction!.</b><br><br><a href="index.php?subtopic=shopsystem">Go back</a><br>'; } } ////////////////////////// elseif($buy_offer['type'] == 'item') { $sql = 'INSERT INTO '.$SQL->tableName('z_ots_comunication').' (id, name, type, action, param1, param2, param3, param4, param5, param6, param7, delete_it) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', \'login\', \'give_item\', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['item_count']).', \'\', \'\', \'item\', '.$SQL->quote($buy_offer['name']).', \'\', \'1\');'; $SQL->query($sql); $save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_item').' (id, to_name, to_account, from_nick, from_account, price, offer_id, trans_state, trans_start, trans_real) VALUES ('.$SQL->lastInsertId().', '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).', '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['name']).', \'wait\', '.$SQL->quote(time()).', \'0\');'; $SQL->query($save_transaction); $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; $main_content .= '<center><h2>Item added!</h2><b>'.$buy_offer['name'].'</b> added to player <b>'.$buy_player->getName().'</b> for <b>'.$buy_offer['points'].' premium points</b> from your account.<br>Now you have <b>'.$user_premium_points.' premium points</b>.<br><br><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a><br>'; } elseif($buy_offer['type'] == 'container') { $sql = 'INSERT INTO '.$SQL->tableName('z_ots_comunication').' (id, name, type, action, param1, param2, param3, param4, param5, param6, param7, delete_it) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', \'login\', \'give_item\', '.$SQL->quote($buy_offer['item_id']).', '.$SQL->quote($buy_offer['item_count']).', '.$SQL->quote($buy_offer['container_id']).', '.$SQL->quote($buy_offer['container_count']).', \'container\', '.$SQL->quote($buy_offer['name']).', \'\', \'1\');'; $SQL->query($sql); $save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_item').' (id, to_name, to_account, from_nick, from_account, price, offer_id, trans_state, trans_start, trans_real) VALUES ('.$SQL->lastInsertId().', '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).', '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['name']).', \'wait\', '.$SQL->quote(time()).', \'0\');'; $SQL->query($save_transaction); $account_logged->setCustomField('premium_points', $user_premium_points-$buy_offer['points']); $user_premium_points = $user_premium_points - $buy_offer['points']; $main_content .= '<center><h2>Container of items added!</h2><b>'.$buy_offer['name'].'</b> added to player <b>'.$buy_player->getName().'</b> for <b>'.$buy_offer['points'].' premium points</b> from your account.<br />Now you have <b>'.$user_premium_points.' premium points</b>.<br><br><a href="index.php?subtopic=shopsystem">GO TO MAIN SHOP SITE</a><br>'; } } else { if($buy_offer['type'] != 'changename') { $set_session = TRUE; $_SESSION['viewed_confirmation_page'] = 'yes'; $main_content .= '<center><h2>Confirm transaction</h2> <table border="0" cellpadding="1" cellspacing="1" width="700"> <tr bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b>Confirm transaction</b></font></td></tr> <tr bgcolor="#D4C0A1"><td width="100"><b>Name:</b></td><td width="550" colspan="2">'.$buy_offer['name'].'</td></tr> <tr bgcolor="#F1E0C6"><td width="100"><b>Description:</b></td><td width="550" colspan="2">'.$buy_offer['description'].'</td></tr> <tr bgcolor="#D4C0A1"><td width="100"><b>Cost:</b></td><td width="550" colspan="2"><b>'.$buy_offer['points'].' premium points</b> from your account</td></tr> <tr bgcolor="#F1E0C6"><td width="100"><b>For Player:</b></td><td width="550" colspan="2"><font color="red">'.$buy_player->getName().'</font></td></tr> <tr bgcolor="#D4C0A1"><td width="100"><b>From:</b></td><td width="550" colspan="2"><font color="red">'.$buy_from.'</font></td></tr> <tr bgcolor="#F1E0C6"><td width="100"><b>Transaction?</b></td><td width="275" align="left"> <form action="index.php?subtopic=shopsystem&action=confirm_transaction" method="POST"><input type="hidden" name="buy_confirmed" value="yes"><input type="hidden" name="buy_id" value="'.$buy_id.'"><input type="hidden" name="buy_from" value="'.urlencode($new_name).'"><input type="hidden" name="buy_name" value="'.urlencode($buy_name).'"><input type="submit" value="Accept"></form></td> <td align="right"><form action="index.php?subtopic=shopsystem" method="POST"><input type="submit" value="Cancel"></form></td></tr> </table>'; } else { $set_session = TRUE; $_SESSION['viewed_confirmation_page'] = 'yes'; $main_content .= '<center><h2>Confirm Name Changing</h2> <table border="0" cellpadding="1" cellspacing="1" width="700"> <tr bgcolor="#505050"><td colspan="3"><font color="white" size="4"><b>Confirm transaction</b></font></td></tr> <tr bgcolor="#D4C0A1"><td width="130"><b>Name:</b></td><td width="550" colspan="2">'.$buy_offer['name'].'</td></tr> <tr bgcolor="#F1E0C6"><td width="130"><b>Description:</b></td><td width="550" colspan="2">'.$buy_offer['description'].'</td></tr> <tr bgcolor="#D4C0A1"><td width="130"><b>Cost:</b></td><td width="550" colspan="2"><b>'.$buy_offer['points'].' premium points</b> from your account</td></tr> <tr bgcolor="#F1E0C6"><td width="130"><b>Current Name:</b></td><td width="550" colspan="2"><font color="red">'.$buy_player->getName().'</font></td></tr> <tr bgcolor="#D4C0A1"><td width="130"><b>New Name:</b></td><td width="550" colspan="2"><font color="red">'.$buy_from.'</font></td></tr> <tr bgcolor="#F1E0C6"><td width="130"><b>Change Name?</b></td><td width="275" align="left"> <form action="index.php?subtopic=shopsystem&action=confirm_transaction" method="POST"><input type="hidden" name="buy_confirmed" value="yes"><input type="hidden" name="buy_id" value="'.$buy_id.'"><input type="hidden" name="buy_from" value="'.urlencode($buy_from).'"><input type="hidden" name="buy_name" value="'.urlencode($buy_name).'"><input type="submit" value="Accept"></form></td> <td align="right"><form action="index.php?subtopic=shopsystem" method="POST"><input type="submit" value="Cancel"></form></td></tr> </table>'; } } } else { $main_content .= 'Player with name <b>'.$buy_name.'</b> doesn\'t exist. Please <a href="index.php?subtopic=shopsystem&action=select_player&buy_id='.$buy_id.'">select other name</a>.'; } } else { $main_content .= 'Invalid name format. Please <a href="index.php?subtopic=shopsystem&action=select_player&buy_id='.$buy_id.'">select other name</a> or contact with administrator.'; } } else { $main_content .= 'For this item you need <b>'.$buy_offer['points'].'</b> points. You have only <b>'.$user_premium_points.'</b> premium points. Please <a href="index.php?subtopic=shopsystem">select other item</a> or buy premium points.'; } } else { $main_content .= 'Offer with ID <b>'.$buy_id.'</b> doesn\'t exist. Please <a href="index.php?subtopic=shopsystem">select item</a> again.'; } } } } if(!$set_session) { unset($_SESSION['viewed_confirmation_page']); } } elseif($action == 'show_history') { if(!$logged) { $main_content .= 'Please login first.'; } else{ $items_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_item').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';'); if(is_object($items_history_received)) { foreach($items_history_received as $item_received) { if($account_logged->getId() == $item_received['to_account']) $char_color = 'green'; else $char_color = 'red'; $items_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$item_received['to_name'].'</font></td><td>'; if($account_logged->getId() == $item_received['from_account']) $items_received_text .= '<i>Your account</i>'; else $items_received_text .= $item_received['from_nick']; $items_received_text .= '</td><td>'.$item_received['offer_id'].'</td><td>'.date("j F Y, H:i:s", $item_received['trans_start']).'</td>'; if($item_received['trans_real'] > 0) $items_received_text .= '<td>'.date("j F Y, H:i:s", $item_received['trans_real']).'</td>'; else $items_received_text .= '<td><b><font color="red">Not realized yet.</font></b></td>'; $items_received_text .= '</tr>'; } } $paccs_history_received = $SQL->query('SELECT * FROM '.$SQL->tableName('z_shop_history_pacc').' WHERE '.$SQL->fieldName('to_account').' = '.$SQL->quote($account_logged->getId()).' OR '.$SQL->fieldName('from_account').' = '.$SQL->quote($account_logged->getId()).';'); if(is_object($paccs_history_received)) { foreach($paccs_history_received as $pacc_received) { if($account_logged->getId() == $pacc_received['to_account']) $char_color = 'green'; else $char_color = 'red'; $paccs_received_text .= '<tr bgcolor="#F1E0C6"><td><font color="'.$char_color.'">'.$pacc_received['to_name'].'</font></td><td>'; if($account_logged->getId() == $pacc_received['from_account']) $paccs_received_text .= '<i>Your account</i>'; else $paccs_received_text .= $pacc_received['from_nick']; $paccs_received_text .= '</td><td>'.$pacc_received['pacc_days'].' days</td><td>'.$pacc_received['price'].' Points</td><td>'.date("j F Y, H:i:s", $pacc_received['trans_real']).'</td></tr>'; } } $main_content .= '<center><h1>Transactions History</h1></center>'; if(!empty($items_received_text)) $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="5"><font color="white" size="4"><b> Item Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Offer name</b></td><td><b>Bought on page</b></td><td><b>Received on '.$config['server']['serverName'].'</b></td></tr>'.$items_received_text.'</table><br />'; if(!empty($paccs_received_text)) $main_content .= '<center><table BORDER=0 CELLPADDING=1 CELLSPACING=1 WIDTH=95%><tr width="100%" bgcolor="#505050"><td colspan="5"><font color="white" size="4"><b> Pacc Transactions</b></font></td></tr><tr bgcolor="#D4C0A1"><td><b>To:</b></td><td><b>From:</b></td><td><b>Duration</b></td><td><b>Cost</b></td><td><b>Added:</b></td></tr>'.$paccs_received_text.'</table><br />'; if(empty($paccs_received_text) && empty($items_received_text)) $main_content .= 'You did not buy/receive any items or PACC.'; } } if(!$logged) $main_content .= 'Please login to see how much points you have.'; else $main_content .= '<br><b><font color="green">You have premium points: </font></b>'.$user_premium_points; } else $main_content .= '<br><center><b>Shop System is currently disabled for this server.Please ask the admin for more information.</b></center>'; ?> obrigado desde jha!
  19. cara me passe seu shopsystem.php pa eu da uma olhada
  20. brother!
    preciso de um unico script para o gesior...
    um script de venda de itens pelo site, to tentando me aprimorar em lua, mas como n me acho bom o suficiente para parar de estudar to lhe pedindo essa ajuda com php para meu server!
    se puder me fazer a gentileza de me passar esse script ficarei muito agradecido!
    se ainda for intereçado em tibia...
  21. baixei meu site aki http://www.xtibia.com/forum/topic/90671-gesior-acc-maker-for-tfs/ meu problema e que enquanto meu serv esta on! aparece off no site! penso eu que deve ser algun problema no firewall mas eu coloquei o exe do jogo e todas as portas q uso como exeções e nada!!!!! jha tentei ate desligar o firewall... ¬¬ veja a hr do post to indo durmi agora pq dessa @#%@#%$&... ¬¬ meu site e ip é: lithiumts.servegame.com obrigado desde jha!
  22. Foxkbt

    News Vocations

    baixe o meu site aki ó http://www.xtibia.com/forum/topic/90671-gesior-acc-maker-for-tfs/ eu add vocations novas no meu ot mas n sei como fazer para quando o player criar o char no site poder escolher essas vocations! eu modifiquei umas paradas no confing do site mas so add o icone pa escolher a vocation quando vc tenta criar o char da error tem como me ajudar? ps: no acc manager concigo criar numa boa os chares precisa mais n eu concertei! e so criar um novo char pelo xampp com a voc desejada e mudar no confing do site
  23. cara esse topico tem decadas!! mas vamos tentar ne eu add vocations novas no meu ot mas n sei como fazer para quando o player criar o char poder escolher essas vocations no site! tem como me ajudar?
  24. Foxkbt

    Não Dropa Bag

    awe galera do xtibia! de bobs? XD se ligue eu fikei uns 3 meses trabalhando no meu serv e nesse meiu tempo eu fiz auguma porra ki impede de dropar as bag quando morre se alguem souber o q pode causar issu ajuda awe moral jha e ai abração
  25. bem como o nome jha dis queria uma esplicação passo a passo de como atualizar meu serv para pegar a verção 8.55, 8.56 e 8.57 alem da 8.54 ki e a atual versão do meu serv uso o mais novo serv do alissow obrigado desde jha ^^
  • Quem Está Navegando   0 membros estão online

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