avklbacterias 4 Posted April 12, 2019 boa noite! tem como puxar um item com o bonus que voce quer nele ? ou so tem como faazer isso pelo o navecat? Share this post Link to post Share on other sites
0 webnull 32 Posted April 12, 2019 Boa noite, Directamente por o jogo não. Só por PHP ou Navicat mesmo. Share this post Link to post Share on other sites
0 Karbust 1,143 Posted April 12, 2019 Dá diretamente no jogo com um comando gm tipo este: Adicionar no cmd_gm.cpp: #include <iostream> #include <vector> #include <string> void split(const std::string& s, char delim, std::vector<std::string>& v) { int i = 0; int pos = s.find(delim); while (pos != std::string::npos) { v.push_back(s.substr(i, pos-i)); i = ++pos; pos = s.find(delim, pos); if (pos == std::string::npos) v.push_back(s.substr(i, s.length())); } } int countChars(char* s, char c) { return *s == '\0' ? 0 : countChars( s + 1, c ) + (*s == c); } ACMD(do_create_item) { char item[256]; char bonus[1024]; two_arguments(argument, item, sizeof(item), bonus, sizeof(bonus)); if (!*item || !*bonus) { ch->ChatPacket(CHAT_TYPE_INFO, "Usage: /create_item <value_item> <b1:v1,b2:v2,b3:v3,b4:v4,b5:v5,b6:v6,b7:v7>"); ch->ChatPacket(CHAT_TYPE_INFO, ""); ch->ChatPacket(CHAT_TYPE_INFO, "[b] = Bonus vnum"); ch->ChatPacket(CHAT_TYPE_INFO, "[v] = Bonus value"); ch->ChatPacket(CHAT_TYPE_INFO, ""); ch->ChatPacket(CHAT_TYPE_INFO, "Created by RaFFa."); return; } if (bonus[(strlen(bonus)-1)] == ',') { ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> [Err1] Syntax Error."); return; } if (bonus[(strlen(bonus)-1)] == ':') { ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> [Err2] Syntax Error."); return; } if (strstr(bonus, ":") == NULL) { ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> [Err3] Syntax Error."); return; } if (strstr(bonus, ",") == NULL) { ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> Adding 1 bonus..."); int vnum=0; str_to_number(vnum, item); LPITEM i = ITEM_MANAGER::instance().CreateItem(vnum); if (!i) { ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> This item-vnum not exists."); return; } int bonus_vnum=0; int bonus_value=0; std::vector<std::string> bonus2; split(std::string(bonus), ':', bonus2); str_to_number(bonus_vnum, std::string(bonus2[0]).c_str()); str_to_number(bonus_value, std::string(bonus2[1]).c_str()); i->SetForceAttribute(0, bonus_vnum, bonus_value); i->SetSocket(0, 1); int inventario = ch->GetEmptyInventory(i->GetSize()); if (inventario != -1) { i->AddToCharacter(ch, TItemPos(INVENTORY, inventario)); ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> Item created successfully."); }else{ M2_DESTROY_ITEM(i); ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> You haven't enough space in inventory."); } }else{ std::vector<std::string> bonus1; split(std::string(bonus), ',', bonus1); if (bonus1.size()>0) { ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> Adding %d bonus...", (int)bonus1.size()); if (countChars(bonus, ':') != (int)bonus1.size()) { ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> [Err4] Syntax Error."); return; } int vnum=0; str_to_number(vnum, item); LPITEM i = ITEM_MANAGER::instance().CreateItem(vnum); if (!i) { ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> This item-vnum not exists."); return; } int b_size=bonus1.size(); if (bonus1.size()>6) b_size=7; int bonus_vnum=0; int bonus_value=0; for (int n=0; n<b_size; n++) { std::vector<std::string> bonus2; split(std::string(bonus1[n]), ':', bonus2); str_to_number(bonus_vnum, std::string(bonus2[0]).c_str()); str_to_number(bonus_value, std::string(bonus2[1]).c_str()); i->SetForceAttribute(n, bonus_vnum, bonus_value); } i->SetSocket(0, 1); int inventario = ch->GetEmptyInventory(i->GetSize()); if (inventario != -1) { i->AddToCharacter(ch, TItemPos(INVENTORY, inventario)); ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> Item created successfully!"); }else{ M2_DESTROY_ITEM(i); ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> You haven't enough space in inventory."); } } } } Share this post Link to post Share on other sites
0 Dynamic Things 965 Posted April 12, 2019 Respondendo a tua pergunta, sim é possível, podes fazer isso de varias maneiras, por comando gm como o exemplo acima, através de uma pagina web e ainda deixo uma outra sugestão que é fazer isso por quest, solução simples. 2 kami4001 and .ukitobi reacted to this Share this post Link to post Share on other sites
0 HakunaMatata 3 Posted April 19, 2019 Em 12/04/2019 em 03:39, avklbacterias disse: boa noite! tem como puxar um item com o bonus que voce quer nele ? ou so tem como faazer isso pelo o navecat? Precisas de ajuda com o servidor? Share this post Link to post Share on other sites
boa noite!
tem como puxar um item com o bonus que voce quer nele ?
ou so tem como faazer isso pelo o navecat?
Share this post
Link to post
Share on other sites