Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
2.0 kB
3
Indexable
Never
void checkauto() {
    while (true) {
        Sleep(300);
        for (ENetPeer* currentPeer = server->peers; currentPeer < &server->peers[server->peerCount]; ++currentPeer) {
            if (currentPeer->state != ENET_PEER_STATE_CONNECTED or currentPeer->data == NULL or pInfo(currentPeer)->world == "" or pInfo(currentPeer)->world == "EXIT") continue;
            if (pInfo(currentPeer)->autofarm) {

                int block = pInfo(currentPeer)->selected;
                int c_ = 0;
                modify_inventory(currentPeer, block, c_);
                if (c_ < 1) pInfo(currentPeer)->autofarm = 0, pInfo(currentPeer)->selected = 0; // envanterde yoksa


                string name_ = pInfo(currentPeer)->world;
                vector<World>::iterator p = find_if(worlds.begin(), worlds.end(), [name_](const World& a) { return a.name == name_; });
                if (p != worlds.end()) {

                    int playerx = pInfo(currentPeer)->x / 32 + (pInfo(currentPeer)->state == 16 ? -1 : 1); // oyuncunun x değeri + 1
                    int playery = pInfo(currentPeer)->y / 32 + (pInfo(currentPeer)->y / 32 < pInfo(currentPeer)->y / 32 ? -1 : 1); // oyuncunun y değeri + 1
                    int location = x / 32 + (y / 32 * 100); // x ve y değerlerini toparla

                    World* world_ = &worlds[p - worlds.begin()];
                    WorldBlock* block_ = &world_->blocks[location]; // blok verilerini çek

                    if (block_->fg != 0) { // blok sıfır değilse yapılacak işlem
                        edit_tile(currentPeer, pInfo(currentPeer)->x / 32 + (pInfo(currentPeer)->state == 16 ? -1 : 1), pInfo(currentPeer)->y / 32, 18);
                    }
                    else { // blok sıfır ise yapılacak işlem
                        edit_tile(currentPeer, pInfo(currentPeer)->x / 32 + (pInfo(currentPeer)->state == 16 ? -1 : 1), pInfo(currentPeer)->y / 32, block);
                    }
                }
            }
        }
    }
}