void WorldSession::HandleAreaTriggerOpcode(WorldPacket & recv_data) { uint32 id; std::stringstream ss; WorldPacket data; recv_data >> id; ss << "SELECT name,mapid,coord_x,coord_y,coord_z,totrigger FROM areatriggers WHERE id = " << id ; printf("QUERY (%s) ",ss.str().c_str()); QueryResult *result = sDatabase.Query( ss.str().c_str() ); Field *fields = result->Fetch(); const char *tmp = fields[0].GetString(); printf("\nD: %u = %s\n",id,fields[0].GetString()); printf("\nD: %u = %u\n",id,fields[5].GetUInt32()); if(fields[5].GetUInt32()) { printf("\nTELEPORT\n"); } /*strcpy(area_tr.name, name_field.c_str()); area_tr.name[name_field.size()+1] = '\0'; /* printf("Id: %u = %s\n",id,Triggers[id].name); printf("Id: %u = %u\n",id,Triggers[id].totrigger); if(Triggers[id].totrigger) { GetPlayer()->SetDontMove(true); printf("Porting to %d - %f %f %f\n",Triggers[Triggers[id].totrigger].mapId,Triggers[Triggers[id].totrigger].pos.x , Triggers[Triggers[id].totrigger].pos.y , Triggers[Triggers[id].totrigger].pos.z); data.Initialize(SMSG_TRANSFER_PENDING); data << uint32(0); SendPacket(&data); GetPlayer()->RemoveFromMap(); data.Initialize(SMSG_NEW_WORLD); data << Triggers[Triggers[id].totrigger].mapId << Triggers[Triggers[id].totrigger].pos.x << Triggers[Triggers[id].totrigger].pos.y << Triggers[Triggers[id].totrigger].pos.z << (float)0.0f; SendPacket(&data); GetPlayer()->SetMapId(Triggers[Triggers[id].totrigger].mapId); GetPlayer()->SetPosition(Triggers[Triggers[id].totrigger].pos.x , Triggers[Triggers[id].totrigger].pos.y , Triggers[Triggers[id].totrigger].pos.z, 0); GetPlayer()->SetDontMove(false); }*/ }