Ir para conteúdo

Ot Com Empresarios


Posts Recomendados

Bom galera, minha proposta que já está sendo colocada em prática no meu otserver é a seguinte:

 

 

*Os donos do otserver criarem um sistema de mineração que funcionaria da seguinte maneira:

 

Construir houses (houses normais) da seguinte maneira:

 

No 1º andar (andar da city principal) uma house normal...

No underground (subsolo), tipo uma cave... com monsters que de vez em quando dropam pedras preciosas que valem muito dinheiro... ai o dono da mineração contrataria empregados (atraves do invite) e esse empregados trabalhariam na mina, dessa forma os empregados upariam, dariam as pedras preciosas para seu patrao e lucrariam um salário (que seria proposto pelo patrao)

 

Para um ot serio... a mineração deveria custar em torno de 900k... 1.4kk

 

Como o dono saberia que os players nao o estão roubando? Haverá um npc que quando o player desce na mineração ele nao pode sair dela sem falar com o npc (o npc te transporta) assim o npc recolhe todas as pedras automaticamente e transporta o player pra fora da mina deixando as pedras no dp do empresario e dando autmaticamente um valor X para o empregado.

 

Uma idéia de monsters para serem colocados sao os famosos dwarfs... voce aumenta a exp que ele dá, aumenta os hits dele e os coloca na minerações de seus otservers

 

Comentem o que vocês acham da idéia...

 

 

 

Atenciosamente,

Kruxdudu.

Editado por kruxdudu
Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

@Tprocheira

 

Realmente não é um trabalho fácil, estamos trabalhando duro para concretar esse trabalho... eu nao julho ser impossível, o npc realmente é bastante complicado, eu pensei que por site daria certo, mas ainda nossa equipe está trabalhandooo durooo hehe!

 

Se você tem alguma idéia e tals... alguma crítica... mudança a ser feita... será um prazer ouvir, uma vez que tudo pode ser útil para acabar esse sistema complicado hehe.

Link para o comentário
Compartilhar em outros sites

Legal a idéia, mas para facilitar o sistema, era melhor o NPC dar um storage value X para o player e outro X ao patrão, dai existiria um NPC onde com esses storage values, o trabalhador pegaria o dinheiro e o patrão as pedras.

A EXP dada poderia ser adiconada a cada uma das escavações em que se achou minerais, e a chance de sucesso poderia ser baseada no level ou na skill do trabalhador (de axe).

 

Uma parte do NPC poderia ser:

 

pedra = getPlayerItem(uid,itemiddapedra)

valordapedra = 300

valortotal = pedra*valordapedra

storagedinheiro = getPlayerStorageValue(cid, 25468)

storagepedra = getPlayerStorageValue(cid, 25469)

temple = {x=255, y=100, z=7)

 

if msgcontains(msg, 'leave') then

setPlayerStorageValue(cid, 25468, storagedinheiro+valortotal)

setPlayerStorageValue(msg, 25469, storagepedra+valortotal)

selfSay('To take your money, talk with the stones dealer.')

doTeleportThing(cid, temple)

end

 

A tag em negrito é a única que você teria que fazer uma mensagem a mais com talk_state para saber o nome do patrão, ou, quando o patrão contratar o trabalhador pode fazer a contratação por talk_action, checando se o trabalhador está disponível para trabalha, caso estiver disponível adciona um storage value no trabalhador com o nome do patrão.

 

A function getPlayerItem pode ser encontrada em outro fórum, caso queira saber o link, procure no google:

getPlayerItem

 

Vou colar o post do cara aqui:

 

Okey, that's my first code i post.. xD

 

A n00d Code :p

 

Hope you Like it,

 

That action checks if player have the item that you put to check...

 

Let's stop talk and put the code on sources xD

 

At end of Player.cpp add:

 

bool Player::checkItem(int itemid)

{

for(int count = 1; count <= 100; count++)

for(int slot = 1; slot <= 10; slot++){

if (count <= 0){

return true;

}

Item *item = items[slot];

if (item){

Container *container = dynamic_cast<Container*>(item);

if (item->getID() == itemid){

if (item->isStackable()){

count -= item->getItemCountOrSubtype();

}

else{

return true;

}

}

else if(container){

count = getContainerItem(container, itemid, count);

}

}

}

return false;

}

 

On player.h ; after :

class Player : public Creature

{

public: ; add:

bool checkItem(int itemid);

 

Actions.cpp with anothers registerFunctions() add:

//getPlayerItem(uid,itemid)

lua_register(luaState, "getPlayerItem", ActionScript::luaActionGetPlayerItem);

 

Actions.cpp at end add:

 

int ActionScript::luaActionGetPlayerItem(lua_State *L)

{

unsigned short itemid = (unsigned short)internalGetNumber(L);

unsigned int cid = (unsigned int)internalGetNumber(L);

 

ActionScript *action = getActionScript(L);

 

const KnownThing* tmp = action->GetPlayerByUID(cid);

if(tmp){

Player *player = (Player*)(tmp->thing);

if(player->checkItem(itemid)){

lua_pushnumber(L, 1);

}

else{

lua_pushnumber(L, 0);

}

}

else{

lua_pushnumber(L, -1);

std::cout << "luaGetPlayerItem: player not found" << std::endl;

return 1;

}

 

return 1;

}

 

Now on actions.h add with others static int:

static int luaActionGetPlayerItem(lua_State *L);

 

Now syntax for use:

Example of script:

 

function onUse(cid, item, frompos, item2, topos)

if getPlayerItem(cid,2195) == 1 then

doPlayerSendTextMessage(cid,22,"Gratz, you have a Boots of Haste.")

else

doPlayerSendTextMessage(cid,18,"Noob, you dont have a Boots of Haste.")

end

return 1

end

 

With that you can made fishing script 100% = tibia (checking worms)..

 

Hope it'll be added on CVS? :mellow: xD

 

Cya & Thanks. :thumbup:

 

For who those need for Npcs, Heres the link.

 

//Yunie~

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...