Ir para conteúdo

neykos

Membro
  • Registro em

  • Última visita

Tudo que neykos postou

  1. Parabéns eu estava precisando disso Summ, você tirou o shopsistem.php Desculpa minha ignorância mais serve para 10.53?
  2. Acho que o servidor para ser de tamanha qualidade e RPG, para começar nada de itens vip ou coisa do tipo. Além disso acho meio sem sentido o cara comprar o promotion isso deveria ser uma missão onde o NPC Rei ou Rainha, te mandasse realizar diversas tarefas do level 8 até o 20, após isso te mandar para uma Dungeon obs: semelhante a the desert dungeon quest mais sem a necessidade de ter 1 de cada vocação, e cada vocação teria seu caminho e com suas dificuldades explorando a fraqueza delas. Outra coisa também que não vejo sentido é as montarias terrestres conseguir andar dentro da água. Acho bacana você ter que comprar as magias...
  3. Olha não sei se estou correto, mas se estiver errado alguém me corrigi, não é apenas espaço vazio no mapa que sobrecarrega o servidor, scripts monstros sem finalidade, quest tudo relativamente contribui para o servidor exigir um consumo maior de memoria ram... Assim também são as estruturas de servidores que tem mais de 600 players on comparados com os que tem 50. Uma coisa é você ter 50 players caçando e fazendo quest e participando de eventos ao mesmo tempo, outra é ter 600 players ao mesmo tempo. Exigi mais da memória por conta de recebimento e envio de informações que o servidor vai receber e mandar. Claro se você puder otimizar coisas que não são necessárias vão contribuir para uma performance melhor no seu servidor.
  4. Não sei se estou passando a informação correta, mas aqui em casa é ip dinâmico também até onde eu sei apenas muda caso você desligue ou reinicie o modem assim trocando o ip. Isso nas 3 empresas que já me forneceram internet, Speedy, Net e GVT. Não lembro se reiniciar ou desligar o computador muda o ip. Caso for via radio sua internet, ouvi dizerem no forum que não tem como usar no-ip apenas via hamachi.
  5. De uma olhada se ficou ao seu gosto. Não tinha reparado no pedaço que faltava é muito simples fazer isso no photoshop.
  6. Em questão da foto baixa essa daqui Salva ela como 8925.gif Dentro da pasta do seu site procura por uma chamada imagens verifica se lá dentro tem outra pasta chamada items caso tiver só salvar lá a foto do item. Não sei se o seu shop está salvando as imagens com os id delas mas se estiver só fazer isso, e claro se estiver a pasta configurada nos icones dos itens Em relação ao não receber o item quando o servidor está aberto qual erro aparece? Mais de uma olhada no vídeo que o amigo mando.
  7. Desculpe minha ignorância, mais cade o servidor, esta offline? se sim abra o mesmo e mostre qual erro acontece, caso estiver com erro poste o shop.lua que fica dentro da pasta do servidor.
  8. Muito obrigado amigo vou agradecer de coração, mas teria como após disponibilizar me ensinar. Assim vou poder passar um pouco do seu conhecimento adiante.
  9. Como o amigo ali informou nem sempre precisa colocar as cords, da onde o char inicia, isso vai depender da sua database se for relacionado ao servidor do mitsuig, unica alteração que foi necessário no meu caso foi entrar no SQL e alterar o level do Rook Sample, pois estava como 8 mudei para 1. Reforçando caso queira apenas que nasça sem voc, vai na config do seu gesior procure por isso $config['site']['newchar_vocations'] = array (1 => 'Sorcerer Sample', 2 => 'Druid Sample', 3 => 'Paladin Sample', 4 => 'Knight Sample'); Mude para isso $config['site']['newchar_vocations'] = array (0 => 'Rook Sample'); No mesmo documento antes de salvar altere a cidade de nascimento do char encontre essa linha $config['site']['newchar_towns'] = array(2); Altere o valor para a cidade que deseja 1 => 'Venore', 2 => 'Thais', 3 => 'Kazordoon', 4 => 'Carlin', 5 => 'Ab/Dendriel', 6 => 'Rookgaard', 7 => 'Liberty Bay', 8 => 'Port Hope', 9 => 'Ankrahmun', 10 => 'Darashia', 11 => 'Edron', 12 => 'Svargrond', 13 => 'Yalahar', 14 => 'Farmine'); Para Rookgaard é o número 6 $config['site']['newchar_towns'] = array(6); se seu mapa for global só altera isso e pronto.
  10. Não sei se era isso que queria, mas eu recordei para você. http://img.gforum.tv/img/82d8fc72aa754304c6b1b36aef3fd498ae27788b.png Só salva e abrir o fundo ta transparente
  11. o primeiro chama shop.lua e fica dentro da pasta "data\globalevents\scripts\others" Esse é o segundo script se o servidor for do mitsuig, fica dentro da pasta "data\creaturescripts\scripts\others" Chama addouns-montarias.lua Caso você conseguir pode me ajudar com o meu site também?
  12. Tem como me ensinar a fazer as query? outra coisa que notei é que quando, você compra um item normal simplesmente ele nunca para de chegar a cada 30 segundos chega novamente o item. O shop.lua -- ### CONFIG ### -- message send to player by script "type" (types you can check in "global.lua") SHOP_MSG_TYPE = 18 -- time (in seconds) between connections to SQL database by shop script SQL_interval = 30 -- ### END OF CONFIG ### function onThink(interval, lastExecution) local result_plr = db.storeQuery("SELECT * FROM z_ots_comunication") if(result_plr ~= false) then repeat local id = tonumber(result.getDataInt(result_plr, "id")) local action = tostring(result.getDataString(result_plr, "action")) local delete = tonumber(result.getDataInt(result_plr, "delete_it")) local cid = getPlayerByName(tostring(result.getDataString(result_plr, "name"))) if(cid) then local itemtogive_id = tonumber(result.getDataInt(result_plr, "param1")) local itemtogive_count = tonumber(result.getDataInt(result_plr, "param2")) local container_id = tonumber(result.getDataInt(result_plr, "param3")) local container_count = tonumber(result.getDataInt(result_plr, "param4")) local add_item_type = tostring(result.getDataString(result_plr, "param5")) local add_item_name = tostring(result.getDataString(result_plr, "param6")) local received_item = 0 local full_weight = 0 -- Script para addons e montaria full pelo Gesior -- if(add_item_type == 'mounts') then local player = Player(cid) if (getPlayerStorageValue(cid,itemtogive_id) == -1) then doPlayerAddMount(cid, itemtogive_id) setPlayerStorageValue(cid,itemtogive_id,1) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYDAMAGE) doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received '.. add_item_name ..' from Otserv Soft Shop.') db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";") else doPlayerSendTextMessage(cid,25,"You Already have this Mount.") end return TRUE end -- fim do script -- -- Script para addons e montaria full pelo Gesior -- if(add_item_type == 'addons') then local player = Player(cid) if (getPlayerStorageValue(cid,itemtogive_id) == -1) then doPlayerAddOutfit(cid, itemtogive_id, 3) doPlayerAddOutfit(cid, container_id, 3) setPlayerStorageValue(cid,itemtogive_id,1) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYDAMAGE) doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received '.. add_item_name ..' from Otserv Soft Shop.') db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";") else doPlayerSendTextMessage(cid,25,"You Already have this Outfit.") end return TRUE end -- fim do script -- if(add_item_type == 'container') then container_weight = getItemWeight(container_id, 1) if(isItemRune(itemtogive_id)) then items_weight = container_count * getItemWeight(itemtogive_id, 1) else items_weight = container_count * getItemWeight(itemtogive_id, itemtogive_count) end full_weight = items_weight + container_weight else full_weight = getItemWeight(itemtogive_id, itemtogive_count) if(isItemRune(itemtogive_id)) then full_weight = getItemWeight(itemtogive_id, 1) else full_weight = getItemWeight(itemtogive_id, itemtogive_count) end end local free_cap = getPlayerFreeCap(cid) if(full_weight <= free_cap) then if(add_item_type == 'container') then local new_container = doCreateItemEx(container_id, 1) local iter = 0 while(iter ~= container_count) do doAddContainerItem(new_container, itemtogive_id, itemtogive_count) iter = iter + 1 end received_item = doPlayerAddItemEx(cid, new_container) else local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) received_item = doPlayerAddItemEx(cid, new_item) end if(type(received_item) == "number" and received_item == RETURNVALUE_NOERROR) then doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received '.. add_item_name ..' from Otserv Soft Shop.') db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";") else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, ' '.. add_item_name ..' from Keltera Shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.') end else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, ' '.. add_item_name ..' Keltera Shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.') end end until not result.next(result_plr) result.free(result_plr) end return true end
  13. Não tentei trocar o shop.lua Apenas tentei adicionar normalmente como se fosse um item, mas quando clica para comprar buy, não acontece nada não vai para a parte onde escolhe pra quem vai enviar determinado item. Aqui é adicionando. Aqui a parte onde clica buy e nada acontece. E como deveria ser igual os outros itens O mesmo acontece com os addons.
  14. A própria mensagem já diz amigo, está faltando MSVCP120.dll está faltando essa dll, precisa baixar essa que está faltando
  15. Esse script não é o responsável por entregar determinado item ao personagem quando efetua uma compra? pois o do servidor que estou usando é assim olha -- ### CONFIG ### -- message send to player by script "type" (types you can check in "global.lua") SHOP_MSG_TYPE = 18 -- time (in seconds) between connections to SQL database by shop script SQL_interval = 30 -- ### END OF CONFIG ### function onThink(interval, lastExecution) local result_plr = db.storeQuery("SELECT * FROM z_ots_comunication") if(result_plr ~= false) then repeat local id = tonumber(result.getDataInt(result_plr, "id")) local action = tostring(result.getDataString(result_plr, "action")) local delete = tonumber(result.getDataInt(result_plr, "delete_it")) local cid = getPlayerByName(tostring(result.getDataString(result_plr, "name"))) if(cid) then local itemtogive_id = tonumber(result.getDataInt(result_plr, "param1")) local itemtogive_count = tonumber(result.getDataInt(result_plr, "param2")) local container_id = tonumber(result.getDataInt(result_plr, "param3")) local container_count = tonumber(result.getDataInt(result_plr, "param4")) local add_item_type = tostring(result.getDataString(result_plr, "param5")) local add_item_name = tostring(result.getDataString(result_plr, "param6")) local storage = tostring(result.getDataString(result_plr, "param7")) local received_item = 0 local full_weight = 0 if(add_item_type == 'container') then container_weight = getItemWeight(container_id, 1) if(isItemRune(itemtogive_id)) then items_weight = container_count * getItemWeight(itemtogive_id, 1) else items_weight = container_count * getItemWeight(itemtogive_id, itemtogive_count) end full_weight = items_weight + container_weight else full_weight = getItemWeight(itemtogive_id, itemtogive_count) if(isItemRune(itemtogive_id)) then full_weight = getItemWeight(itemtogive_id, 1) else full_weight = getItemWeight(itemtogive_id, itemtogive_count) end end local free_cap = getPlayerFreeCap(cid) if(full_weight <= free_cap) then if(add_item_type == 'container') then local new_container = doCreateItemEx(container_id, 1) local iter = 0 while(iter ~= container_count) do doAddContainerItem(new_container, itemtogive_id, itemtogive_count) iter = iter + 1 end received_item = doPlayerAddItemEx(cid, new_container) else local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) received_item = doPlayerAddItemEx(cid, new_item) end if(type(received_item) == "number" and received_item == RETURNVALUE_NOERROR) then doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received '.. add_item_name ..' from ArenaTibia Shop.') setPlayerStorageValue(cid,storage+555884621212,1) db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";") else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, ' '.. add_item_name ..' from ArenaTibia Shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.') end else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, ' '.. add_item_name ..' ArenaTibia Shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.') end end until not result.next(result_plr) result.free(result_plr) end return true end O meu site já tem aquelas abas que separa os itens das montarias e dos addons, o site que estou usando é do liane. E no meu servidor isso também que entrega as montarias e os addons function onLogin(cid) if getPlayerStorageValue(cid, 80+555884621212) == 1 then doPlayerAddMount(cid, 6) doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') setPlayerStorageValue(cid, 80+555884621212, 2) elseif getPlayerStorageValue(cid, 81+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 20) setPlayerStorageValue(cid, 81+555884621212, 2) elseif getPlayerStorageValue(cid, 82+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 29) setPlayerStorageValue(cid, 82+555884621212, 2) elseif getPlayerStorageValue(cid, 83+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 30) setPlayerStorageValue(cid, 83+555884621212, 2) elseif getPlayerStorageValue(cid, 84+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 27) setPlayerStorageValue(cid, 84+555884621212, 2) elseif getPlayerStorageValue(cid, 85+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 21) setPlayerStorageValue(cid, 85+555884621212, 2) elseif getPlayerStorageValue(cid, 90+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 24) setPlayerStorageValue(cid, 90+555884621212, 2) elseif getPlayerStorageValue(cid, 91+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 33) setPlayerStorageValue(cid, 91+555884621212, 2) elseif getPlayerStorageValue(cid, 92+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 41) setPlayerStorageValue(cid, 92+555884621212, 2) elseif getPlayerStorageValue(cid, 93+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 23) setPlayerStorageValue(cid, 93+555884621212, 2) elseif getPlayerStorageValue(cid, 94+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 9) setPlayerStorageValue(cid, 94+555884621212, 2) elseif getPlayerStorageValue(cid, 95+555884621212) == 2 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 37) setPlayerStorageValue(cid, 95+555884621212, 2) elseif getPlayerStorageValue(cid, 96+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 34) setPlayerStorageValue(cid, 96+555884621212, 2) elseif getPlayerStorageValue(cid, 97+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 36) setPlayerStorageValue(cid, 97+555884621212, 2) elseif getPlayerStorageValue(cid, 98+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 38) setPlayerStorageValue(cid, 98+555884621212, 2) elseif getPlayerStorageValue(cid, 116+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 43) setPlayerStorageValue(cid, 116+555884621212, 2) elseif getPlayerStorageValue(cid, 117+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 44) setPlayerStorageValue(cid, 117+555884621212, 2) elseif getPlayerStorageValue(cid, 118+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 45) setPlayerStorageValue(cid, 118+555884621212, 2) elseif getPlayerStorageValue(cid, 119+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 46) setPlayerStorageValue(cid, 119+555884621212, 2) elseif getPlayerStorageValue(cid, 120+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 47) setPlayerStorageValue(cid, 120+555884621212, 2) elseif getPlayerStorageValue(cid, 121+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 48) setPlayerStorageValue(cid, 121+555884621212, 2) elseif getPlayerStorageValue(cid, 122+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 49) setPlayerStorageValue(cid, 122+555884621212, 2) elseif getPlayerStorageValue(cid, 123+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 50) setPlayerStorageValue(cid, 123+555884621212, 2) elseif getPlayerStorageValue(cid, 124+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 51) setPlayerStorageValue(cid, 124+555884621212, 2) elseif getPlayerStorageValue(cid, 125+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received mount from ArenaTibia Shop.') doPlayerAddMount(cid, 52) setPlayerStorageValue(cid, 125+555884621212, 2) -- Addons -- elseif getPlayerStorageValue(cid, 76+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received addon full from ArenaTibia Shop.') doPlayerAddOutfit(cid, 147, 3) doPlayerAddOutfit(cid, 143, 3) setPlayerStorageValue(cid, 76+555884621212, 2) elseif getPlayerStorageValue(cid, 77+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received addon full from ArenaTibia Shop.') doPlayerAddOutfit(cid, 142, 3) doPlayerAddOutfit(cid, 134, 3) setPlayerStorageValue(cid, 77+555884621212, 2) elseif getPlayerStorageValue(cid, 78+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received addon full from ArenaTibia Shop.') doPlayerAddOutfit(cid, 156, 3) doPlayerAddOutfit(cid, 152, 3) setPlayerStorageValue(cid, 78+555884621212, 2) elseif getPlayerStorageValue(cid, 79+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received addon full from ArenaTibia Shop.') doPlayerAddOutfit(cid, 466, 3) doPlayerAddOutfit(cid, 465, 3) setPlayerStorageValue(cid, 79+555884621212, 2) elseif getPlayerStorageValue(cid, 87+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received addon full from ArenaTibia Shop.') doPlayerAddOutfit(cid, 141, 3) doPlayerAddOutfit(cid, 133, 3) setPlayerStorageValue(cid, 87+555884621212, 2) elseif getPlayerStorageValue(cid, 88+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received addon full from ArenaTibia Shop.') doPlayerAddOutfit(cid, 471, 3) doPlayerAddOutfit(cid, 472, 3) setPlayerStorageValue(cid, 88+555884621212, 2) elseif getPlayerStorageValue(cid, 100+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received addon full from ArenaTibia Shop.') doPlayerAddOutfit(cid, 138, 3) doPlayerAddOutfit(cid, 130, 3) setPlayerStorageValue(cid, 100+555884621212, 2) elseif getPlayerStorageValue(cid, 126+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received addon full from ArenaTibia Shop.') doPlayerAddOutfit(cid, 618, 3) doPlayerAddOutfit(cid, 610, 3) setPlayerStorageValue(cid, 126+555884621212, 2) elseif getPlayerStorageValue(cid, 127+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received addon full from ArenaTibia Shop.') doPlayerAddOutfit(cid, 633, 3) doPlayerAddOutfit(cid, 632, 3) setPlayerStorageValue(cid, 127+555884621212, 2) elseif getPlayerStorageValue(cid, 128+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received addon full from ArenaTibia Shop.') doPlayerAddOutfit(cid, 635, 3) doPlayerAddOutfit(cid, 634, 3) setPlayerStorageValue(cid, 128+555884621212, 2) elseif getPlayerStorageValue(cid, 129+555884621212) == 1 then doPlayerSendTextMessage(cid, 18, 'You received addon full from ArenaTibia Shop.') doPlayerAddOutfit(cid, 637, 3) doPlayerAddOutfit(cid, 636, 3) setPlayerStorageValue(cid, 129+555884621212, 2) end return TRUE end Acho que na verdade já tem só precisa adicionar 1 por 1. com seu id
  16. Pesquisando aqui no tk, encontrei um tópico, onde você chegou a comentar sobre isso, e um membro postou um código dizendo que era possível só substituir, o shop.lua por isso, entendi mais ou menos o código ainda não testei mais daqui a pouco vou fazer isso -- ### CONFIG ### -- message send to player by script "type" (types you can check in "global.lua") SHOP_MSG_TYPE = 18 -- time (in seconds) between connections to SQL database by shop script SQL_interval = 30 -- ### END OF CONFIG ### function onThink(interval, lastExecution) local result_plr = db.storeQuery("SELECT * FROM z_ots_comunication") if(result_plr ~= false) then repeat local id = tonumber(result.getDataInt(result_plr, "id")) local action = tostring(result.getDataString(result_plr, "action")) local delete = tonumber(result.getDataInt(result_plr, "delete_it")) local cid = getPlayerByName(tostring(result.getDataString(result_plr, "name"))) if(cid) then local itemtogive_id = tonumber(result.getDataInt(result_plr, "param1")) local itemtogive_count = tonumber(result.getDataInt(result_plr, "param2")) local container_id = tonumber(result.getDataInt(result_plr, "param3")) local container_count = tonumber(result.getDataInt(result_plr, "param4")) local add_item_type = tostring(result.getDataString(result_plr, "param5")) local add_item_name = tostring(result.getDataString(result_plr, "param6")) local received_item = 0 local full_weight = 0 -- Script para addons e montaria full pelo Gesior -- if(add_item_type == 'mounts') then local player = Player(cid) if (getPlayerStorageValue(cid,itemtogive_id) == -1) then doPlayerAddMount(cid, itemtogive_id) setPlayerStorageValue(cid,itemtogive_id,1) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYDAMAGE) doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received '.. add_item_name ..' from Otserv Soft Shop.') db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";") else doPlayerSendTextMessage(cid,25,"You Already have this Mount.") end return TRUE end -- fim do script -- -- Script para addons e montaria full pelo Gesior -- if(add_item_type == 'addons') then local player = Player(cid) if (getPlayerStorageValue(cid,itemtogive_id) == -1) then doPlayerAddOutfit(cid, itemtogive_id, 3) doPlayerAddOutfit(cid, container_id, 3) setPlayerStorageValue(cid,itemtogive_id,1) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYDAMAGE) doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received '.. add_item_name ..' from Otserv Soft Shop.') db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";") else doPlayerSendTextMessage(cid,25,"You Already have this Outfit.") end return TRUE end -- fim do script -- if(add_item_type == 'container') then container_weight = getItemWeight(container_id, 1) if(isItemRune(itemtogive_id)) then items_weight = container_count * getItemWeight(itemtogive_id, 1) else items_weight = container_count * getItemWeight(itemtogive_id, itemtogive_count) end full_weight = items_weight + container_weight else full_weight = getItemWeight(itemtogive_id, itemtogive_count) if(isItemRune(itemtogive_id)) then full_weight = getItemWeight(itemtogive_id, 1) else full_weight = getItemWeight(itemtogive_id, itemtogive_count) end end local free_cap = getPlayerFreeCap(cid) if(full_weight <= free_cap) then if(add_item_type == 'container') then local new_container = doCreateItemEx(container_id, 1) local iter = 0 while(iter ~= container_count) do doAddContainerItem(new_container, itemtogive_id, itemtogive_count) iter = iter + 1 end received_item = doPlayerAddItemEx(cid, new_container) else local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) received_item = doPlayerAddItemEx(cid, new_item) end if(type(received_item) == "number" and received_item == RETURNVALUE_NOERROR) then doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received '.. add_item_name ..' from Otserv Soft Shop.') db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";") else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, ' '.. add_item_name ..' from Keltera Shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.') end else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, ' '.. add_item_name ..' Keltera Shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.') end end until not result.next(result_plr) result.free(result_plr) end return true end
  17. Somos 3 com a mesma dúvida, ao invés de dar certo item para domar ele já de a mount, além disso com addon também queria saber como funciona Até peguei a db do servidor do mitsuig, abri ela tentei copiar o INSERT INTO `z_shop_offer` (`id`, `points`, `itemid1`, `count1`, `itemid2`, `count2`, `offer_type`, `offer_description`, `offer_name`, `PID`) VALUES..... Com todos os itens, mas da erro, não transfere os itens, e não aparecem como mount, itens e addon nas abas do shopping.
  18. Eu consigo colocar os itens de domar, mas colocar as montarias direto não faço ideia de como faz isso, mesma coisa com os itens de addon, já tentei só inserir a parte de oferta dos itens na db que estou usando e sempre da erro =\
  19. Eu consegui arrumar meu erro, para não dar mais erro em permissão negada era só dar permissão na pasta com 777 Como coloca montaria e addon no shopping, esse servidor possui itens vip editado?
  20. Servidor precisa de Mysql tem mil tutorial ensinando a colocar um servidor do zero online. Verifica se configurou tudo certo caso ja tenha configurado o MysqL se importou certo ou se na config.lua do servidor se colocou a senha e o nome da database certo.
  21. Obrigado Vou tentar, será que pode ser por conta do linux? Está funcionando mais não sai o seguinte erro Warning: fopen(cache/DONT_EDIT_serverstatus.txt): failed to open stream: Permissão negada in /opt/lampp/htdocs/system/load.compat.php on line 271 Warning: rewind() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/system/load.compat.php on line 278 Warning: fwrite() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/system/load.compat.php on line 279 Warning: fclose() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/system/load.compat.php on line 280 Warning: fopen(cache/DONT_EDIT_usercounter.txt): failed to open stream: Permissão negada in /opt/lampp/htdocs/system/load.compat.php on line 287 Warning: fgets() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/system/load.compat.php on line 288 Warning: rewind() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/system/load.compat.php on line 290 Warning: fputs() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/system/load.compat.php on line 291 Warning: fclose() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/system/load.compat.php on line 292 Fatal error: Call to a member function fetchAll() on a non-object in /opt/lampp/htdocs/pages/latestnews.php on line 202
  22. Muito obrigado, eu baixei uns mais não são compatíveis, e sempre precisava usar outra DB, tem painel de admin esse? Coloquei o site que me informou, mas fica branco... e aparece apenas isso Warning: fopen(cache/DONT_EDIT_serverstatus.txt): failed to open stream: Permissão negada in /opt/lampp/htdocs/system/load.compat.php on line 271 Warning: rewind() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/system/load.compat.php on line 278 Warning: fwrite() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/system/load.compat.php on line 279 Warning: fclose() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/system/load.compat.php on line 280 Warning: fopen(cache/DONT_EDIT_usercounter.txt): failed to open stream: Permissão negada in /opt/lampp/htdocs/system/load.compat.php on line 287 Warning: fgets() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/system/load.compat.php on line 288 Warning: rewind() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/system/load.compat.php on line 290 Warning: fputs() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/system/load.compat.php on line 291 Warning: fclose() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/system/load.compat.php on line 292 Fatal error: Call to a member function fetchAll() on a non-object in /opt/lampp/htdocs/pages/latestnews.php on line 202

Informação Importante

Confirmação de Termo