Tudo que Adriano SwaTT postou
-
(Resolvido)[NPC] que trocar x Item por x Item
Porque tem que substituir nestas linhas. local nome = {'item1', 'item2', 'item3', 'item4', 'item5', 'item6', 'item7', 'item8', 'item9', 'item10'} -- Nome dos Itens Adicionando o nome dos itens, em ordem. Ex: local nome = {'demon armor', 'fire axe', 'item3', 'item4', 'item5', 'item6', 'item7', 'item8', 'item9', 'item10'} -- Nome dos Itens Entendeu?
-
(Resolvido)[NPC] que trocar x Item por x Item
Conforme disse, o script não foi feito para ter a função TRADE. E se está falando o nome errado, é porque a ID está errada, pois ele pega o nome diretamente no Items.XML através da ID dos itens do script. E como você adicionou novos itens. Esqueceu de declara-los na resposta do NPC: elseif (msgcontains(msg, 'trade') or msgcontains(msg, 'hi')) then selfSay(' Digite qual item deseja adquirir.', cid) selfSay('Atualmente temos {'..getItemNameById(items[1])..'}, {'..getItemNameById(items[2])..'}, {'..getItemNameById(items[3])..'}, {'..getItemNameById(items[4])..'}, {'..getItemNameById(items[5])..'}, {'..getItemNameById(items[6])..'}, {'..getItemNameById(items[7])..'} e {'..getItemNameById(items[8])..'}.', cid) talkState[talkUser] = 0
-
(Resolvido)[PEDIDO] Vip por item
Verdade, nem pensei nisso. Colocar como palavra proibida resolve.
- Ajuda Spells
- Gesior by Matk
-
(Resolvido)[PEDIDO] Vip por item
Então, se seu servidor for novo, compensa estudar de por para registrar o nome do novo character em 2 tabelas na database. Ex: "name" e "name2", para que quando mudar o nome InGame do player, muda da tabela "name" normalmente, e quando for para criar o novo character ele check se já existe na tabela "name2", onde ficará sempre o nome real do personagem.
-
[Ajuda] 2 problemas em 1 script/event
Por favor, para os que não tem os scripts, poste-os, EM SPOILER, para que possamos editá-los. Boa sorte.
-
(Resolvido)[NPC] que trocar x Item por x Item
Deve até ter, mas creio que será um pouco mais chatinho de fazer. Este seria um exemplo: Script. Só que pra mim fazer agora, infelizmente, seria inviável. Enfim, boa sorte.
-
(Resolvido)[NPC] que trocar x Item por x Item
Não, está por "palavras" mesmo, você configura e fala o nome do item que deseja. Pode dizer help ou ajuda e aparece a lista de itens disponíveis.
-
(Resolvido)[PEDIDO] Vip por item
Estive olhando, provavelmente é neste arquivo. Pasta: htdocs\account\check_name.php Nesta parte: // PDO and POT connects to database $ots = POT::getInstance(); if($server_config['sqlType'] == "mysql") $ots->connect(POT::DB_MYSQL, array('host' => $mysqlhost, 'user' => $mysqluser, 'password' => $mysqlpass, 'database' => $mysqldatabase) ); elseif($server_config['sqlType'] == "sqlite") $ots->connect(POT::DB_SQLITE, array('database' => $config_ini['server_path'].$sqlitefile)); $name_db = new OTS_Player(); $name_db->find($name); if($name_db->isLoaded()) echo '<font color="red"><b>Player with this name already exist.</b></font>'; else echo '<font color="green">Good. Your name will be:<br />"<b>'.ucwords($name).'</b>"</font>'; Tem que por pra verificar se mesmo tirando o "[VIP]" o nome existe. Agora ficou mais fácil, tomara que venha alguém com conhecimento na área para lhe ajudar. Vou lhe enviar mensagem privada.
-
(Resolvido)[PEDIDO] Vip por item
Realmente a parte do site deve ficar para alguém que manje um pouco mais de PHP do que eu. Pois teria que conferir na hora de criar o personagem se há algum player com o nome "Fulano" com ou sem o [VIP]. Se der um tempinho aqui eu olho pra você. Boa sorte aí.
-
(Resolvido)[NPC] que trocar x Item por x Item
Desculpe-me pela demora, é que estou desenvolvendo um site. Enfim, segue o script: Boa sorte.
- Ajuda Spells
-
(Resolvido)[NPC] que trocar x Item por x Item
No caso, cada 1 ou cada grupo de 100 itens valem 5 diamantes? #Por favor, facilite nas informações, passe já com maiores detalhes.
-
Bug in Creaturescripts
O script ficou meio noob, mas não acostumei trabalhar daquela forma acima, mas o que vale é funcionar. Removido Boa sorte.
-
(Resolvido)[NPC] que trocar x Item por x Item
Todos estes itens por 5 diamantes ou cada um destes itens vale 5 diamante? E eles são itens agrupáveis? ou usaremos 1 de cada mesmo?
-
(Resolvido)[PEDIDO] Vip por item
Ah sim, então use assim: local strg = 33339 -- valor da sua storage local strg_n = 12120 -- não precisa editar function onLogin(cid) if getPlayerPremiumDays(cid) <= 0 and getPlayerStorageValue(cid, strg_n) == 1 then setPlayerStorageValue(cid, 9898, 1) end if getPlayerStorageValue(cid, 9898) == 1 and getPlayerPremiumDays(cid) <= 0 then local temple = getTownTemplePosition(getPlayerTown(cid)) doTeleportThing(cid, temple) doPlayerPopupFYI(cid, "Sua vip Account acabou.") setPlayerStorageValue(cid, 9898, -1) setPlayerStorageValue(cid, strg_n, -1) if string.find(tostring(getCreatureName(cid)),"[Vip]") then addEvent(EddyHavoc, 3*1000, cid) end end return TRUE end function EddyHavoc(cid) if isPlayer(cid) then db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end end
-
(Resolvido)[PEDIDO] Vip por item
É que você editou a função que postei. Está atualmente checando se o player é PREMIUM ACCOUNT, o que é diferente de VIP. Era pra estar assim, ou coisa do tipo, pra checar se ele ainda tem a storage de VIP. function onLogin(cid) local strg = 33339 -- valor da sua storage local strg_n = 12120 -- não precisa editar if getPlayerStorageValue(cid, strg) - os.time() > 0 then setPlayerStorageValue(cid, 9898, 1) end function EddyHavoc(cid) if isPlayer(cid) then db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end end if getPlayerStorageValue(cid, 9898) == 1 and getPlayerStorageValue(cid, strg) - os.time() < 1 or getPlayerStorageValue(cid, strg) - os.time() == 0 then local temple = getTownTemplePosition(getPlayerTown(cid)) doTeleportThing(cid, temple) doPlayerPopupFYI(cid, "Sua vip Account acabou.") setPlayerStorageValue(cid, 9898, -1) setPlayerStorageValue(cid, strg_n, -1) if string.find(tostring(getCreatureName(cid)),"[Vip]") then addEvent(EddyHavoc, 3*1000, cid) end end return TRUE end
-
(Resolvido)[PEDIDO] Vip por item
NOOOOOOOOSSA cara me desculpe, foi uma falta de atenção minha. Use aí o "endvip.lua" que passei acima e o vip.lua, use este abaixo: function onUse(cid, item, fromPosition, itemEx, toPosition) local name = getCreatureName(cid) local days = 30 -- dias que serão adicionados local strg = 33339 -- valor da sua storage local strg_n = 12120 -- não precisa editar local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, strg) local timenow = os.time() if getPlayerStorageValue(cid, strg) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de SYNC VIP no seu character.") setPlayerStorageValue(cid, strg, time) local quantity = math.floor((getPlayerStorageValue(cid, strg) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de SYNC VIP restantes.") doRemoveItem(item.uid, 1) if getPlayerStorageValue(cid, strg_n) < 1 then setPlayerStorageValue(cid, strg_n, 1) db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Seus dias foram acrescentados e seu nome ja foi alterado.") end return TRUE end
-
(Resolvido)[PEDIDO] Vip por item
Me diz o seguinte, está reiniciando o antes de testar server? Está testando o script com um char já vip, com a tag "[VIP]" no nome ou com um sem vip nenhuma?
-
(Resolvido)[PEDIDO] Vip por item
Vamos por parte. Desta forma funcionou? Pois creio que esta função cheque se o player tem Premium Account, o que na maioria dos servidor são diferentes do sistema de VIP. Mas não custa nada testar.
-
(Resolvido)[PEDIDO] Vip por item
Ok, eu tentei do modo mais difícil/chato, estou com dor de cabeça, ocupado com códigos.. por isso estes erros.. Enfim, vamos tentar assim agora. vip.lua: function onUse(cid, item, fromPosition, itemEx, toPosition) local name = getCreatureName(cid) local days = 30 -- dias que serão adicionados local strg = 33339 -- valor da sua storage local strg_n = 12120 -- não precisa editar local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, strg) local timenow = os.time() if getPlayerStorageValue(cid, strg) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de SYNC VIP no seu character.") setPlayerStorageValue(cid, strg, time) local quantity = math.floor((getPlayerStorageValue(cid, strg) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de SYNC VIP restantes.") doRemoveItem(item.uid, 1) if getPlayerStorageValue(cid, strg_n) < 1 then db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Seus dias foram acrescentados e seu nome ja foi alterado.") end return TRUE end endvip.lua: function onLogin(cid) local strg = 33339 -- valor da sua storage local strg_n = 12120 -- não precisa editar if getPlayerStorageValue(cid, strg) - os.time() > 0 then setPlayerStorageValue(cid, 9898, 1) end function EddyHavoc(cid) if isPlayer(cid) then db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end end if getPlayerStorageValue(cid, 9898) == 1 and getPlayerStorageValue(cid, strg) - os.time() < 1 or getPlayerStorageValue(cid, strg) - os.time() == 0 then local temple = getTownTemplePosition(getPlayerTown(cid)) doTeleportThing(cid, temple) doPlayerPopupFYI(cid, "Sua vip Account acabou.") setPlayerStorageValue(cid, 9898, -1) setPlayerStorageValue(cid, strg_n, -1) if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then addEvent(EddyHavoc, 3*1000, cid) end end return TRUE end Boa sorte.
-
(Resolvido)[PEDIDO] Vip por item
Ok, obrigado pelo Rep+. Aguardo retorno.
-
(Resolvido)[PEDIDO] Vip por item
Certo, teste este script abaixo no "vip.lua". function onUse(cid, item, fromPosition, itemEx, toPosition) local name = getCreatureName(cid) local days = 30 -- dias que serão adicionados local strg = 33339 -- valor da sua storage local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, strg) local timenow = os.time() if getPlayerStorageValue(cid, strg) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de SYNC VIP no seu character.") setPlayerStorageValue(cid, strg, time) local quantity = math.floor((getPlayerStorageValue(cid, strg) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de SYNC VIP restantes.") doRemoveItem(item.uid, 1) if 'name' ~= '[VIP] "..name.."' then db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) else return true end return TRUE end
-
(Resolvido)[PEDIDO] Vip por item
Foi o que disse, você precisa substituir as do Script que enviei pelas suas. Teste assim: vip.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local days = 30 -- dias que serão adicionados local strg = 33339 -- valor da sua storage local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, strg) local timenow = os.time() if getPlayerStorageValue(cid, strg) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de SYNC VIP no seu character.") setPlayerStorageValue(cid, strg, time) local quantity = math.floor((getPlayerStorageValue(cid, strg) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de SYNC VIP restantes.") doRemoveItem(item.uid, 1) local name = getCreatureName(cid) db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) return TRUE end endvip.lua: function onLogin(cid) local strg = 33339 -- valor da sua storage if getPlayerStorageValue(cid, strg) - os.time() > 0 then setPlayerStorageValue(cid, 9898, 1) end function EddyHavoc(cid) if isPlayer(cid) then db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end end if getPlayerStorageValue(cid, 9898) == 1 and getPlayerStorageValue(cid, strg) - os.time() < 1 or getPlayerStorageValue(cid, strg) - os.time() == 0 then local temple = getTownTemplePosition(getPlayerTown(cid)) doTeleportThing(cid, temple) doPlayerPopupFYI(cid, "Sua vip Account acabou.") setPlayerStorageValue(cid, 9898, -1) if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then addEvent(EddyHavoc, 3*1000, cid) end end return TRUE end Boa sorte.