

soulblaster
Cavaleiro-
Total de itens
196 -
Registro em
-
Última visita
Tudo que soulblaster postou
-
[7.9 Xml/sql] Funçao De Bank
tópico respondeu ao soulblaster de soulblaster em Linguagens de Programação
Hiho! @lordfire pra se faser no evolutions é a mesma coisa '' bom, vou tentar te ajudar entao ^^ seu problema esta na parte do luascript né? se no evolutions num tem: lua_register(m_luaState, "getPlayerPremiumDays", LuaScriptInterface::luaGetPlayerPremiumDays); entao adicione o code: //doPlayerDeposit(cid, cash) lua_register(m_luaState, "doPlayerDeposit", LuaScriptInterface::luaDoPlayerDeposit); //doPlayerWithdraw(cid, cash) lua_register(m_luaState, "doPlayerWithdraw", LuaScriptInterface::luaDoPlayerWithdraw); //getPlayerBalance(cid) lua_register(m_luaState, "getPlayerBalance", LuaScriptInterface::luaGetPlayerBalance); //doPlayerDepositTrans(name, cash) lua_register(m_luaState, "doPlayerDepositTrans", LuaScriptInterface::luaDoPlayerDepositTrans); embaixo de: lua_register(m_luaState, "getPlayerFood", LuaScriptInterface::luaGetPlayerFood); =P qualquer outra duvida desse topico, PM me =] cya... :hi: -
@skynagerloas opa, se vc puder postar o npc inteiro, eu posso dar uma olhada e ver oq esta errado =] qualquer coisa tambme, manda Pm pra min =] @all vlw pelos elogios novamente ^^ cya... :hi:
-
KAOEKaoea ^^ Hail! n tava intendendo nada, + agora intendi ;] Vlwws Hail quest log ;] cya... :hi:
-
Hiho! ' isso ai foi a primeira action? nossa, minha primeira action foi bem pior q isso koakoekOAe =P pra primeira vc ja conseguiu bastante coisa ^^ continue assim ^^ cya... :hi:
-
Opa vlw pelos elogios ;D vou tentar tirar esse 'weight' da funçao, se conseguir, depois posto pra vcs ^^ cya... :hi:
-
[7.9 Xml/sql] Funçao De Bank
tópico respondeu ao soulblaster de soulblaster em Linguagens de Programação
Hiho! @all vlw pelos elogios ^^ é bom saber q estou ajudando ;] @Lordfire num intendi, oq vc quer dizer? =X cya... :hi: -
uau só vc mesmo em? ^^ vc ta muuuuuuuito por dentro de todos os update x] eu nunca imaginei essas bag XD so iria descobrir daki 1 mes + - ^^ gostei ;D cya... :hi:
-
Segunda E Maior Ilha De Gelo Revenger!
tópico respondeu ao Conde do Monte Cristo de soulblaster em Lixeira Pública
Hiho! posta foto pelo mapEditor ^^' assim num da pra ver detalhes... minha opiniao? parabems =p tpo, num sei pra q faser uma ilha de gelo tao grande... nem as 3 juntas do tibia rl é assim =0 + ta de parabens! cya... :hi: -
Hiho! hoje eu estou aqui pra mostrar uma funçao que eu fiz hoje ^^ [testado em Forgotten Otserver] data\npc\scripts\lib\npc.lua adicione: function buyCont(cid, backpack, itemid, times, amount, money,weight) if getPlayerFreeCap(cid) >= weight then if doPlayerRemoveMoney(cid, money) == 1 then bp = doPlayerAddItem(cid, backpack, 1) for x = 1,amount do doAddContainerItem(bp, itemid, times) end selfSay("Here you are.") else selfSay("Sorry, you don't have enough money.") end else selfSay("Sorry, you don't have enough cap.") end end e depois, no NPC, adicione: elseif msgcontains(msg, 'backpack of sd') and focus == cid then selfSay('Do you want buy a backpack of sudden death rune for 6500 gold pieces?') talk_state = 1 elseif msgcontains(msg, 'yes') and talk_state == 1 then buyCont(cid,2003,2268,1,20,6500,42.00) talk_state = 0 elseif msgcontains(msg, 'no') and talk_state == 1 then selfSay('Maybe another time.') talk_state = 0 end como funciona? buyCont(cid,2003,2268,1,20,6500,42.00) cid, backpack/bag, itemid, count/type, times, cost, weight como configuro o peso? bom, para num dar erro nos precisamos configurar o peso dos items. exemplo backpack = 18.00 20 runas (pesando 1.2 cada) = 24.00 Total = 42.00 ela vai adicionar uma backpack(2003) com 20 Sds(2268) de 1x por 6500Gps Creditos: Soulblaster Comentem, mesmo sendo bom, ruim, duvidas, etc... + comentem ;D Bom uso ^^ cya... :hi:
-
kOAKeokeoa ^^ Hiho! Muuito bem explicado, dessa vez vc se superou! ;D gostei bastaaaaaaaaaante do tutorial, + eu ja sabia tudo =P vai ajudar bastante gente ;] ^^ cya... :hi:
-
Opa, bastante bom ;D gostei ^^ otra action boa feita pelo tibiaa4e ;D cya... :hi:
-
[7.9 Xml/sql] Funçao De Bank
tópico respondeu ao soulblaster de soulblaster em Linguagens de Programação
Hiho! Oba x] vlw zorzin vou faser isso e ja edito no topico =D cya... :hi: -
[7.9 Xml/sql] Funçao De Bank
tópico respondeu ao soulblaster de soulblaster em Linguagens de Programação
Hiho! opa, é sempre bom ajudar as pessoas =] vlw pelo comment ;] cya... :hi: -
Hiho! primeiramente, os devidos creditos de quem criou esse funçao: Creditos a: rob101 do otfans. (por faser toda funçao) Zorzin do xtibia. (pra faser funcionar tambem em xml) eu só estou aqui para mostrar para vcs mesmo =] Funçoes: deposit, withdraw, balance, transfer e pagamento das houses pelo bank Testado em: Forgotten Otserver SQL notas: -o que tiver *** é a parte que o zorzin fez -se você usa server SQL, siga nos titulos (para xml e sql) ou (para sql) -se você usa server XML, siga nos titulos (para xml e sql) ou (para xml) começando: luascript.cpp (para xml e sql) depois de: lua_register(m_luaState, "getPlayerPremiumDays", LuaScriptInterface::luaGetPlayerPremiumDays); adicione: //doPlayerDeposit(cid, cash) lua_register(m_luaState, "doPlayerDeposit", LuaScriptInterface::luaDoPlayerDeposit); //doPlayerWithdraw(cid, cash) lua_register(m_luaState, "doPlayerWithdraw", LuaScriptInterface::luaDoPlayerWithdraw); //getPlayerBalance(cid) lua_register(m_luaState, "getPlayerBalance", LuaScriptInterface::luaGetPlayerBalance); //doPlayerDepositTrans(name, cash) lua_register(m_luaState, "doPlayerDepositTrans", LuaScriptInterface::luaDoPlayerDepositTrans); depois de: case PlayerInfoPremDays: value = player->premDays; break; adicione: case PlayerInfoBank: value = player->bank; break; depois de: int LuaScriptInterface::luaGetPlayerPremiumDays(lua_State *L){ return internalGetPlayerInfo(L,PlayerInfoPremDays);} adicione: int LuaScriptInterface::luaGetPlayerBalance(lua_State *L){ return internalGetPlayerInfo(L,PlayerInfoBank);} no final, adicione: int LuaScriptInterface::luaDoPlayerDeposit(lua_State *L) { //doPlayerDeposit(cid, cash) int64_t cash = (int64_t)popNumber(L); uint32_t cid = popNumber(L); ScriptEnviroment* env = getScriptEnv(); Player* player = env->getPlayerByUID(cid); if(player){ player->bank += cash; lua_pushnumber(L, LUA_TRUE); } else{ lua_pushnumber(L, LUA_ERROR); } return 1; } int LuaScriptInterface::luaDoPlayerWithdraw(lua_State *L) { //doPlayerWithdraw(cid, cash) int64_t cash = (int64_t)popNumber(L); uint32_t cid = popNumber(L); ScriptEnviroment* env = getScriptEnv(); Player* player = env->getPlayerByUID(cid); if(player){ player->bank -= cash; lua_pushnumber(L, LUA_TRUE); } else{ lua_pushnumber(L, LUA_ERROR); } return 1; } int LuaScriptInterface::luaDoPlayerDepositTrans(lua_State *L) { //doPlayerDepositTrans(name, cash) int64_t cash = (int64_t)popNumber(L); std::string name = popString(L); unsigned long guid; if(!IOPlayer::instance()->getGuidByName(guid, name)){ lua_pushnumber(L, LUA_ERROR); } if(Player* player = g_game.getPlayerByName(name)){ player->bank += cash; lua_pushnumber(L, LUA_TRUE); } else if(IOPlayer::instance()->playerExists(name)){ Player* player = new Player(name, NULL); if(!IOPlayer::instance()->loadPlayer(player, name)){ delete player; lua_pushnumber(L, LUA_ERROR); } player->bank += cash; IOPlayer::instance()->savePlayer(player); delete player; lua_pushnumber(L, LUA_TRUE); } return 1; } luascript.h (para xml e sql) depois de: PlayerInfoPremDays, adicione: PlayerInfoBank, depois de: static int internalGetPlayerInfo(lua_State *L, PlayerInfo_t info); adicione: static int luaDoPlayerDeposit(lua_State *L); static int luaDoPlayerWithdraw(lua_State *L); static int luaGetPlayerBalance(lua_State *L); static int luaDoPlayerDepositTrans(lua_State *L); ioplayersql.cpp (para sql) depois de: player->soul = result.getDataInt("soul"); adicione: player->bank = result.getDataLong("bank"); depois de: query << "`soul` = " << player->soul << ", "; adicione: query << "`bank` = " << player->bank << ", "; ioplayerxml.cpp (para xml)*** depois de: if(readXMLInteger(root, "soul", intValue)){ player->soul = intValue; } adicione: if(readXMLInteger(root, "bank", intValue)){ player->bank = intValue; } else player->bank = 0; depois de: sb.str(""); sb << player->soul; xmlSetProp(root, (const xmlChar*)"soul", (const xmlChar*)sb.str().c_str()); adicione: sb.str(""); sb << player->bank; xmlSetProp(root, (const xmlChar*)"bank", (const xmlChar*)sb.str().c_str()); player.cpp (para xml e sql) depois de: soul = 0; adicione: bank = 0; player.h (para xml e sql) depois de: int32_t soul, soulMax; adicone: int64_t bank; game.cpp (para xml e sql) no final, adicione: bool Game::bankWithdraw(Player* player, int64_t money, uint32_t flags) { if(player){ if (player->bank >= money) { player->bank -= money; return true; } else { return false; } } else{ return false; } } game.h (para xml e sql) depois de: void changeSkull(Player* player, Skulls_t newSkull); adicione: bool bankWithdraw(Player* player, int64_t money, uint32_t flags); house.cpp (para xml e sql) troque isso: if(g_game.removeMoney(depot, house->getRent(), FLAG_NOLIMIT)){ por isso: //if(g_game.removeMoney(depot, house->getRent(), FLAG_NOLIMIT)){ if(g_game.bankWithdraw(player, house->getRent(), FLAG_NOLIMIT)){ troque isso: player->sendTextMessage(MSG_INFO_DESCR, "You have successfully bought this house, be sure to have the money for the rent in your depot of this city."); por isso: //player->sendTextMessage(MSG_INFO_DESCR, "You have successfully bought this house, be sure to have the money for the rent in your depot of this city."); player->sendTextMessage(MSG_INFO_DESCR, "You have successfully bought this house, be sure to have the money for the rent in your bank account."); database do sql (para sql) ALTER TABLE `players` ADD `bank` INT( 64 ) NOT NULL DEFAULT '0' AFTER `soul` ; examplo de NPC (baseado no NPC Banker do Colex) é isso, espero que aproveite! lembrando que eu NAO fiz essa função, foi o rob101 do otfans. cya... :hi:
-
[7.9] Buy/sell System 100% Igual Do Tibia Rl
tópico respondeu ao Zorzin de soulblaster em Linguagens de Programação
OMG!!! oO' nunca vi um code desses tao grandeee e muuuito funcional ;DDDD cara, amei, amei, amei, amei esse code ^^ muuuito bom mesmo x] continue assim ;D Mto bom ^^ cya... :hi: -
Hiho! topic, eu concordo com o Tibiaa4e, o cara iria ficar summon here = loko x] + eu falo mais... pra primeira action esta exelente x] minha primeira action... hmmm, num me lembro direito + foi parecida com essa ai =] cya... :hi:
-
Hiho! cara, sinseramente, dessa vez eu num gostei num =X 1-as casas com esse musgo n gostei muito 2-a 4° foto ficou estranha... bom num sei =] tirando isso, o resto deve estar bastante bom ^^ + a primeira parte q mostrava o vulcoa e as montanhas tava muuito mais legal x] cya... :hi:
-
Hiho! + um code pro novo update =P booom ^^ + num intendi uma coisa... pra q + que ele serve alem de deixar vc invisivel e perder 11 de shield? OO' eu li em algum lugar q é pra passar em um pedaço da POI quest... n sei c é verdade =P cya... :hi:
-
Hiho! =O omG... sabia que vc tinha testado alguns furniture... + num sabia que era todos OO' kina top em refugia? opa manda o nome dele, eu jogo lá ^^ muuutio bom =] cya... :hi:
-
Hiho" Opa =] Interessante essa action ^^ Pits Of Inferno é mto estranha Oo' (tem uns lugar mto nada a ver, como Playground, MacDemons (mcdonals?), hit the humans (tpo quele jogo de acerte as marmotas XD), etc) Pelo jeito vc ta por dentro do Update em? ;] cya... :hi: obs- o ID 6558 aki é uma black sheep =X
-
Hiho" BOAAA frerety ;] voltando a ativa em? ^^ bom tutorial, gostei x] espero que continue demonstrando seus talentos aki ;] aaah, seria bom vc dar uns exemplos utilizando isso: ^^ tem que ficar perto de uma certa posiçao para se falar =] ah mais uma coisa: moderadores, FIXEM esse topico, esta muito bem explicado e ajudara muitas pessoas ^^ cya... :hi:
-
Hiho! cara, (num leve a mal) num gostei... acho q existe no tibia real, + num tem a msg verde e nao é um peixe de comida XD e sim um peixinhu (pequeno) ID: 5554 cya... ^^'
-
Hiho! wow! bom trabalho ^^ continue assim ;D (vou add no meu server, com certeza ^^) cya...
-
Hiho! @Baetao tenho que concordar com _Alef_ tente criar um novo mapa, sei lá... yourOts foi um bom mapa, mas isso ja faz tempo ;D achu q o YourOts num faz meu estilo de mapa... ^^' cya...
-
o.o' estranho Oo' mas, q versao vc usa? e, com qual versao de lua seu server foi compilado? Oo' pq eu uso evolutions 0.7.2 ultima versao do lua vou verificar se da erro em outra versao e ja te aviso ;] cya... --------------------------------edited------------------------------------------ colex, funcionou nas versoes inferiores a 7.9 eu acho que é por causa da versao do LUA que o server foi compilado (como vc disse), mas, onde consigo a ultima versao do LUA que venha com as funçoes como: io.open/close/etc, e que funcione para server 79? cya...
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.