
Tudo que vyctor17 postou
-
Bot PXG
Há algum tempo, comecei a explorar a reversão do OTCliente. Inclusive, criei um tópico aqui apresentando o básico do que encontrei. Como não tenho mais interesse no projeto, pois demanda muito trabalho para atualizar os offsets, decidi disponibilizar o código-fonte neste tópico. Atualmente, ele pode não estar funcional devido à falta de atualizações nos offsets dos clientes mais recentes da PXG, mas, com as atualizações adequadas, tudo deve funcionar normalmente. Desenvolvi uma base sólida para quem deseja se aprofundar em injeção de DLLs. Isso pode ser útil até mesmo para modificar o cliente original do Tibia ou para criar um BOT em qualquer servidor com alguma variação do OTClient, permitindo criar suas próprias modificações. Tudo foi feito em C++ e eu criei um Engine de LUA, para fácil extensão dos modulos. Vídeos: SourceCode DLL + Launcher: https://github.com/victorverdoodt/WakeLuaPlusPlu
-
[Show-Off] Vyctor17
Oi Tk, faz um tempo que eu postei alguns módulos que eu fiz, para o OTclient, agora vou mostrar um pouco de como eles foram implementados em um projeto de teste. vou fazer um breve explicação sobre o o funcionamento e depois colocarei um GIF ou Video mostrando in-game. Raridade em monstros e items. Monstros: a raridade em monstros aumenta seu poder de ataque e vida baseado na raridade. Para monstros existem 4 Tiers de raridade, Comum, Épico, Lendário e Único um monstro com raridade acima de comum sempre protegendo um bau com recompensas. Items: Os items tem variação de raridade baseado em um encantamento obtido via Gemas, Essas raridades são dividas em 5 Tiers de raridade, Comum, Magico, Épico, Lendário e Único. a imagem não contem item e monstros únicos Gemas de encantamento. As gemas de encantamento melhoram um item e só podem ser utilizadas uma vez por item, existem duas gemas uma pode dar de um a três atributos novos ao item e outra de um a seis, a partir do numero de atributos novos gerados no item é definido sua raridade. As gemas podem ser obtidas através de mineração ou em baus de recompensa. Baus de recompensa. São gerados junto a monstros de raridade acima de comum dependo de qual bau o monstro protege mais forte ele é, exemplo um monstro épico protegendo um bau de ouro é mais forte que um épico protegendo um bau normal. Para abrir o bau você terá que fazer o Lockpick no bau. Wasp lendária protegendo bau da fortuna. Pescaria. Nada de muito explicativo só uma pesca comum, para obter peixes para Cooking ou para Alquimia. Lockpick. Nada de muito novo também. Montaria Nada muito diferente também, só existem três pontos diferentes da montaria no meu server para o do global que são, as montarias tem vida e se ela "morrer" você é desmontado, as montarias em quanto montado te libera magias, a montaria tem um slot próprio para poder ser equipada. Magias e inventario. Todas classes podem usar qualquer magia mas as magias são vinculadas as items, então para ter a magia liberada a pessoa tem que estar com o item equipado para aumentar a quantidade magias criei mais dois slots no inventario um slot para montaria e mais um anel. Vou ficar devendo falar sobre o craft e a alquimia, pois ainda estou trabalhando neles. deixar um agradecimento especial a galera do discord do TK que me ajudou com ideias e me guiando para melhorar sistemas existentes . Qualquer duvida ou sugestão para os sistemas acima ou para qualquer outro tipo de sistema que você acha que poderia ficar legal em conjunto com esses sistemas ficarei ligado nos comentários desse tópico. Obrigado pela atenção. Bonus:
-
(Resolvido)[Rain] Sistema de Chuva
procura o sistema de rain do skyen hasus sempre usei ele antes do otcliente e nunca tive problema permite muitas configurações e é bem fácil de entender. tenta procurar por skyen hasus rain system.
-
Dúvida sobre servidores grandes.
PXG 8.1, o outro não sei.
-
Lockpick e fishing
Estou liberando o modulo de lockpick e fishing que eu fiz a muito tempo, é um modulo conceito oque significa que precisa ser melhorado para entrar em um servidor. acho que é uma boa base para se trabalhar em sistemas do gênero. https://github.com/vyctor17/otclient-mods Exemplo de action que usava no lockpick no meu server para testar. function onUse(cid, item, frompos, item2, topos) if item2.uid > 0 then if item2.itemid == 1741 then local minrange = getItemAttribute(item2.uid, 'minrange') local maxrange = getItemAttribute(item2.uid, 'maxrange') if minrange ~= nil and maxrange ~= nil then doSendPlayerExtendedOpcode(cid, 27, "Open|"..minrage.."|"..maxrange) else doItemSetAttribute(getThingfromPos(topos).uid, "minrange", 35) doItemSetAttribute(getThingfromPos(topos).uid, "maxrange", 45) doSendPlayerExtendedOpcode(cid, 27, "Open|35|45") end end end return true end
- Advanced Sound
-
Advanced Sound
tópico antigo pra caramba, achei que tinha perdido a source code mas acabei achando uma versão em um CD de backup. não sei se alguém ainda tem interesse nesse sistema, mas revivi o tópico pra avisar que deixei a source disponível se alguém quiser atualizar ou compilar para x64. https://github.com/vyctor17/advsound
-
PXG Reversal, Structs e Offsets
Bom, comecei a pouco a me aprofundar em engenharia reversa de programas/jogos, resolvi fazer esse post pra se alguém com objetivo em comum precisar de um ponto de partida já que existe pouco conteúdo sobre, e os fóruns antigos de reversão voltado para Tibia/OTserv estão mortos. [STATUS] GamePtr -->LocalPlayer-->Inventario -->Creatures -->Protocolo falta mapa e containers. Obs: eu vou focar o tópico no PXG mas essas mesmas informações de estrutura são compatíveis com qualquer OTclient desde que você atualize os offsets. Programas usados: IDA PRO - conseguir ponteiros dissecar estruturas e funções Cheat Engine - confirmar offsets ReClass - criar uma classe para o ponteiro das criaturas na Battle List Se alguém tiver alguma duvida sobre como conseguir os OFFSETS ou de como usar os programas citados acima pode perguntar no tópico que eu responderei assim que possível. PXG DIRECTX9 23/09/2019 OFFSETS/OFFSETS: // Created with ReClass.NET by KN4CK3R class CreaturePtr { public: char pad_0000[12]; //0x0000 uint16_t m_pos_x; //0x000C char pad_000E[2]; //0x000E uint16_t m_pos_y; //0x0010 char pad_0012[2]; //0x0012 uint8_t m_pos_z; //0x0014 char pad_0015[7]; //0x0015 uint32_t m_id; //0x001C char pad_0020[4]; //0x0020 uint8_t m_name_lenght; //0x0024 char pad_0025[3]; //0x0025 char m_name[16]; //0x0028 uint8_t m_healthPercent; //0x0038 char pad_0039[3]; //0x0039 uint8_t m_direction; //0x003C char pad_003D[3]; //0x003D uint8_t m_outfit_visible; //0x0040 char pad_0041[3]; //0x0041 uint8_t m_outfit_looktype; //0x0044 char pad_0045[7]; //0x0045 uint8_t m_outfit_head; //0x004C char pad_004D[3]; //0x004D uint8_t m_outfit_body; //0x0050 char pad_0051[3]; //0x0051 uint8_t m_outfit_legs; //0x0054 char pad_0055[3]; //0x0055 uint8_t m_outfit_feet; //0x0058 char pad_0059[3]; //0x0059 uint8_t m_outfit_addon; //0x005C char pad_005D[83]; //0x005D uint16_t m_light; //0x00B0 char pad_00B2[2]; //0x00B2 int32_t m_speed; //0x00B4 uint8_t m_skull; //0x00B8 uint8_t m_shield; //0x00B9 uint8_t m_emblem; //0x00BA uint8_t m_type; //0x00BB uint8_t m_icon; //0x00BC char pad_00BD[363]; //0x00BD bool m_walking; //0x0228 char pad_0229[123]; //0x0229 uint16_t m_autoWalkDestination_x; //0x02A4 char pad_02A6[2]; //0x02A6 uint16_t m_autoWalkDestination_y; //0x02A8 char pad_02AA[2]; //0x02AA uint8_t m_autoWalkDestination_z; //0x02AC }; //Size: 0x02AD class ItemPtr { public: char pad_0000[16]; //0x0000 uint8_t m_slotid; //0x0010 char pad_0011[21]; //0x0011 uint16_t m_clientId; //0x0026 char pad_0028[2]; //0x0028 uint16_t m_serverId; //0x002A char pad_002C[2]; //0x002C uint8_t m_countOrSubType; //0x002E }; //Size: 0x002F class LocalPlayerPtr { public: char pad_0000[12]; //0x0000 uint16_t m_pos_x; //0x000C char pad_000E[2]; //0x000E uint16_t m_pos_y; //0x0010 char pad_0012[2]; //0x0012 uint8_t m_pos_z; //0x0014 char pad_0015[7]; //0x0015 uint32_t m_id; //0x001C char pad_0020[4]; //0x0020 uint8_t m_name_lenght; //0x0024 char pad_0025[3]; //0x0025 char m_name[16]; //0x0028 uint8_t m_healthPercent; //0x0038 char pad_0039[3]; //0x0039 uint8_t m_direction; //0x003C char pad_003D[3]; //0x003D uint8_t m_outfit_visible; //0x0040 char pad_0041[3]; //0x0041 uint8_t m_outfit_looktype; //0x0044 char pad_0045[7]; //0x0045 uint8_t m_outfit_head; //0x004C char pad_004D[3]; //0x004D uint8_t m_outfit_body; //0x0050 char pad_0051[3]; //0x0051 uint8_t m_outfit_legs; //0x0054 char pad_0055[3]; //0x0055 uint8_t m_outfit_feet; //0x0058 char pad_0059[3]; //0x0059 uint8_t m_outfit_addon; //0x005C char pad_005D[83]; //0x005D uint16_t m_light; //0x00B0 char pad_00B2[2]; //0x00B2 int32_t m_speed; //0x00B4 uint8_t m_skull; //0x00B8 uint8_t m_shield; //0x00B9 uint8_t m_emblem; //0x00BA uint8_t m_type; //0x00BB uint8_t m_icon; //0x00BC char pad_00BD[363]; //0x00BD bool m_walking; //0x0228 char pad_0229[52]; //0x0229 bool m_premium; //0x025D char pad_025E[58]; //0x025E uint16_t m_lastPrewalkDestination_x; //0x0298 char pad_029A[2]; //0x029A uint16_t m_lastPrewalkDestination_y; //0x029C char pad_029E[2]; //0x029E uint8_t m_lastPrewalkDestination_z; //0x02A0 char pad_02A1[3]; //0x02A1 uint16_t m_autoWalkDestination_x; //0x02A4 char pad_02A6[2]; //0x02A6 uint16_t m_autoWalkDestination_y; //0x02A8 char pad_02AA[2]; //0x02AA uint8_t m_autoWalkDestination_z; //0x02AC char pad_02AD[3]; //0x02AD uint16_t m_lastAutoWalkPosition_x; //0x02B0 char pad_02B2[2]; //0x02B2 uint16_t m_lastAutoWalkPosition_y; //0x02B4 char pad_02B6[2]; //0x02B6 uint8_t m_lastAutoWalkPosition_z; //0x02B8 char pad_02B9[29]; //0x02B9 uint8_t m_Known; //0x02D6 char pad_02D7[5]; //0x02D7 class ItemPtr* m_inventoryItems[10]; //0x02DC char pad_0304[136]; //0x0304 uint8_t m_vocation; //0x038C char pad_038D[3]; //0x038D double m_health; //0x0390 double m_maxHealth; //0x0398 double m_freeCapacity; //0x03A0 double m_totalCapacity; //0x03A8 double m_experience; //0x03B0 double m_level; //0x03B8 double m_levelPercent; //0x03C0 double m_mana; //0x03C8 double m_maxMana; //0x03D0 double m_magicLevel; //0x03D8 double m_magicLevelPercent; //0x03E0 double m_baseMagicLevel; //0x03E8 double m_soul; //0x03F0 double m_stamina; //0x03F8 double m_regenerationTime; //0x0400 double m_offlineTrainingTime; //0x0408 }; //Size: 0x0410 class ProtocolGamePtr { public: char pad_0000[68]; //0x0000 }; //Size: 0x0044 class gGame { public: class LocalPlayerPtr* m_localPlayer; //0x0000 class CreaturePtr* m_attackingCreature; //0x0004 class CreaturePtr* m_followingCreature; //0x0008 class ProtocolGamePtr* m_protocolGame; //0x000C char pad_0010[48]; //0x0010 bool m_online; //0x0040 char pad_0041[1]; //0x0041 bool m_dead; //0x0042 char pad_0043[57]; //0x0043 uint8_t m_pvpMode; //0x007C char pad_007D[7]; //0x007D uint8_t m_lastWalkDir; //0x0084 char pad_0085[23]; //0x0085 uint8_t m_characterName_lenght; //0x009C char pad_009D[3]; //0x009D char m_characterName[16]; //0x00A0 char pad_00B0[4]; //0x00B0 uint8_t m_worldName_lenght; //0x00B4 char pad_00B5[3]; //0x00B5 char m_worldName[16]; //0x00B8 }; //Size: 0x00C8
-
Fumaça igual do PXG
é um shader do otcliente só pesquisar por otcliente shader.
-
[Show-Off] Dungeon room
@Jovim sim, o mesmo item esta gerando as dungeons(só existe 2 modelos que eu fiz) mas é só pra teste da base do sistema. a ideia inicial de desenvolvimento do sistema era fazer algo parecido com sistema de atlas do path of exile.
-
[Show-Off] Dungeon room
Esse tópico é só um show-off de um sistema que estou trabalhando, vou deixar aqui algumas utilidades praticas do mesmo e gostaria de sugestões e ideias para utilizá-lo de maneira criativa. Basicamente, é um sistema que pode gerar um mapa em uma posição definida, e pode trocar o mapa na mesma posição por outro, possibilitando a criação de salas "infinitas" sobe demanda de players para dungeons(por exemplo a dz da pxg tem um numero limitado de salas, com um sistema parecido essas salas poderão ser geradas dinamicamente), quests, salas de HUNT privadas ou qualquer outro sistema que precisa de um mapa especifico para funcionar, o mapa é alocado em tempo real em segundos. no vídeo abaixo preste atenção no minimapa. PEQUENO VIDEO DE UPDATE MOSTRANDO DOIS CLIENTES EM SALAS INDIVIDUAIS AO MESMO TEMPO:
-
[MOD] Character List ( Aparece o Char no Login )
edita o protocolo de login para enviar informação da outfit, vida, mana e etc.., edita o modulo de character list para receber as informações e exibir elas na tela, pronto ensinei.
-
Contruçao de Script
uma duvida, tipo que eu lembre TFS mais antigos, o moveevents são bugados no login/logout, então o player precisaria mover o item depois de logar, para o efeito começar a sair estou certo?
-
Quais são as Perspectivas de Sucesso ou Fracasso do Tibia?
@je19921992 não cara, se você fala que tibia tem muitas possibilidade então no caso você que não ta aprendeu programação o suficiente pra fazer seus próprios jogos no unity ou unreal engine, isso sim é variedade. eu posso variar de fazer um jogo 2D igual tibia pra um 3D FPS, falar que tibia permite variedade, por você poder mudar as sprites editar a interface do cliente ou desenvolver scripts diferentes do padrão então qualquer emulador de servidor de jogos consegue fazer a mesma coisa, a unica diferença que o tibia tem é o otcliente que foi feito pra ser fácil de ser modificado em um sistema modular e não é só divulgação que falta, o tibia em si não tem 30k de players a media mensal é de 9949 pessoas, esse numero de 30k é contanto todos os servidores inclusive derivados, e como eu falei falar de variedade por você podar "modar" o jogo existem diversas engines baseadas em RPGMAKER que da pra fazer a mesma coisa e tornar o jogo um MMO CUSTOM, e nem por isso elas são variáveis, já que a base vai ser sempre solida, da mesma forma que a gameplay básica do tibia vai ser sempre a mesma coisa. falar que tibia tem um pvp bom, é muito papo de tibiano que nunca jogou outros jogos parece eu falando a 8 anos atras. sair do pz e poder morrer UAL, pena que já existe um sub-gênero todo de jogos que da a mesma sensação mas melhor chama survival como ARK, Conan e Rust, ainda com o bonus de seu corpo ficar no mapa quando desloga e poder invadir casas. como eu falei tibia é obsoleto tudo que você falar eu posso apontar um jogo que faz melhor. oque é natural para um jogo antigo.e sobre eu não conhecer o jogo ou me intitular programador pesquisa meu nick ai e eu pesquiso o seu vamos ver quem tem mais conteúdo?, quem ajudou mais a comunidade de otserv? ou vamos pelo básico como eu tenho um diploma de programação e não preciso me intitular porque já fizeram isso quando em deram o diploma?.
-
Quais são as Perspectivas de Sucesso ou Fracasso do Tibia?
@je19921992 não, tem vários jogos com gráficos ruins o gráfico de league of legegends nem é assim tão bom..., é meio que uma falacia falar que tibia tem mais variedade de jogo que esses jogos "League of Legends, Heroes of Warcraft, World of Warcraft, e muitos outros que não chegam sequer perto das variedades de jogo que o Tibia oferece", primeiro qual variedade?, server 999x ou escolher entre matar um orc ou dwarf no global isso é variedade?, variedade é um mapa no path of exile com dezenas de variáveis tornando quase impossível um mapa igual, comparar variedade de MMO com MOBA é outra grande falacia, já que são jogos com propósitos diferente, word of warcraft, já se reinventou diversas vezes para se adequar ao publico, e continuam fazendo isso com expansões de tempo em tempo. tibia tem updates mas nunca mudou os problemas do jogo só colocaram coisas pra acalmar os players e obterem lucro, como montarias(premium), cidades(premium), servidores(premium), o jogo ta com bot, vamos colocoar treinamento offline pra pararem de usar bot..., isso não arruma o problema, só mascara ele, isso só mostra que o sistema do tibia de skill e level sem cap é totalmente obsoleto que a unica maneira de manter players sem bot é criar algo que faz oque o bot faz no próprio jogo. obs:. o sistema de treino offline advinha é pra premium..., tibia tem um gameplay tão monotono que a melhor colocação da gameplay é para suprir os fãs de pokemon do gba de turno pra tibia, agora se a variedade que você diz é possibilidade criação de otservers diversos, bom isso ate rpgmaker permite. Edit: acabei de pensar se acabou de falar que world of warcraft tem menos variedade que tibia, faz sentido deve ser por isso que ele é uma franquia de 3 jogos distintos com gameplays diferentes deve faltar variedade(hearthstone, warcraft e world of warcraft), lembrando que dota era mod de warcraft, um filme e lores gigantescas, em quanto isso no tibia foi gerado baiak 999x KKKKKKKKKKK
-
Quais são as Perspectivas de Sucesso ou Fracasso do Tibia?
Tibia já morreu faz um tempo, e a perspectivaria não é de melhora..., hoje em dia as pessoas querem jogos rápidos e dinâmicos, estamos no inicio da era dos jogos mobile, e eu tenho certeza que logo todas industria de jogos vai estar voltando pra mobile. oque eu quero dizer com isso é que qualquer jogo que a demanda de tempo é alta para ter um personagem forte, independente de quantos X de Exp os jogadores mais fortes são oque investem mais tempo jogando ou com bots, o modelo de mmo rpg do tibia é obsoleto, mmo rpg sem CAP de level é difícil de se balancear oque torna o PVP menos interessante, torna o uso de bots quase um requisito para ter um personagem forte sem se internar no jogo, e prende a gameplay em ficar caçando a criatura que da mais EXP sempre repetidamente(grindar). Eu acredito que os gráficos do Tibia não são o problema tem muita gente que gosta de jogos 2D, como eu..., no meu ponto de vista para Tibia voltar a crescer, algum pontos fundamentais devem ser revistos, entre eles Cap de level, uma arvore de talentos, um end game melhor e acho que o mais importante seria distribuir o jogo pela steam(eu sei que pra otserv é impossível mas acho que a desenvolvedora do Tibia(CipSoft) poderia fazer isso com o global mesmo), alem de ter divulgação na lista da steam permitir a compra de P.A com saldo steam. Obs:. vou deixar aqui um modelo, eu sei que não é um MMORPG, e sim um ARPG. mas path of exile é muito bom, cap de level 100, uma arvore de talento glamourosa, um end game muito bom, e rotação de season a cada 3 meses fazendo o jogo sempre ter um ar de novo, e o mercado do jogo é muito bom também o melhor sistema de mercado que eu já vi, gostaria de ver um MMO com as mesmas qualidades mas acho dificil.
-
[Pedido] queria um script em lua, pra fazer o char virar de frente para o monstro
function onAttack(cid, target) doCreatureSetLookDirection(cid, getDirectionTo(getCreaturePosition(cid), getCreaturePosition(target))) return true end toda vez que o personagem for atacar ele vai virar na direção do monstro baseado na posição.
-
Renomear o Summon
o cliente tem uma limitação, se a criatura já apareceu em sua tela ela não troca o nome, você tem que summonar ela longe do player, e depois teleportar ela para perto do player.
-
[PXG based]Sistema de LockPick Ot-client
a um tempo atras criei um tópico sobre meu lockpick baseado na PXG no inicio do desenvolvimento, agora acho que esta pronto vou deixar aqui o resultado.
-
Melhor Versão de OT em 2018
@faelzn69 em nenhum momento falei que cryptografia era 100% segura a questão é o cara vai fazer engenharia reversa no seu cliente pra usar bot? se consegue se imaginar fazendo isso?, volta ao ponto seu argumento que 8.60 é ruim para servidor de rpg por conta de bot ainda é sem fundamento.
-
Melhor Versão de OT em 2018
@faelzn69 discordo do seu ponto com o otcliente independente da versão você consegue lidar com bots criptografando seu cliente. então esse ponto de 8.60 não ser bom pra rpg por conta de bots só se você estiver planejando usar old-client ou não saber cryptografar o otcliente e colocar proteçoes.
-
Poké MOBA
não é querendo te desanimar mais acho pouco provável que algo do gênero funcione não um moba de pokemon e sim qualquer tipo de moba com base em otserv, ninguem joga moba sem ser pra melhorar, e a skill play de tibia é super limitada. você pode fazer 500 magias diferentes mas na real não tem muito oque mudar a game play vai ser a mesma, movimentação limitada, visão limitada e etc..., mas boa sorte ai.
-
Até o que seu dinheiro paga?
Bom eu comecei a "brincar" com OT-servers aproximadamente (04-11-2008), tirei a data de registro de outro fórum relacionado, era muito diferente em diversas questões na comunidade, com novos sistemas/scripts sendo desenvolvidos quase diariamente por ótimos programadores, aulas completas de programão, e pouco se falava sobre venda/compra de scripts a comunidade meio que se ajudava no geral, outra coisa é que eu percebia é uma vontade muito grande de aprender na comunidade. sem acomodação já que existia pouca coisa pronta então o minimo era aprender um pouco de programação, maping e etc..., eu mesmo entrei leigo e agora me considero um bom programador. tive ajuda de alguns dos melhores programadores na minha opinião do mundo do otserv, (mock, skyen hasus, conde2, entre outros não menos importantes mais que não me recordo). hoje a comunidade virou acomodada, é só por exemplo você ver as bases de poketibia que ate hoje são feitas com um monte de gambiarra. então em uma comunidade com pouca vontade de aprender é logico que o mercado vai se sobre sair, já que é muito mais fácil você pagar pra alguém fazer algo que aprender a fazer o mesmo, oque não é errado também, mas eu ainda gostaria de ver a comunidade com fome de conhecimento, quando eu posto algo (showoff), eu só vejo pessoas falando "podia liberar pra comunidade", mas não tenho mais a minima vontade de contribuir pra comunidade preguiçosa que não quer aprender, só sugar como parasitas.
-
[SQL] problema com query
@Dragon Ball Hiper então man a tabela existe já, oque eu to tentando fazer é adicionar um novo atributo e ela chamado attr esse erro que tava no post eu descobri o problema era que o caracter | é reservado no query, então troquei o caracter para º e o erro mudou para: [11/03/2018 03:51:41] OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: no such column: blockchance_0º (INSERT INTO "market_offers" ("player_id", "sale", "itemtype", "amount", "price", "created", "anonymous", "attrs") VALUES (10, 1, 2471, 1, 1000, 1520740301, 0, blockchance_0º);) falando que não existe a coluna blockchance_0º o problema é que isso não é uma coluna e sim um valor para a coluna attr como da pra ver nessa query "INSERT INTO `market_offers` (`player_id`, `sale`, `itemtype`, `amount`, `price`, `created`, `anonymous`, `attrs`) VALUES (" << playerId << ", " << action << ", " << itemId << ", " << amount << ", " << price << ", " << time(NULL) << ", " << anonymous << ", " << attrss << ");"
-
[SQL] problema com query
alguém sabe me dizer porque essa query esta dando erro? a celula (attrs) é uma varchar(255), eu olhei e olhei e a syntax parece certa... "INSERT INTO `market_offers` (`player_id`, `sale`, `itemtype`, `amount`, `price`, `created`, `anonymous`, `attrs`) VALUES (" << playerId << ", " << action << ", " << itemId << ", " << amount << ", " << price << ", " << time(NULL) << ", " << anonymous << ", " << attrs << ");"; erro que retorna [11/03/2018 02:26:19] OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: near ")": syntax error (INSERT INTO "market_offers" ("player_id", "sale", "itemtype", "amount", "price", "created", "anonymous", "attrs") VALUES (10, 1, 2463, 1, 1000, 1520735179, 0, extraarmor_66|maxmanapoints_405|skilldist_2|skilldist_2|);)